Sha256: 0016425d810600bd8697b40c8c7028d84426616a2b9d79b54001b3a2b15ec3de

Contents?: true

Size: 812 Bytes

Versions: 35

Compression:

Stored size: 812 Bytes

Contents

module GraphQL
  class Schema
    module FindInheritedValue
      module EmptyObjects
        EMPTY_HASH = {}.freeze
        EMPTY_ARRAY = [].freeze
      end

      def self.extended(child_cls)
        child_cls.singleton_class.include(EmptyObjects)
      end

      def self.included(child_cls)
        child_cls.include(EmptyObjects)
      end

      private

      def find_inherited_value(method_name, default_value = nil)
        if self.is_a?(Class)
          superclass.respond_to?(method_name, true) ? superclass.send(method_name) : default_value
        else
          ancestors[1..-1].each do |ancestor|
            if ancestor.respond_to?(method_name, true)
              return ancestor.send(method_name)
            end
          end
          default_value
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
graphql-1.11.12 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.11 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.10 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.9 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.8 lib/graphql/schema/find_inherited_value.rb
graphql-1.12.3 lib/graphql/schema/find_inherited_value.rb
graphql-1.12.2 lib/graphql/schema/find_inherited_value.rb
graphql-1.12.1 lib/graphql/schema/find_inherited_value.rb
graphql-1.12.0 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.7 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.6 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.5 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.4 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.3 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.2 lib/graphql/schema/find_inherited_value.rb
graphql-1.10.14 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.1 lib/graphql/schema/find_inherited_value.rb
graphql-1.10.13 lib/graphql/schema/find_inherited_value.rb
graphql-1.11.0 lib/graphql/schema/find_inherited_value.rb
graphql-1.10.12 lib/graphql/schema/find_inherited_value.rb