Sha256: b60fcfce38709bf2d3f8d493c71a0af56e7bda98823a2e9978ed36a3c814772e
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
require 'json' # Job public methods get turned into Lambda functions. # # Jets::Job::Base < Jets::Lambda::Functions # Both Jets::Job::Base and Jets::Lambda::Functions have Dsl modules included. # So the Jets::Job::Dsl overrides some of the Jets::Lambda::Functions behavior. class Jets::Job autoload :S3EventHelper, "jets/job/s3_event_helper" class Base < Jets::Lambda::Functions include Dsl # non-DSL methods include S3EventHelper # Tracks bucket each time an s3_event is declared # Map of bucket_name => stack_name (nested part) cattr_accessor :s3_events # dont want this to be inheritable intentionally self.s3_events = {} class << self def process(event, context, meth) job = new(event, context, meth) job.send(meth) end def perform_now(meth, event={}, context={}) new(event, context, meth).send(meth) end def perform_later(meth, event={}, context={}) function_name = "#{self.to_s.underscore}-#{meth}" call = Jets::Commands::Call.new(function_name, JSON.dump(event), invocation_type: "Event") call.run end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jets-1.8.2 | lib/jets/job/base.rb |
jets-1.8.1 | lib/jets/job/base.rb |
jets-1.8.0 | lib/jets/job/base.rb |