Class: Graphiti::ActiveGraph::Scope
- Inherits:
-
Scope
- Object
- Scope
- Graphiti::ActiveGraph::Scope
- Defined in:
- lib/graphiti/active_graph/scope.rb
Instance Method Summary collapse
- #add_scoping(key, scoping_class, opts, _ = {}) ⇒ Object
- #append_scopings(opts) ⇒ Object
- #apply_scoping(scope, opts) ⇒ Object
- #non_applicable_for_unpaginated ⇒ Object
Instance Method Details
#add_scoping(key, scoping_class, opts, _ = {}) ⇒ Object
21 22 23 24 25 |
# File 'lib/graphiti/active_graph/scope.rb', line 21 def add_scoping(key, scoping_class, opts, _ = {}) @object = scoping_class.new(@resource, @query.hash, @object, opts).apply return if non_applicable_for_unpaginated.include?(key) @unpaginated_object = scoping_class.new(@resource, @query.hash, @unpaginated_object, opts.merge(unpaginated_query: true)).apply end |
#append_scopings(opts) ⇒ Object
16 17 18 19 |
# File 'lib/graphiti/active_graph/scope.rb', line 16 def append_scopings(opts) add_scoping(:include, Scoping::Include, opts) add_scoping(:association_eagerload, Scoping::AssociationEagerLoad, opts) end |
#apply_scoping(scope, opts) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/graphiti/active_graph/scope.rb', line 8 def apply_scoping(scope, opts) opts[:query_obj] = @query super append_scopings(opts) unless @resource.remote? @object end |
#non_applicable_for_unpaginated ⇒ Object
4 5 6 |
# File 'lib/graphiti/active_graph/scope.rb', line 4 def non_applicable_for_unpaginated i[association_eagerload] end |