Sha256: 3f86d8efd3fc31cdc358a18f50b619e74a71b8a8993619690156e1c3904f7a33

Contents?: true

Size: 567 Bytes

Versions: 4

Compression:

Stored size: 567 Bytes

Contents

module Jets::Shim::Adapter
  class Event < Base
    def handle
      target_class.handle(event, context, target_method)
    end

    def handle?
      target && target_class && target_method?
    end

    def target_class
      class_name, _ = target.split(".")
      class_name.camelize.constantize
    rescue NameError
    end

    def target_method
      _, method_name = target.split(".")
      method_name ||= "perform"
      method_name.to_sym
    end

    def target_method?
      target_class.public_instance_methods.include?(target_method)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/shim/adapter/event.rb
jets-6.0.4 lib/jets/shim/adapter/event.rb
jets-6.0.3 lib/jets/shim/adapter/event.rb
jets-6.0.2 lib/jets/shim/adapter/event.rb