Class: LcpRuby::Dsl::JobBuilder
- Inherits:
-
Object
- Object
- LcpRuby::Dsl::JobBuilder
- Defined in:
- lib/lcp_ruby/dsl/job_builder.rb
Instance Method Summary collapse
- #handler(value) ⇒ Object
-
#initialize(name) ⇒ JobBuilder
constructor
A new instance of JobBuilder.
- #on_step_error(value) ⇒ Object
- #params(value) ⇒ Object
- #queue(value) ⇒ Object
- #retry_policy(retries: 3, interval: :exponential) ⇒ Object
- #schedule(value) ⇒ Object
- #step(config) ⇒ Object
- #timeout(value) ⇒ Object
- #to_hash ⇒ Object
- #trigger(config) ⇒ Object
- #unique_by(*keys) ⇒ Object
Constructor Details
#initialize(name) ⇒ JobBuilder
Returns a new instance of JobBuilder.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 4 def initialize(name) @name = name.to_s @handler_value = nil @queue_value = nil @retry_count_value = nil @retry_interval_value = nil @timeout_value = nil @unique_by_value = nil @schedule_value = nil @steps_value = [] @on_step_error_value = nil @triggers_value = [] @params_value = {} end |
Instance Method Details
#handler(value) ⇒ Object
19 20 21 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 19 def handler(value) @handler_value = value end |
#on_step_error(value) ⇒ Object
49 50 51 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 49 def on_step_error(value) @on_step_error_value = value.to_s end |
#params(value) ⇒ Object
58 59 60 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 58 def params(value) @params_value = value.transform_keys(&:to_s) end |
#queue(value) ⇒ Object
23 24 25 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 23 def queue(value) @queue_value = value.to_s end |
#retry_policy(retries: 3, interval: :exponential) ⇒ Object
27 28 29 30 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 27 def retry_policy(retries: 3, interval: :exponential) @retry_count_value = retries @retry_interval_value = interval.to_s end |
#schedule(value) ⇒ Object
40 41 42 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 40 def schedule(value) @schedule_value = value.to_s end |
#step(config) ⇒ Object
44 45 46 47 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 44 def step(config) config = config.transform_keys(&:to_s) if config.is_a?(Hash) @steps_value << config end |
#timeout(value) ⇒ Object
32 33 34 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 32 def timeout(value) @timeout_value = value.to_i end |
#to_hash ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 62 def to_hash hash = { "name" => @name } hash["handler"] = normalize_handler_value if @handler_value hash["queue"] = @queue_value if @queue_value hash["retry"] = @retry_count_value if @retry_count_value hash["retry_interval"] = @retry_interval_value if @retry_interval_value hash["timeout"] = @timeout_value if @timeout_value hash["unique_by"] = @unique_by_value if @unique_by_value hash["schedule"] = @schedule_value if @schedule_value hash["steps"] = @steps_value unless @steps_value.empty? hash["on_step_error"] = @on_step_error_value if @on_step_error_value hash["triggers"] = @triggers_value unless @triggers_value.empty? hash["params"] = @params_value unless @params_value.empty? hash end |
#trigger(config) ⇒ Object
53 54 55 56 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 53 def trigger(config) config = config.transform_keys(&:to_s) if config.is_a?(Hash) @triggers_value << config end |
#unique_by(*keys) ⇒ Object
36 37 38 |
# File 'lib/lcp_ruby/dsl/job_builder.rb', line 36 def unique_by(*keys) @unique_by_value = keys.flatten.map(&:to_s) end |