Sha256: 089b75fa2eec54d6ae3a060704a5a5aab14f75c3ff91b09022e6a985386fdf6c

Contents?: true

Size: 831 Bytes

Versions: 65

Compression:

Stored size: 831 Bytes

Contents

module Graphiti
  module Util
    # @api private
    class Sideload
      # Determine the namespace for the sideload
      #
      # In other words, given a query like
      # /things?include=a.b
      #
      # When 'a' is sideloading 'b', b's namespace is 'b'.
      #
      # However, consider a recursive tree structure:
      #
      # /things?include=children.children
      #
      # The first occurrance of "children" will have the namespace
      # "children", the second will be "children.children" and so forth.
      #
      # This is used to match up other criteria in the query:
      #
      # ?filter[children.children][a]=b
      #
      # @api private
      def self.namespace(a, b)
        if a.to_s.split('.')[0] == b.to_s
          :"#{a}.#{b}"
        else
          b
        end
      end
    end
  end
end

Version data entries

65 entries across 65 versions & 2 rubygems

Version Path
graphiti-1.0.rc.21 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.19 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.18 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.17 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.16 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.15 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.14 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.12 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.11 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.10 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.9 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.8 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.7 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.6 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.5 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.4 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.3 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.2 lib/graphiti/util/sideload.rb
graphiti-1.0.rc.1 lib/graphiti/util/sideload.rb
graphiti-1.0.beta.23 lib/graphiti/util/sideload.rb