mongoid-cached-json 1.5.3 → 1.6.0

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
- SHA1:
3
- metadata.gz: 11dccfcc261da8a4c6b4027696ab55b327070041
4
- data.tar.gz: e32ddf96914f8e82bbda3a1ea07c9852f6a80c30
2
+ SHA256:
3
+ metadata.gz: 4e75b4ba09bfba7f6c52d44ea4bc7e7287765c3679107435b27afabf910c51ac
4
+ data.tar.gz: 1160dc6600d6ef6b18aa063ace9eddeac0ce5fe89902f15fd6855943f1989306
5
5
  SHA512:
6
- metadata.gz: a2f59a4a67f3ba6707b74bd1bba88a34208414b11cff5252994f7e680d4d70f7b135fe5945931473f7aaf420a511eeda6ef7ec7409738b693ac0e4cf56ec83f7
7
- data.tar.gz: ebec52181980a9b345bcfb10fbfd78aa3f839d65f4f693813a46da608b4dfe0c9db49e0ff4508bd28386b5788db9c544f1ad52b690e8c50dff1cf67439e0b017
6
+ metadata.gz: 5c1470b1e65cc3212a576b522fd54a2ef9851d917b967a3f5e17c404a23b292e168a7d7b8eb99ccd999064aa2e51f367b7bcb0daa3d805d682719128602d7bbc
7
+ data.tar.gz: 8edc758906ee5b088c101babfd2cb2a4d54802cff2141baa16d223788c1e317cefcc16964081c07548346a202a38450c22a4d6087d876be4bc467900bf137794
@@ -1,11 +1,64 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2015-09-17 10:10:32 -0400 using RuboCop version 0.33.0.
3
+ # on 2019-05-30 22:27:20 -0400 using RuboCop version 0.71.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ # Offense count: 5
10
+ # Configuration parameters: Include.
11
+ # Include: **/*.gemfile, **/Gemfile, **/gems.rb
12
+ Bundler/DuplicatedGem:
13
+ Exclude:
14
+ - 'Gemfile'
15
+
16
+ # Offense count: 3
17
+ # Cop supports --auto-correct.
18
+ Layout/EmptyLineAfterGuardClause:
19
+ Exclude:
20
+ - 'lib/mongoid-cached-json/cached_json.rb'
21
+
22
+ # Offense count: 4
23
+ # Cop supports --auto-correct.
24
+ Layout/EmptyLineAfterMagicComment:
25
+ Exclude:
26
+ - 'lib/mongoid-cached-json.rb'
27
+ - 'lib/mongoid-cached-json/cached_json.rb'
28
+ - 'lib/mongoid-cached-json/config.rb'
29
+ - 'lib/mongoid-cached-json/key_references.rb'
30
+
31
+ # Offense count: 16
32
+ # Cop supports --auto-correct.
33
+ # Configuration parameters: IndentationWidth.
34
+ # SupportedStyles: special_inside_parentheses, consistent, align_brackets
35
+ Layout/IndentFirstArrayElement:
36
+ EnforcedStyle: consistent
37
+
38
+ # Offense count: 1
39
+ # Cop supports --auto-correct.
40
+ # Configuration parameters: EnforcedStyle.
41
+ # SupportedStyles: symmetrical, new_line, same_line
42
+ Layout/MultilineArrayBraceLayout:
43
+ Exclude:
44
+ - 'spec/cached_json_spec.rb'
45
+
46
+ # Offense count: 4
47
+ # Cop supports --auto-correct.
48
+ # Configuration parameters: EnforcedStyle.
49
+ # SupportedStyles: symmetrical, new_line, same_line
50
+ Layout/MultilineHashBraceLayout:
51
+ Exclude:
52
+ - 'spec/cached_json_spec.rb'
53
+
54
+ # Offense count: 2
55
+ # Cop supports --auto-correct.
56
+ # Configuration parameters: EnforcedStyle.
57
+ # SupportedStyles: symmetrical, new_line, same_line
58
+ Layout/MultilineMethodCallBraceLayout:
59
+ Exclude:
60
+ - 'spec/cached_json_spec.rb'
61
+
9
62
  # Offense count: 1
