Sha256: 0d776ca5bc76e17ef3898c69c3a1358d95c2184dbaa371da1bf67c943bc207a7

Contents?: true

Size: 1.34 KB

Versions: 101

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

module GraphQL
  class Schema
    class Member
      module RelayShortcuts
        def edge_type_class(new_edge_type_class = nil)
          if new_edge_type_class
            @edge_type_class = new_edge_type_class
          else
            @edge_type_class || find_inherited_value(:edge_type_class, Types::Relay::BaseEdge)
          end
        end

        def connection_type_class(new_connection_type_class = nil)
          if new_connection_type_class
            @connection_type_class = new_connection_type_class
          else
            @connection_type_class || find_inherited_value(:connection_type_class, Types::Relay::BaseConnection)
          end
        end

        def edge_type
          @edge_type ||= begin
            edge_name = self.graphql_name + "Edge"
            node_type_class = self
            Class.new(edge_type_class) do
              graphql_name(edge_name)
              node_type(node_type_class)
            end
          end
        end

        def connection_type
          @connection_type ||= begin
            conn_name = self.graphql_name + "Connection"
            edge_type_class = self.edge_type
            Class.new(connection_type_class) do
              graphql_name(conn_name)
              edge_type(edge_type_class)
            end
          end
        end
      end
    end
  end
end

Version data entries

101 entries across 101 versions & 2 rubygems

Version Path
graphql-1.10.4 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.3 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.2 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.19 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.1 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.0 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.0.pre4 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.18 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.0.pre3 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.17 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.0.pre2 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.16 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.15 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.14 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.10.0.pre1 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.13 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.12 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.11 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.10 lib/graphql/schema/member/relay_shortcuts.rb
graphql-1.9.9 lib/graphql/schema/member/relay_shortcuts.rb