Sha256: dd18ed5c2e28ad96cdb11695d2e22d1c9b81f0ea5eaec65140667e5340b7c822

Contents?: true

Size: 1014 Bytes

Versions: 2

Compression:

Stored size: 1014 Bytes

Contents

module Pleiades
  module Command
    module Routing
      class Result
        include Pleiades::Command::Routing::PathBuilder

        def self.create(options, event_args = {})
          new(options, event_args).send :create
        end

        private

        def initialize(options, event_args)
          @options = options
          @event_args = event_args
        end

        def create
          attributes.each_with_object({}) do |method_name, result|
            result.store(method_name, send(method_name))
          end
        end

        def attributes
          rejects = %i[initialize create] << __method__
          private_methods(false).without(*rejects)
        end

        def command_path
          normalize_path(@event_args[:scope], @event_args[:action])
        end

        def call_method
          @options[:method]
        end

        def concern
          @options[:concern]
        end

        def executor
          @options[:executor]
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pleiades-0.1.3 lib/pleiades/core/command/routing/result.rb
pleiades-0.1.2 lib/pleiades/core/command/routing/result.rb