10
63
  # Configuration parameters: AllowSafeAssignment.
11
64
  Lint/AssignmentInCondition:
@@ -13,6 +66,7 @@ Lint/AssignmentInCondition:
13
66
  - 'lib/mongoid-cached-json/cached_json.rb'
14
67
 
15
68
  # Offense count: 1
69
+ # Configuration parameters: AllowKeywordBlockArguments.
16
70
  Lint/UnderscorePrefixedVariableName:
17
71
  Exclude:
18
72
  - 'lib/mongoid-cached-json/cached_json.rb'
@@ -25,9 +79,16 @@ Lint/UselessAssignment:
25
79
 
26
80
  # Offense count: 5
27
81
  Metrics/AbcSize:
28
- Max: 54
82
+ Max: 45
83
+
84
+ # Offense count: 22
85
+ # Configuration parameters: CountComments, ExcludedMethods.
86
+ # ExcludedMethods: refine
87
+ Metrics/BlockLength:
88
+ Max: 488
29
89
 
30
90
  # Offense count: 2
91
+ # Configuration parameters: CountBlocks.
31
92
  Metrics/BlockNesting:
32
93
  Max: 4
33
94
 
@@ -35,28 +96,54 @@ Metrics/BlockNesting:
35
96
  Metrics/CyclomaticComplexity:
36
97
  Max: 15
37
98
 
38
- # Offense count: 200
39
- # Configuration parameters: AllowURI, URISchemes.
40
- Metrics/LineLength:
41
- Max: 202
42
-
43
- # Offense count: 10
44
- # Configuration parameters: CountComments.
99
+ # Offense count: 9
100
+ # Configuration parameters: CountComments, ExcludedMethods.
45
101
  Metrics/MethodLength:
46
- Max: 36
102
+ Max: 41
47
103
 
48
104
  # Offense count: 1
49
105
  # Configuration parameters: CountComments.
50
106
  Metrics/ModuleLength:
51
- Max: 119
107
+ Max: 124
52
108
 
53
109
  # Offense count: 4
54
110
  Metrics/PerceivedComplexity:
55
111
  Max: 16
56
112
 
57
- # Offense count: 34
113
+ # Offense count: 1
114
+ # Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
115
+ # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
116
+ Naming/FileName:
117
+ Exclude:
118
+ - 'lib/mongoid-cached-json.rb'
119
+
120
+ # Offense count: 1
121
+ # Cop supports --auto-correct.
122
+ # Configuration parameters: EnforcedStyle.
123
+ # SupportedStyles: prefer_alias, prefer_alias_method
124
+ Style/Alias:
125
+ Exclude:
126
+ - 'lib/mongoid-cached-json/cached_json.rb'
127
+
128
+ # Offense count: 1
129
+ # Cop supports --auto-correct.
130
+ # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
131
+ # SupportedStyles: assign_to_condition, assign_inside_condition
132
+ Style/ConditionalAssignment:
133
+ Exclude:
134
+ - 'lib/mongoid-cached-json/cached_json.rb'
135
+
136
+ # Offense count: 7
58
137
  Style/Documentation:
59
- Enabled: false
138
+ Exclude:
139
+ - 'spec/**/*'
140
+ - 'test/**/*'
141
+ - 'lib/mongoid-cached-json/array.rb'
142
+ - 'lib/mongoid-cached-json/cached_json.rb'
143
+ - 'lib/mongoid-cached-json/config.rb'
144
+ - 'lib/mongoid-cached-json/hash.rb'
145
+ - 'lib/mongoid-cached-json/key_references.rb'
146
+ - 'lib/mongoid-cached-json/mongoid_criteria.rb'
60
147
 
61
148
  # Offense count: 2
62
149
  Style/DoubleNegation:
@@ -64,18 +151,42 @@ Style/DoubleNegation:
64
151
  - 'lib/mongoid-cached-json/cached_json.rb'
65
152
 
66
153
  # Offense count: 1
154
+ # Cop supports --auto-correct.
67
155
  Style/EachWithObject:
