Module: Smash::CloudPowers::Delegator
- Extended by:
- Auth
- Includes:
- AwsResources, Helper, Storage
- Included in:
- Smash::CloudPowers
- Defined in:
- lib/cloud_powers/delegator.rb
Instance Method Summary collapse
Methods included from Auth
Methods included from Storage
#search, #send_logs_to_s3, #source_task
Methods included from AwsResources
#ec2, #image, #kinesis, #region, #s3, #sqs
Methods included from Zenv
#env_vars, #file_tree_search, #i_vars, #project_root, #project_root=, #system_vars, #zfind
Methods included from Helper
#attr_map!, #called_from, #create_logger, #errors, #format_error_message, #log_file, #logger, #smart_retry, #task_path, #task_require_path, #to_camel, #to_i_var, #to_pascal, #to_ruby_file_name, #to_snake, #update_message_body, #valid_json?
Instance Method Details
#approved_task?(name = nil) ⇒ Boolean
33 34 35 36 |
# File 'lib/cloud_powers/delegator.rb', line 33 def approved_task?(name = nil) # TODO: improve this ['demo', 'testinz'].include? to_snake(name) end |
#build(id, msg) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/cloud_powers/delegator.rb', line 15 def build(id, msg) body = JSON.parse(msg.body) begin task = body.delete('task') if approved_task? task source_task(task) require_relative task_require_path(task) Smash.const_get(to_pascal(task)).new(id, msg) else Smash::Task.new(id, msg) # returns a default Task end rescue JSON::ParserError => e = [msg.body, (e)].join("\n") logger.info "Message in backlog is ill-formatted: #{message}" pipe_to(:status_stream) { sitrep(extraInfo: { message: }) } end end |