Sha256: 35914072dd3e6fe48810bf8b4c35311f9f8fdd657c7cc4e035b6d1a05ad410f2

Contents?: true

Size: 568 Bytes

Versions: 3

Compression:

Stored size: 568 Bytes

Contents

# frozen_string_literal: true

module Coactive
  module Lookups
    class Name < Base
      def call
        load_files
        lookup
      end

      private

      def load_files
        Coactive::Loader.call(@klass.coactive_config.load_paths)
      end

      def lookup
        @klass.coactive_config.base_class.descendants.select do |coactor|
          coactor._coactions.any? { |coaction| coaction == @coactant }
        end
      end

      class << self
        def callable?(coactant)
          coactant.is_a?(Symbol)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
coactive-0.1.2 lib/coactive/lookups/name.rb
coactive-0.1.1 lib/coactive/lookups/name.rb
coactive-0.1.0 lib/coactive/lookups/name.rb