graphiti-activegraph 0.1.15 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2edafb17b2501ff89298dacbccad4dd910a4858dd745e72e13d22413fff516d
4
- data.tar.gz: 8f673d1994493e1ddb9ac250e9d2525d63cf723008c8020c34cc45beeee097c0
3
+ metadata.gz: f9b7ea2a6b4e70a83c4d19537bc4aaceca17366977698e36478b0e965b901a3e
4
+ data.tar.gz: 814010357e707ccd4c1bc7f0af3c954bbe37970aa17f842b32e421990af9e3c7
5
5
  SHA512:
6
- metadata.gz: 71c4679cc8af12fa8a6300b5b931b2d3192fb2cf403aeb9bb83f3675d64bb27956f117bfbc09ead957285571a1b18ba4e5c069e3217aafe4f457601d780aa9d1
7
- data.tar.gz: e5b6556f6fad1c08c4741c807431b39339daa2ec5e7ede0673188d362d44593d65d2e88060429dbf39c0c338a5098628c4228bfe02f1f255415a017ee321cbff
6
+ metadata.gz: 7c5ba76168e3614a3b4ba2c31b3385f39b1a835801f0191ddc9cdbbe53335510895d0faaa5d1427727c8a1f5c15b1164f64176fd890222b5f5efdb6adb46f486
7
+ data.tar.gz: 7b0187abf211beb954b6d76b915c4c5a678325c54b8a67469d2cacfb011e3c7ff4b42341c45b9b44cc40e6b79912a9a7f9121f9d3f08287b8f925c99fa6c4d94
@@ -0,0 +1,31 @@
1
+ name: Specs
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ pull_request:
7
+ branches: [ "master" ]
8
+
9
+ # Allows you to run this workflow manually from the Actions tab
10
+ workflow_dispatch:
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ test:
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby-version: [ jruby, ruby ]
22
+
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+ - name: Set up Ruby
26
+ uses: ruby/setup-ruby@v1
27
+ with:
28
+ ruby-version: ${{ matrix.ruby-version }}
29
+ bundler-cache: true
30
+ - name: Run tests
31
+ run: bundle exec rspec
@@ -16,18 +16,15 @@ Gem::Specification.new do |spec|
16
16
  spec.bindir = "exe"
17
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ["lib"]
19
- spec.required_ruby_version = "~> 2.3"
20
19
 
21
- spec.add_dependency "graphiti", "~> 1.2.0"
22
- spec.add_dependency "concurrent-ruby", "~> 1.0"
23
- spec.add_dependency "activesupport", ">= 4.1"
20
+ spec.add_dependency "graphiti", ">= 1.2.0"
21
+ spec.add_dependency "activegraph", ">= 11.1.0.alpha.1"
24
22
  spec.add_dependency "zeitwerk"
25
23
 
26
24
  spec.add_development_dependency "faraday", "~> 0.15"
27
25
  spec.add_development_dependency "kaminari", "~> 0.17"
28
26
  spec.add_development_dependency "bundler"
29
27
  spec.add_development_dependency "rake", "~> 10.0"
30
- spec.add_development_dependency "activemodel", ">= 4.1"
31
28
  spec.add_development_dependency "graphiti_spec_helpers", "1.0.beta.4"
32
29
  spec.add_development_dependency "standard"
33
30
  spec.add_development_dependency "rspec", "~> 3.9.0"
@@ -91,7 +91,7 @@ module Graphiti::ActiveGraph
91
91
  params[:data][:relationships] ||= {}
92
92
  params[:data][:relationships][rel_name] = {
93
93
  data: {
94
- type: rel_name.to_s,
94
+ type: derive_resource_type(rel_name),
95
95
  id: path_value.to_i
96
96
  }
97
97
  }
@@ -122,7 +122,29 @@ module Graphiti::ActiveGraph
122
122
  end
123
123
 
124
124
  def detect_conflict(key, path_value, body_value)
125
- raise Conflict.new(key, path_value, body_value) if body_value && body_value != path_value
125
+ raise Conflict.new(key, path_value, body_value) if path_value && body_value && body_value != path_value
126
+ end
127
+
128
+ private
129
+
130
+ def derive_resource_type(rel_name)
131
+ if @model.include?(ActiveGraph::Node)
132
+ @model.associations[rel_name].target_class.model_name.plural.to_s
133
+ else
134
+ # ApplicationRelationship resource doesn't have #associations or any other method to list all associations
135
+ # "from_class" and "to_class" methods can contain value "any". Which makes it unreliable to use here
136
+ # Using "rel_name.to_s.pluralize" as it works in most cases.
137
+ # User can define a method on controller "" which will override this behaviour
138
+ derive_resource_type_from_controller(rel_name) || rel_name.to_s.pluralize
139
+ end
140
+ end
141
+
142
+ def derive_resource_type_from_controller(rel_name)
143
+ controller_obj.derive_parent_resource_type(rel_name) if controller_obj.respond_to?(:derive_parent_resource_type)
144
+ end
145
+
146
+ def controller_obj
147
+ @controller_obj ||= Graphiti.context[:object]
126
148
  end
