graphql-active_record 0.3.0 → 0.3.1

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
  SHA1:
3
- metadata.gz: 10caa39790c95eaa28ada47d7f82ca23552c22dc
4
- data.tar.gz: bd0c481b90ea4d88c6e033775a86c42924896b66
3
+ metadata.gz: 5a44cf0f25abe8f851f4a3801183c97f8b03c0cd
4
+ data.tar.gz: 17f9a15ed51efc2b299419cbbbbf8a6f0c96c58f
5
5
  SHA512:
6
- metadata.gz: c6ec6a31f0cc12597eb16481f8e211c17ad0997ae06c8a2b38f5e3caaa082ab4118b5a263172930f6ab0a20a78ec59623b3356abb5987c11f19561c6b8053b60
7
- data.tar.gz: 92f9b98456949e083d1eaefc4a2e780185c981ecb8a3ab7487068971de3483de31fb12467ff6ca44cd50cc724760b02fadabf44426bc453ba0b9b66aabe56cb3
6
+ metadata.gz: 50ec563ed10c4ddbbae8b98326cbf6617f101705423ce70113839b1dfcdaf6d188b8a2b1db9b4afe21d13b41d6261e84e594e1aae1bacec07bb7caf65beea1b4
7
+ data.tar.gz: 09260d87f51cce3ec84fec7e39d5b6f4bce1e40ad20e62869e57cadfb6160060df4a11c00a43446828bb969fbfd12c59e5e1336b37f8f55bc74576df99a9208c
data/.gitignore CHANGED
@@ -9,3 +9,7 @@
9
9
  /tmp/
10
10
 
11
11
  *.gem
12
+
13
+ gemfiles/*.lock
14
+
15
+ .byebug_history
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/.travis.yml CHANGED
@@ -1,4 +1,13 @@
1
+ ---
1
2
  language: ruby
3
+ cache: bundler
2
4
  rvm:
3
- - 2.2.3
4
- before_install: gem install bundler -v 1.10.6
5
+ - "2.2.4"
6
+ script: 'bundle exec rake'
7
+
8
+ gemfile:
9
+ - gemfiles/rails_3.2.gemfile
10
+ - gemfiles/rails_4.0.gemfile
11
+ - gemfiles/rails_4.1.gemfile
12
+ - gemfiles/rails_4.2.gemfile
13
+ - gemfiles/rails_5.gemfile
data/Appraisals ADDED
@@ -0,0 +1,19 @@
1
+ appraise 'rails_3.2' do
2
+ gem 'activerecord', '~> 3.2.21'
3
+ end
4
+
5
+ appraise 'rails_4.0' do
6
+ gem 'activerecord', '~> 4.0.13'
7
+ end
8
+
9
+ appraise 'rails_4.1' do
10
+ gem 'activerecord', '~> 4.1.10'
11
+ end
12
+
13
+ appraise 'rails_4.2' do
14
+ gem 'activerecord', '~> 4.2.4'
15
+ end
16
+
17
+ appraise 'rails_5' do
18
+ gem 'activerecord', '~> 5.0.0.beta2'
19
+ end
data/Guardfile ADDED
@@ -0,0 +1,11 @@
1
+ guard :bundler do
2
+ watch('Gemfile')
3
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
4
+ watch(/^.+\.gemspec/)
5
+ end
6
+
7
+ guard :rspec, cmd: 'rspec' do
8
+ watch(%r{^spec/.+_spec\.rb$})
9
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
10
+ watch('spec/spec_helper.rb') { "spec" }
11
+ end
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
- # GraphQL::ActiveRecordExtensions
1
+ # GraphQL::ActiveRecordExtensions
2
+
3
+ [![Build Status](https://travis-ci.org/brettjurgens/graphql-active-record.svg?branch=master)](https://travis-ci.org/brettjurgens/graphql-active-record)
2
4
 
3
5
  Active Record includes for GraphQL
4
6
 
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
3
1
 
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList['test/**/*_test.rb']
8
- end
2
+ begin
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
9
6
 
10
- task :default => :test
7
+ task :default => :spec
8
+ rescue LoadError
9
+ # no rspec available
10
+ end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 3.2.21"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 4.0.13"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 4.1.10"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 4.2.4"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 5.0.0.beta2"
6
+
7
+ gemspec :path => "../"
@@ -21,7 +21,14 @@ Gem::Specification.new do |spec|
21
21
  spec.add_runtime_dependency "graphql", "~> 0.8"
22
22
  spec.add_runtime_dependency "activerecord"
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.10"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "minitest"
24
+ spec.add_development_dependency "appraisal"
25
+ spec.add_development_dependency "codeclimate-test-reporter", '~>0.4'
26
+ spec.add_development_dependency "pry", "~> 0.10"
27
+ spec.add_development_dependency "byebug"
28
+ spec.add_development_dependency "guard", "~> 2.12"
29
+ spec.add_development_dependency "guard-bundler", "~> 2.1"
30
+ spec.add_development_dependency "guard-rspec", "~> 4.6.4"
31
+ spec.add_development_dependency "rspec"
32
+ spec.add_development_dependency "rake", "~> 11.0"
33
+ spec.add_development_dependency "sqlite3"
27
34
  end