68
156
  Exclude:
69
157
  - 'lib/mongoid-cached-json/hash.rb'
70
158
 
71
- # Offense count: 1
72
- # Configuration parameters: Exclude.
73
- Style/FileName:
159
+ # Offense count: 3
160
+ # Cop supports --auto-correct.
161
+ Style/Encoding:
74
162
  Exclude:
75
163
  - 'lib/mongoid-cached-json.rb'
164
+ - 'lib/mongoid-cached-json/cached_json.rb'
165
+ - 'lib/mongoid-cached-json/config.rb'
166
+
167
+ # Offense count: 1
168
+ Style/EvalWithLocation:
169
+ Exclude:
170
+ - 'lib/mongoid-cached-json/config.rb'
171
+
172
+ # Offense count: 46
173
+ # Cop supports --auto-correct.
174
+ # Configuration parameters: EnforcedStyle.
175
+ # SupportedStyles: always, never
176
+ Style/FrozenStringLiteralComment:
177
+ Enabled: false
178
+
179
+ # Offense count: 3
180
+ # Cop supports --auto-correct.
181
+ Style/IfUnlessModifier:
182
+ Exclude:
183
+ - 'lib/mongoid-cached-json/cached_json.rb'
184
+ - 'spec/cached_json_spec.rb'
76
185
 
77
186
  # Offense count: 5
78
187
  # Cop supports --auto-correct.
188
+ # Configuration parameters: EnforcedStyle.
189
+ # SupportedStyles: line_count_dependent, lambda, literal
79
190
  Style/Lambda:
80
191
  Exclude:
81
192
  - 'lib/mongoid-cached-json/cached_json.rb'
@@ -85,17 +196,83 @@ Style/Lambda:
85
196
  - 'spec/support/sometimes_secret.rb'
86
197
 
87
198
  # Offense count: 1
199
+ # Cop supports --auto-correct.
200
+ # Configuration parameters: EnforcedStyle, Autocorrect.
201
+ # SupportedStyles: module_function, extend_self
88
202
  Style/ModuleFunction:
89
203
  Exclude:
90
204
  - 'lib/mongoid-cached-json/config.rb'
91
205
 
92
206
  # Offense count: 1
93
- # Configuration parameters: EnforcedStyle, SupportedStyles.
207
+ # Cop supports --auto-correct.
208
+ # Configuration parameters: EnforcedStyle.
209
+ # SupportedStyles: literals, strict
210
+ Style/MutableConstant:
211
+ Exclude:
212
+ - 'lib/mongoid-cached-json/version.rb'
213
+
214
+ # Offense count: 2
215
+ # Cop supports --auto-correct.
216
+ Style/OrAssignment:
217
+ Exclude:
218
+ - 'lib/mongoid-cached-json/cached_json.rb'
219
+
220
+ # Offense count: 2
221
+ # Cop supports --auto-correct.
222
+ # Configuration parameters: PreferredDelimiters.
223
+ Style/PercentLiteralDelimiters:
224
+ Exclude:
225
+ - 'spec/array_spec.rb'
226
+
227
+ # Offense count: 1
228
+ # Cop supports --auto-correct.
229
+ # Configuration parameters: EnforcedStyle.
230
+ # SupportedStyles: compact, exploded
94
231
  Style/RaiseArgs:
95
- Enabled: false
232
+ Exclude:
233
+ - 'lib/mongoid-cached-json/cached_json.rb'
234
+
235
+ # Offense count: 1
236
+ # Cop supports --auto-correct.
237
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
238
+ # Whitelist: present?, blank?, presence, try, try!
239
+ Style/SafeNavigation:
240
+ Exclude:
241
+ - 'lib/mongoid-cached-json/key_references.rb'
96
242
 
97
243
  # Offense count: 2