127
149
  end
128
150
  end
@@ -1,5 +1,5 @@
1
1
  module Graphiti
2
2
  module ActiveGraph
3
- VERSION = '0.1.15'
3
+ VERSION = '0.1.17'
4
4
  end
5
5
  end
@@ -1,30 +1,18 @@
1
1
  require 'zeitwerk'
2
+ require 'active_graph'
2
3
 
3
- # Workaround for missing zeitwerk support as of jruby-9.2.13.0
4
+ # Workaround for jruby prepend issue https://github.com/jruby/jruby/issues/6971
4
5
  module Graphiti
5
- module Scoping
6
- end
7
6
  module ActiveGraph
8
- module Scoping
9
- end
10
- module Adapters
11
- end
12
- module Util
13
- end
14
- module JsonapiExt
15
- module Serializable
16
- end
17
- end
7
+ end
8
+ module Scoping
18
9
  end
19
10
  end
20
- # End workaround
21
-
22
- # Workaround for jruby prepend issue https://github.com/jruby/jruby/issues/6971
23
11
  require 'graphiti/scoping/filterable'
24
12
  require 'graphiti/resource/persistence'
25
13
  # End workaround for jruby prepend issue
26
14
 
27
- loader = Zeitwerk::Loader.for_gem
15
+ loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
28
16
  loader.inflector.inflect 'version' => 'VERSION'
29
17
  loader.ignore(File.expand_path('graphiti-activegraph.rb', __dir__))
30
18
  loader.setup
metadata CHANGED
@@ -1,57 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphiti-activegraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.17
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-06-22 00:00:00.000000000 Z
11
+ date: 2022-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphiti
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.2.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: concurrent-ruby
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.0'
41
- - !ruby/object:Gem::Dependency
42
- name: activesupport
28
+ name: activegraph
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: '4.1'
33
+ version: 11.1.0.alpha.1
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: '4.1'
40
+ version: 11.1.0.alpha.1
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: zeitwerk
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +108,6 @@ dependencies:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
110
  version: '10.0'
125
- - !ruby/object:Gem::Dependency
126
- name: activemodel
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '4.1'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '4.1'
139
111
  - !ruby/object:Gem::Dependency
140
112
  name: graphiti_spec_helpers
141
113
  requirement: !ruby/object:Gem::Requirement
@@ -178,16 +150,16 @@ dependencies:
178
150
  - - "~>"
179
151
  - !ruby/object:Gem::Version
180
152
  version: 3.9.0
181
- description:
153
+ description:
182
154
  email:
183
155
  - hardikjoshi1991@gmail.com
184
156
  executables: []
185
157
  extensions: []
186
158
  extra_rdoc_files: []
187
159
  files:
160
+ - ".github/workflows/specs.yml"
188
161
  - ".gitignore"
189
162
  - ".rspec"
190
- - ".travis.yml"
191
163
  - CHANGELOG.md
192
164
  - Gemfile
193
165
  - LICENSE.txt
@@ -216,23 +188,23 @@ homepage: https://github.com/mrhardikjoshi/graphiti-activegraph
216
188
  licenses:
217
189
  - MIT
218
190
  metadata: {}
219
- post_install_message:
191
+ post_install_message:
220
192
  rdoc_options: []
221
193
  require_paths:
222
194
  - lib
223
195
  required_ruby_version: !ruby/object:Gem::Requirement
224
196
  requirements:
225
- - - "~>"
197
+ - - ">="
226
198
  - !ruby/object:Gem::Version
227
- version: '2.3'
199
+ version: '0'
228
200
  required_rubygems_version: !ruby/object:Gem::Requirement
229
201
  requirements:
230
202
  - - ">="
231
203
  - !ruby/object:Gem::Version
232
204
  version: '0'
233
205
  requirements: []
234
- rubygems_version: 3.0.3.1
235
- signing_key:
206
+ rubygems_version: 3.3.7
207
+ signing_key:
236
208
  specification_version: 4
237
209
  summary: Easily build jsonapi.org-compatible APIs for GraphDB
238
210
  test_files: []
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- ---
2
- dist: xenial
3
- language: ruby
4
- jdk:
5
- - openjdk11
6
- cache: bundler
7
- rvm:
8
- - 2.7.1
9
- - jruby-9.2.16.0
10
- - jruby-9.3.2.0
11
- script: 'bundle exec rspec'