@@ -12,7 +12,7 @@ module GraphQL
12
12
  self.type = type
13
13
  self.description = "Find a #{model.name} by ID"
14
14
  self.arguments = {
15
- id: GraphQL::Argument.define do
15
+ 'id' => GraphQL::Argument.define do
16
16
  type !GraphQL::ID_TYPE
17
17
  description "Id for record"
18
18
  end
@@ -32,7 +32,8 @@ module GraphQL
32
32
  def resolve(object, arguments, ctx)
33
33
  includes = map_includes(@model, ctx.ast_node.selections, ctx)
34
34
 
35
- model_with_includes = @model.includes(*includes)
35
+ model_with_includes = include_in_model(@model, includes)
36
+
36
37
  if @use_uuid
37
38
  model_with_includes.find_by_uuid(arguments['id'])
38
39
  else
@@ -44,6 +45,11 @@ module GraphQL
44
45
  end
45
46
 
46
47
  private
48
+
49
+ def include_in_model(model, includes)
50
+ includes.present? ? model.includes(*includes) : model
51
+ end
52
+
47
53
  ##
48
54
  # generates an array for use in AR::QueryMethods.includes
49
55
  # allows for nested includes as well
@@ -60,8 +66,8 @@ module GraphQL
60
66
  table_name, node = handle_fragments(selection, ctx)
61
67
 
62
68
  if node.present? && node.selections.present?
63
- singular = table_name.singularize.to_sym
64
- plural = table_name.pluralize.to_sym
69
+ singular = table_name.singularize
70
+ plural = table_name.pluralize
65
71
 
66
72
  # make sure that the next model is an ActiveRecord model
67
73
  next_model = singular.to_s.classify.safe_constantize
@@ -72,11 +78,11 @@ module GraphQL
72
78
 
73
79
  nested = map_includes(next_model, node.selections, ctx)
74
80
 
75
- final_type = if model.reflections[singular].present?
81
+ final_type = if (model.reflections[singular] || model.reflections[singular.to_sym]).present?
76
82
  # this is for has_one relationships
77
83
  singular
78
84
 
79
- elsif model.reflections[plural].present?
85
+ elsif (model.reflections[plural] || model.reflections[plural.to_sym]).present?
80
86
  # this is for has_many relationships
81
87
  plural
82
88
 
@@ -1,5 +1,5 @@
1
1
  module GraphQL
2
2
  module ActiveRecordExtensions
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql-active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Jurgens
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-28 00:00:00.000000000 Z
11
+ date: 2016-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphql
@@ -39,35 +39,133 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: appraisal
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: codeclimate-test-reporter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '1.10'
75
+ version: '0.10'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '1.10'
82
+ version: '0.10'
83
+ - !ruby/object:Gem::Dependency
84
+ name: byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.12'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.12'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-bundler
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.1'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 4.6.4
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 4.6.4
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
55
153
  - !ruby/object:Gem::Dependency
56
154
  name: rake
57
155
  requirement: !ruby/object:Gem::Requirement
58
156
  requirements:
59
157
  - - "~>"
60
158
  - !ruby/object:Gem::Version
61
- version: '10.0'
159
+ version: '11.0'
62
160
  type: :development
63
161
  prerelease: false
64
162
  version_requirements: !ruby/object:Gem::Requirement
65
163
  requirements:
66
164
  - - "~>"
67
165
  - !ruby/object:Gem::Version
68
- version: '10.0'
166
+ version: '11.0'
69
167
  - !ruby/object:Gem::Dependency
70
- name: minitest
168
+ name: sqlite3
71
169
  requirement: !ruby/object:Gem::Requirement
72
170
  requirements:
73
171
  - - ">="
@@ -88,13 +186,21 @@ extensions: []
88
186
  extra_rdoc_files: []
89
187
  files:
90
188
  - ".gitignore"
189
+ - ".rspec"
91
190
  - ".travis.yml"
191
+ - Appraisals
92
192
  - Gemfile
193
+ - Guardfile
93
194
  - LICENSE.txt
94
195
  - README.md
95
196
  - Rakefile
96
197
  - bin/console
97
198
  - bin/setup
199
+ - gemfiles/rails_3.2.gemfile
200
+ - gemfiles/rails_4.0.gemfile
201
+ - gemfiles/rails_4.1.gemfile
202
+ - gemfiles/rails_4.2.gemfile
203
+ - gemfiles/rails_5.gemfile
98
204
  - graphql-active-record.gemspec
99
205
  - lib/graphql/active_record_extension.rb
100
206
  - lib/graphql/active_record_extensions/field.rb