graphiti-activegraph 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9794607d787979d0f7569abd80b40212eec9aedaaa93f176561ff1aef80a914f
4
- data.tar.gz: 5827cbf1af92884fcb487d799883b3e1df1ea9ef7081aab68c404c96f895338f
3
+ metadata.gz: fec65766ac7739c8c38a65cc8ffbd071df5ff4f30bbb8ac5373c4ae1996e33a3
4
+ data.tar.gz: de51eb41133930d20523781ce94f79545d80be3f14b5afc416aeee047133a128
5
5
  SHA512:
6
- metadata.gz: a81ef5aff8b2dd3e4617ced5388014eb847c230dd34722c00f630cd7ba1cf81789eb16268bec8e5e446771ee68c79a0a06f9f9792579d7b4503657b4cd319a8e
7
- data.tar.gz: 59cdd93ef290594ea2682bec8cf16da095ae534d9a027036409fde5dd817734e0ecfa10e7c9220121f78132659295893b857e476c5f2c6d0018319ab62b18047
6
+ metadata.gz: dd67df9255f946307f733c86cb40d0126b0938f922a3104a823079cb1449a6d07be828e0ecb006085aecc64e6af049bd54f8264c58b767699512e0ed790d439a
7
+ data.tar.gz: 73e67b1af55bbfa1ad3736b64c003ea966f730429ea441b075cb53d5f4b27bc0f085ffb3a59e52b1f0442380488ec6ac97454e5bdb0385d9c58b6fe6241903a7
@@ -58,8 +58,8 @@ module Graphiti::ActiveGraph
58
58
  model_instance
59
59
  end
60
60
 
61
- def resolve(scope)
62
- scope.to_a
61
+ def resolve(scope, resolve_to_rel = false)
62
+ resolve_to_rel ? scope.to_a(false, true) : scope.to_a
63
63
  end
64
64
 
65
65
  # def associate_all(parent, children, association_name, association_type)
@@ -0,0 +1,14 @@
1
+ module Graphiti::ActiveGraph
2
+ module Resource
3
+ module Interface
4
+ extend ActiveSupport::Concern
5
+ class_methods do
6
+ def build(params, base_scope = nil, opts = {})
7
+ validate!(params)
8
+ runner = ::Graphiti::Runner.new(self, params)
9
+ runner.proxy(base_scope, { single: true, raise_on_missing: true }.merge(opts) )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -14,16 +14,11 @@ module Graphiti
14
14
  params[:filter] ||= {}
15
15
  params[:filter][:id] = id if id
16
16
 
17
- validate!(params)
18
- runner = ::Graphiti::Runner.new(self, params)
19
- runner.proxy(nil, single: true, raise_on_missing: false, preloaded: obj, bypass_required_filters: true)
17
+ build(params, nil, raise_on_missing: false, preloaded: obj, bypass_required_filters: true)
20
18
  end
21
19
 
22
20
  def all_with_preloaded(obj_arr, params)
23
- validate!(params)
24
-
25
- runner = ::Graphiti::Runner.new(self, params)
26
- runner.proxy(nil, raise_on_missing: false, preloaded: obj_arr)
21
+ build(params, nil, single: false, raise_on_missing: false, preloaded: obj_arr)
27
22
  end
28
23
 
29
24
  def guard_nil_id!(params)
@@ -39,6 +34,10 @@ module Graphiti
39
34
  query.sideloads.keys.map(&:to_sym)
40
35
  end
41
36
 
37
+ def resolve(scope)
38
+ adapter.resolve(scope, relation_resource?)
39
+ end
40
+
42
41
  def typecast(name, value, flag)
43
42
  att = get_attr!(name, flag, request: true)
44
43
 
@@ -22,8 +22,8 @@ module Graphiti::ActiveGraph
22
22
  :parent,
23
23
  :params,
24
24
  :preloaded).merge(unpaginated_query: params[:unpaginated_query])
25
- scope = jsonapi_scope(base, scope_opts) unless jsonapi_resource.relation_resource?
26
- preloaded = opts[:preloaded] || (jsonapi_resource.relation_resource? && jsonapi_resource.base_scope)
25
+ scope = jsonapi_scope(base, scope_opts)
26
+ preloaded = opts[:preloaded]
27
27
  options = { payload: deserialized_payload,
28
28
  single: opts[:single],
29
29
  raise_on_missing: opts[:raise_on_missing],
@@ -1,5 +1,5 @@
1
1
  module Graphiti
2
2
  module ActiveGraph
3
- VERSION = '0.1.16'
3
+ VERSION = '0.1.18'
4
4
  end
5
5
  end
@@ -10,14 +10,17 @@ module Graphiti
10
10
  end
11
11
  require 'graphiti/scoping/filterable'
12
12
  require 'graphiti/resource/persistence'
13
+ require 'graphiti/resource/interface'
13
14
  # End workaround for jruby prepend issue
14
15
 
15
16
  loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
17
+ loader.inflector.inflect 'version' => 'VERSION'
16
18
  loader.ignore(File.expand_path('graphiti-activegraph.rb', __dir__))
17
19
  loader.setup
18
20
 
19
21
  Graphiti::Scoping::Filterable.prepend Graphiti::ActiveGraph::Scoping::Filterable
20
22
  Graphiti::Resource::Persistence.prepend Graphiti::ActiveGraph::Resource::Persistence
23
+ Graphiti::Resource::Interface::ClassMethods.prepend Graphiti::ActiveGraph::Resource::Interface::ClassMethods
21
24
  require 'graphiti'
22
25
  Graphiti::Scoping::Filter.prepend Graphiti::ActiveGraph::Scoping::Filter
23
26
  Graphiti::Util::SerializerRelationship.prepend Graphiti::ActiveGraph::Util::SerializerRelationship
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphiti-activegraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hardik Joshi
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-14 00:00:00.000000000 Z
11
+ date: 2022-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphiti
@@ -150,7 +150,7 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 3.9.0
153
- description:
153
+ description:
154
154
  email:
155
155
  - hardikjoshi1991@gmail.com
156
156
  executables: []
@@ -174,6 +174,7 @@ files:
174
174
  - lib/graphiti/active_graph/jsonapi_ext/serializable/resource_ext.rb
175
175
  - lib/graphiti/active_graph/query.rb
176
176
  - lib/graphiti/active_graph/resource.rb
177
+ - lib/graphiti/active_graph/resource/interface.rb
177
178
  - lib/graphiti/active_graph/resource/persistence.rb
178
179
  - lib/graphiti/active_graph/resource_proxy.rb
179
180
  - lib/graphiti/active_graph/runner.rb
@@ -188,7 +189,7 @@ homepage: https://github.com/mrhardikjoshi/graphiti-activegraph
188
189
  licenses:
189
190
  - MIT
190
191
  metadata: {}
191
- post_install_message:
192
+ post_install_message:
192
193
  rdoc_options: []
193
194
  require_paths:
194
195
  - lib
@@ -203,8 +204,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
204
  - !ruby/object:Gem::Version
204
205
  version: '0'
205
206
  requirements: []
206
- rubygems_version: 3.0.3.1
207
- signing_key:
207
+ rubygems_version: 3.3.7
208
+ signing_key:
208
209
  specification_version: 4
209
210
  summary: Easily build jsonapi.org-compatible APIs for GraphDB
210
211
  test_files: []