Skip to content

Commit a176404

Browse files
committed
feat: Add Job.registered?
1 parent 2eec938 commit a176404

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

lib/kiba/extend/job.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ def output?(jobkey, mode: :warn_if_unregistered)
4747

4848
!(res.outrows == 0)
4949
end
50+
51+
# @param jobkey [Symbol] registry entry for job with namespace
52+
# @return [Boolean] without drama about registry errors.
53+
# @note Use this if you only care about whether a job has been registered,
54+
# not whether it has output
55+
def registered?(jobkey) = Kiba::Extend.registry.entry_objs
56+
.map { |eo| eo.key.to_sym }
57+
.include?(jobkey)
5058
end
5159
end
5260
end

spec/kiba/extend/job_spec.rb

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,32 @@
121121
end
122122
end
123123
end
124+
125+
describe ".registered?" do
126+
let(:result) { Kiba::Extend::Job.registered?(key) }
127+
128+
context "when key not registered" do
129+
let(:key) { :foo__bar }
130+
131+
it "returns false" do
132+
expect(result).to be false
133+
end
134+
end
135+
136+
context "when job file does not exist" do
137+
before(:each) do
138+
Kiba::Extend.config.registry = Kiba::Extend::Registry::FileRegistry
139+
prepare_registry
140+
end
141+
after(:each) { Kiba::Extend.reset_config }
142+
143+
context "when job output is 0 rows" do
144+
let(:key) { :noresultfile }
145+
146+
it "returns true" do
147+
expect(result).to be true
148+
end
149+
end
150+
end
151+
end
124152
end

0 commit comments

Comments
 (0)