98
- # Configuration parameters: Methods.
99
- Style/SingleLineBlockParams:
244
+ # Cop supports --auto-correct.
245
+ # Configuration parameters: EnforcedStyle.
246
+ # SupportedStyles: only_raise, only_fail, semantic
247
+ Style/SignalException:
248
+ Exclude:
249
+ - 'lib/mongoid-cached-json/cached_json.rb'
250
+ - 'spec/cached_json_spec.rb'
251
+
252
+ # Offense count: 13
253
+ # Cop supports --auto-correct.
254
+ # Configuration parameters: MinSize.
255
+ # SupportedStyles: percent, brackets
256
+ Style/SymbolArray:
257
+ EnforcedStyle: brackets
258
+
259
+ # Offense count: 1
260
+ # Cop supports --auto-correct.
261
+ # Configuration parameters: EnforcedStyle, AllowSafeAssignment.
262
+ # SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
263
+ Style/TernaryParentheses:
264
+ Exclude:
265
+ - 'lib/mongoid-cached-json/cached_json.rb'
266
+
267
+ # Offense count: 1
268
+ # Cop supports --auto-correct.
269
+ Style/UnneededInterpolation:
100
270
  Exclude:
101
- - 'spec/benchmark_spec.rb'
271
+ - 'spec/cached_json_spec.rb'
272
+
273
+ # Offense count: 200
274
+ # Cop supports --auto-correct.
275
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
276
+ # URISchemes: http, https
277
+ Metrics/LineLength:
278
+ Max: 202
@@ -1,17 +1,40 @@
1
1
  sudo: false
2
2
 
3
+ script: bundle exec rake spec
4
+
3
5
  services:
4
6
  - mongodb
5
7
  - memcache
6
8
 
7
9
  rvm:
8
- - 1.9.3
9
10
  - 2.0.0
10
- - 2.2.0
11
+ - 2.1.10
12
+ - 2.2.10
13
+ - 2.3.7
14
+ - 2.4.6
15
+ - 2.5.5
16
+ - 2.6.3
11
17
 
12
18
  env:
13
19
  - MONGOID_VERSION=3
14
20
  - MONGOID_VERSION=4
15
21
  - MONGOID_VERSION=5
22
+ - MONGOID_VERSION=6
23
+ - MONGOID_VERSION=7
16
24
 
17
25
  cache: bundler
26
+
27
+ matrix:
28
+ include:
29
+ - rvm: 2.6.3
30
+ env: RUBOCOP=true
31
+ script: bundle exec rake rubocop
32
+ exclude:
33
+ - rvm: 2.0.0
34
+ env: MONGOID_VERSION=6
35
+ - rvm: 2.1.10
36
+ env: MONGOID_VERSION=6
37
+ - rvm: 2.0.0
38
+ env: MONGOID_VERSION=7
39
+ - rvm: 2.1.10
40
+ env: MONGOID_VERSION=7
@@ -1,3 +1,16 @@
1
+ 1.6.1 (Next)
2
+ ------------
3
+
4
+ * Your contribution here.
5
+
6
+ 1.6.0 (2019/05/31)
7
+ ------------
8
+
9
+ * [#20](https://github.com/mongoid/mongoid-cached-json/pull/20): Compatibility with Ruby 2.3, 2.4, 2.5 and 2.6 - [@yuki24](http://github.com/yuki24).
10
+ * [#20](https://github.com/mongoid/mongoid-cached-json/pull/20): Compatibility with Mongoid 6 - [@yuki24](http://github.com/yuki24).
11
+ * [#20](https://github.com/mongoid/mongoid-cached-json/pull/20): No longer test against Ruby 1.9.3 - [@yuki24](http://github.com/yuki24).
12
+ * [#22](https://github.com/mongoid/mongoid-cached-json/pull/22): Compatibility with Mongoid 7 - [@yuki24](https://github.com/yuki24)
13
+
1
14
  1.5.3 (2015/09/17)
2
15
  ------------------
3
16
 
@@ -58,7 +71,7 @@
58
71
  1.2.2 (2012/07/03)
59
72
  ------------------
60
73
 
61
- * Fix [#6](https://github.com/dblock/mongoid-cached-json/issues/6): including parent in `json_fields` within a polymorphic reference fails with an "uninitialized constant" error - [@dblock](http://github.com/dblock).
74
+ * Fix [#6](https://github.com/mongoid/mongoid-cached-json/issues/6): including parent in `json_fields` within a polymorphic reference fails with an "uninitialized constant" error - [@dblock](http://github.com/dblock).
62
75
 
63
76
  1.2.1 (2012/06/12)
64
77
  ------------------
@@ -1,16 +1,16 @@
1
1
  Contributing to Mongoid::CachedJson
2
2
  ===================================
3
3
 
4
- Mongoid::CachedJson is work of [many of contributors](https://github.com/dblock/mongoid-cached-json/graphs/contributors). You're encouraged to submit [pull requests](https://github.com/dblock/mongoid-cached-json/pulls), [propose features and discuss issues](https://github.com/dblock/mongoid-cached-json/issues). When in doubt, ask a question in the [Google Group](http://groups.google.com/group/mongoid-cached-json).
4
+ Mongoid::CachedJson is work of [many of contributors](https://github.com/mongoid/mongoid-cached-json/graphs/contributors). You're encouraged to submit [pull requests](https://github.com/mongoid/mongoid-cached-json/pulls), [propose features and discuss issues](https://github.com/mongoid/mongoid-cached-json/issues). When in doubt, ask a question in the [Google Group](http://groups.google.com/group/mongoid-cached-json).
5
5
 
6
6
  #### Fork the Project
7
7
 
8
- Fork the [project on Github](https://github.com/dblock/mongoid-cached-json) and check out your copy.
8
+ Fork the [project on Github](https://github.com/mongoid/mongoid-cached-json) and check out your copy.
9
9
 
10
10
  ```
11
11
  git clone https://github.com/contributor/mongoid-cached-json.git
12
12
  cd mongoid-cached-json
13
- git remote add upstream https://github.com/dblock/mongoid-cached-json.git
13
+ git remote add upstream https://github.com/mongoid/mongoid-cached-json.git
14
14
  ```
15
15
 
16
16
  #### Create a Topic Branch
@@ -104,7 +104,7 @@ git push origin my-feature-branch -f
104
104
  Update the [CHANGELOG](CHANGELOG.md) with the pull request number. A typical entry looks as follows.
105
105
 
106
106
  ```
107
- * [#123](https://github.com/dblock/mongoid-cached-json/pull/123): Reticulated splines - [@contributor](https://github.com/contributor).
107
+ * [#123](https://github.com/mongoid/mongoid-cached-json/pull/123): Reticulated splines - [@contributor](https://github.com/contributor).
108
108
  ```
109
109
 
110
110
  Amend your previous commit and force push the changes.
data/Gemfile CHANGED
@@ -3,6 +3,10 @@ source 'http://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  case version = ENV['MONGOID_VERSION'] || '~> 5.0'
6
+ when /7/
7
+ gem 'mongoid', '~> 7.0'
8
+ when /6/
9
+ gem 'mongoid', '~> 6.0'
6
10
  when /5/
7
11
  gem 'mongoid', '~> 5.0'
8
12
  when /4/
@@ -14,11 +18,10 @@ else
14
18
  end
15
19
 
16
20
  group :development do
21
+ gem 'dalli', '~> 2.6'
17
22
  gem 'rake'
18
- gem 'bundler', '~> 1.0'
23
+ gem 'rubocop'
19
24
  gem 'yard', '~> 0.6'
20
- gem 'dalli', '~> 2.6'
21
- gem 'rubocop', '0.33.0'
22
25
  end
23
26
 
24
27
  group :test do
data/README.md CHANGED
@@ -2,9 +2,8 @@ Mongoid::CachedJson
2
2
  ===================
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/mongoid-cached-json.svg)](http://badge.fury.io/rb/mongoid-cached-json)
5
- [![Build Status](https://travis-ci.org/dblock/mongoid-cached-json.svg?branch=master)](https://travis-ci.org/dblock/mongoid-cached-json)
6
- [![Dependency Status](https://gemnasium.com/dblock/mongoid-cached-json.svg)](https://gemnasium.com/dblock/mongoid-cached-json)
7
- [![Code Climate](https://codeclimate.com/github/dblock/mongoid-cached-json.svg)](https://codeclimate.com/github/dblock/mongoid-cached-json)
5
+ [![Build Status](https://travis-ci.org/mongoid/mongoid-cached-json.svg?branch=master)](https://travis-ci.org/mongoid/mongoid-cached-json)
6
+ [![Code Climate](https://codeclimate.com/github/mongoid/mongoid-cached-json.svg)](https://codeclimate.com/github/mongoid/mongoid-cached-json)
8
7
 
9
8
  Typical `as_json` definitions may involve lots of database point queries and method calls. When returning collections of objects, a single call may yield hundreds of database queries that can take seconds. This library mitigates the problem by implementing a module called `CachedJson`.
10
9
 
@@ -15,13 +14,13 @@ Using `Mongoid::CachedJson` we were able to cut our JSON API average response ti
15
14
  Compatibility
16
15
  -------------
17
16
 
18
- This gem is compatible with Mongoid 3, 4 and 5.
17
+ This gem is compatible with Mongoid 3, 4, 5, 6, and 7.
19
18
 
20
19
  Resources
21
20
  ---------
22
21
 
23
22
  * [Need Help? Google Group](http://groups.google.com/group/mongoid-cached-json)
24
- * [Source Code](http://github.com/dblock/mongoid-cached-json)
23
+ * [Source Code](http://github.com/mongoid/mongoid-cached-json)
25
24
 
26
25
  Quickstart
27
26
  ----------
@@ -293,6 +292,6 @@ See [CONTRIBUTING](CONTRIBUTING.md).
293
292
  Copyright and License
294
293
  ---------------------
295
294
 
296
- MIT License, see [LICENSE](https://github.com/dblock/mongoid-cached-json/blob/master/LICENSE.md) for details.
295
+ MIT License, see [LICENSE](https://github.com/mongoid/mongoid-cached-json/blob/master/LICENSE.md) for details.
297
296
 
298
297
  (c) 2012-2014 [Artsy](https://artsy.net) and [Contributors](CHANGELOG.md)
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
3
 
4
- require File.expand_path('../lib/mongoid-cached-json/version', __FILE__)
4
+ require File.expand_path('lib/mongoid-cached-json/version', __dir__)
5
5
 
6
6
  Bundler.setup(:default, :development)
7
7
  Bundler::GemHelper.install_tasks
@@ -126,7 +126,13 @@ module Mongoid
126
126
  else
127
127
  clazz = reference_def[:metadata].class_name.constantize
128
128
  end
129
- if reference_def[:metadata].relation == Mongoid::Relations::Referenced::ManyToMany
129
+ relation_class = if Mongoid::Compatibility::Version.mongoid7_or_newer?
130
+ Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy
131
+ else
132
+ Mongoid::Relations::Referenced::ManyToMany
133
+ end
134
+
135
+ if reference_def[:metadata].relation == relation_class
130
136
  object_ids = object.send(key)
131
137
  if object_ids
132
138
  reference_json = object_ids.map do |id|
@@ -3,7 +3,6 @@ module Mongoid
3
3
  module CachedJson
4
4
  module Config
5
5
  extend self
6
- include ActiveSupport::Callbacks
7
6
 
8
7
  # Current configuration settings.
9
8
  attr_accessor :settings
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module CachedJson
3
- VERSION = '1.5.3'
3
+ VERSION = '1.6.0'
4
4
  end
5
5
  end
@@ -1,4 +1,4 @@
1
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
2
2
  require 'mongoid-cached-json/version'
3
3
 
4
4
  Gem::Specification.new do |s|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.required_rubygems_version = '>= 1.3.6'
11
11
  s.files = `git ls-files`.split("\n")
12
12
  s.require_paths = ['lib']
13
- s.homepage = 'http://github.com/dblock/mongoid-cached-json'
13
+ s.homepage = 'http://github.com/mongoid/mongoid-cached-json'
14
14
  s.licenses = ['MIT']
15
15
  s.summary = 'Cached-json is a DSL for describing JSON representations of Mongoid models.'
16
16
  s.add_dependency 'mongoid', '>= 3.0'
@@ -88,10 +88,10 @@ describe Mongoid::CachedJson do
88
88
  end
89
89
  context 'many-to-one relationships' do
90
90
  it 'uses the correct properties on the base object and passes :short or :all as appropriate' do
91
- manager = JsonManager.create(name: 'Boss')
92
- peon = manager.json_employees.create(name: 'Peon')
93
- manager.json_employees.create(name: 'Indentured servant')
94
- manager.json_employees.create(name: 'Serf', nickname: 'Vince')
91
+ manager = JsonManager.create!(name: 'Boss')
92
+ peon = manager.json_employees.create!(name: 'Peon')
93
+ manager.json_employees.create!(name: 'Indentured servant')
94
+ manager.json_employees.create!(name: 'Serf', nickname: 'Vince')
95
95
  3.times do
96
96
  3.times do
97
97
  manager_short_json = manager.as_json(properties: :short)
@@ -129,8 +129,8 @@ describe Mongoid::CachedJson do
129
129
  end
130
130
  end
131
131
  it 'correctly updates fields when either the parent or child class changes' do
132
- manager = JsonManager.create(name: 'JsonManager')
133
- employee = manager.json_employees.create(name: 'JsonEmployee')
132
+ manager = JsonManager.create!(name: 'JsonManager')
133
+ employee = manager.json_employees.create!(name: 'JsonEmployee')
134
134
  3.times do
135
135
  expect(manager.as_json(properties: :short)).to eq(name: 'JsonManager', employees: [{ name: 'JsonEmployee' }])
136
136
  expect(employee.as_json(properties: :short)).to eq(name: 'JsonEmployee')
@@ -3,7 +3,11 @@ class FastJsonImage
3
3
  include Mongoid::CachedJson
4
4
 
5
5
  field :name, default: 'Image'
6
- belongs_to :fast_json_artwork
6
+ if Mongoid::Compatibility::Version.mongoid5_or_older?
7
+ belongs_to :fast_json_artwork
8
+ else
9
+ belongs_to :fast_json_artwork, required: false
10
+ end
7
11
  has_and_belongs_to_many :fast_json_urls
8
12
 
9
13
  json_fields \
@@ -5,7 +5,12 @@ class JsonManager
5
5
  field :name
6
6
  field :ssn, default: '123-45-6789'
7
7
  has_many :json_employees
8
- belongs_to :supervisor, class_name: 'JsonSupervisor'
8
+
9
+ if Mongoid::Compatibility::Version.mongoid5_or_older?
10
+ belongs_to :supervisor, class_name: 'JsonSupervisor'
11
+ else
12
+ belongs_to :supervisor, class_name: 'JsonSupervisor', required: false
13
+ end
9
14
 
10
15
  json_fields \
11
16
  name: {},
@@ -3,7 +3,12 @@ class Tool
3
3
  include Mongoid::CachedJson
4
4
 
5
5
  field :name
6
- belongs_to :tool_box
6
+
7
+ if Mongoid::Compatibility::Version.mongoid5_or_older?
8
+ belongs_to :tool_box
9
+ else
10
+ belongs_to :tool_box, required: false
11
+ end
7
12
 
8
13
  json_fields \
9
14
  name: {},
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-cached-json
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Windsor
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-09-17 00:00:00.000000000 Z
13
+ date: 2019-06-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mongoid
@@ -87,7 +87,7 @@ files:
87
87
  - spec/support/sometimes_secret.rb
88
88
  - spec/support/tool.rb
89
89
  - spec/support/tool_box.rb
90
- homepage: http://github.com/dblock/mongoid-cached-json
90
+ homepage: http://github.com/mongoid/mongoid-cached-json
91
91
  licenses:
92
92
  - MIT
93
93
  metadata: {}
@@ -106,10 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  - !ruby/object:Gem::Version
107
107
  version: 1.3.6
108
108
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.2.2
109
+ rubygems_version: 3.0.3
111
110
  signing_key:
112
111
  specification_version: 4
113
112
  summary: Cached-json is a DSL for describing JSON representations of Mongoid models.
114
113
  test_files: []
115
- has_rdoc: