parse-stack 1.7.3 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +36 -0
  3. data/.solargraph.yml +23 -0
  4. data/.travis.yml +6 -3
  5. data/Changes.md +84 -22
  6. data/Gemfile +14 -12
  7. data/Gemfile.lock +110 -60
  8. data/README.md +67 -24
  9. data/Rakefile +14 -14
  10. data/bin/parse-console +1 -0
  11. data/lib/parse/api/aggregate.rb +59 -0
  12. data/lib/parse/api/all.rb +2 -1
  13. data/lib/parse/api/analytics.rb +0 -3
  14. data/lib/parse/api/batch.rb +3 -5
  15. data/lib/parse/api/cloud_functions.rb +0 -3
  16. data/lib/parse/api/config.rb +0 -4
  17. data/lib/parse/api/files.rb +3 -7
  18. data/lib/parse/api/hooks.rb +4 -8
  19. data/lib/parse/api/objects.rb +9 -14
  20. data/lib/parse/api/push.rb +0 -4
  21. data/lib/parse/api/schema.rb +2 -6
  22. data/lib/parse/api/server.rb +4 -7
  23. data/lib/parse/api/sessions.rb +2 -5
  24. data/lib/parse/api/users.rb +9 -14
  25. data/lib/parse/client.rb +55 -50
  26. data/lib/parse/client/authentication.rb +29 -33
  27. data/lib/parse/client/batch.rb +8 -11
  28. data/lib/parse/client/body_builder.rb +19 -20
  29. data/lib/parse/client/caching.rb +23 -28
  30. data/lib/parse/client/protocol.rb +11 -12
  31. data/lib/parse/client/request.rb +4 -6
  32. data/lib/parse/client/response.rb +5 -7
  33. data/lib/parse/model/acl.rb +14 -12
  34. data/lib/parse/model/associations/belongs_to.rb +19 -24
  35. data/lib/parse/model/associations/collection_proxy.rb +328 -317
  36. data/lib/parse/model/associations/has_many.rb +22 -27
  37. data/lib/parse/model/associations/has_one.rb +7 -12
  38. data/lib/parse/model/associations/pointer_collection_proxy.rb +5 -13
  39. data/lib/parse/model/associations/relation_collection_proxy.rb +5 -9
  40. data/lib/parse/model/bytes.rb +8 -10
  41. data/lib/parse/model/classes/installation.rb +2 -4
  42. data/lib/parse/model/classes/product.rb +2 -5
  43. data/lib/parse/model/classes/role.rb +3 -5
  44. data/lib/parse/model/classes/session.rb +2 -5
  45. data/lib/parse/model/classes/user.rb +21 -17
  46. data/lib/parse/model/core/actions.rb +31 -46
  47. data/lib/parse/model/core/builder.rb +6 -6
  48. data/lib/parse/model/core/errors.rb +0 -1
  49. data/lib/parse/model/core/fetching.rb +45 -50
  50. data/lib/parse/model/core/properties.rb +53 -68
  51. data/lib/parse/model/core/querying.rb +292 -282
  52. data/lib/parse/model/core/schema.rb +89 -92
  53. data/lib/parse/model/date.rb +16 -23
  54. data/lib/parse/model/file.rb +171 -174
  55. data/lib/parse/model/geopoint.rb +12 -16
  56. data/lib/parse/model/model.rb +31 -37
  57. data/lib/parse/model/object.rb +58 -70
  58. data/lib/parse/model/pointer.rb +177 -176
  59. data/lib/parse/model/push.rb +8 -10
  60. data/lib/parse/model/shortnames.rb +1 -2
  61. data/lib/parse/model/time_zone.rb +3 -5
  62. data/lib/parse/query.rb +70 -37
  63. data/lib/parse/query/constraint.rb +4 -6
  64. data/lib/parse/query/constraints.rb +62 -20
  65. data/lib/parse/query/operation.rb +8 -11
  66. data/lib/parse/query/ordering.rb +45 -49
  67. data/lib/parse/stack.rb +15 -11
  68. data/lib/parse/stack/generators/rails.rb +28 -30
  69. data/lib/parse/stack/generators/templates/model.erb +5 -6
  70. data/lib/parse/stack/generators/templates/model_installation.rb +0 -1
  71. data/lib/parse/stack/generators/templates/model_role.rb +0 -1
  72. data/lib/parse/stack/generators/templates/model_session.rb +0 -1
  73. data/lib/parse/stack/generators/templates/model_user.rb +0 -1
  74. data/lib/parse/stack/generators/templates/parse.rb +9 -9
  75. data/lib/parse/stack/generators/templates/webhooks.rb +1 -2
  76. data/lib/parse/stack/railtie.rb +2 -4
  77. data/lib/parse/stack/tasks.rb +70 -86
  78. data/lib/parse/stack/version.rb +1 -1
  79. data/lib/parse/webhooks.rb +19 -26
  80. data/lib/parse/webhooks/payload.rb +26 -28
  81. data/lib/parse/webhooks/registration.rb +23 -31
  82. data/parse-stack.gemspec +28 -28
  83. data/parse-stack.png +0 -0
  84. metadata +27 -25
  85. data/.github/parse-ruby-sdk.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9eafb62ac7cb6896948ce8f820df6972b054a901
4
- data.tar.gz: 1ed13fb80a1efb0ccece5f3dc905aec0af11244e
2
+ SHA256:
3
+ metadata.gz: 9ba01ee44cc13c4f77c705ff40c42192429bf37b400ef0cc174538a9d18a80cb
4
+ data.tar.gz: cfb5e045f35baf6d7398eb68235624b269e4cf54a75313ad28f707006ccd8568
5
5
  SHA512:
6
- metadata.gz: e7c98a274cba051812c56d61fa260fee596021f9386819745a05a9d7b3f55ee64e6445c53d8b23ad0c7f26664d27193febb1b46c4511212224db4e0d2408c170
7
- data.tar.gz: ef6bbde1f02b58e2e48a56fbd6fb73b332822f5b69c019c27351a50343a1d563ac7cd2671558da707881e59850edd59f27edfc43be23728fe6ad52ccaa3504fc
6
+ metadata.gz: 4890914ace7b73e8876ce7c55b269ce80f1481c2f490e0802156edf9fc266592bd4b6e5c04271bf7c024b545d77d5f651415bad2153e5bda5861abe48fe435f7
7
+ data.tar.gz: 9f7ccb4db15dff09592f0657673acaa99589a82e255f056692e02c6789399339c4d68422474e80b969f4505d523ce4162c2c6992ce17dc66140bb0cb0132172e
@@ -0,0 +1,36 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Gem Tests
9
+
10
+ on:
11
+ push:
12
+ branches: [master]
13
+ pull_request:
14
+ branches: [master]
15
+
16
+ jobs:
17
+ test:
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ os: [ubuntu-latest, macos-latest]
22
+ ruby: [2.5, 2.6, 2.7]
23
+ runs-on: ${{ matrix.os }}
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Ruby
27
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
28
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
29
+ uses: ruby/setup-ruby@v1
30
+ # uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
31
+ with:
32
+ ruby-version: ${{ matrix.ruby }}
33
+ - name: Install dependencies
34
+ run: bundle install
35
+ - name: Run tests
36
+ run: bundle exec rake
@@ -0,0 +1,23 @@
1
+ ---
2
+ include:
3
+ - "**/*.rb"
4
+ exclude:
5
+ - spec/**/*
6
+ - test/**/*
7
+ - vendor/**/*
8
+ - ".bundle/**/*"
9
+ domains: []
10
+ reporters:
11
+ - rubocop
12
+ - require_not_found
13
+ require_paths: []
14
+ max_files: 5000
15
+ require:
16
+ - activemodel
17
+ - faraday
18
+ - faraday_middleware
19
+ - moneta
20
+ - activesupport
21
+ - rack
22
+ - active_model_serializers
23
+ - parallel
@@ -1,5 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
4
- - 2.3.0
5
- before_install: gem install bundler -v 1.12.5
3
+ - 2.6
4
+ - 2.7
5
+ before_install:
6
+ - yes | gem update --system --force
7
+ - gem install bundler
8
+ - bundle update --bundler
data/Changes.md CHANGED
@@ -1,14 +1,47 @@
1
1
  ## Parse-Stack Changelog
2
2
 
3
+ ### 1.9.0
4
+
5
+ - Support for ActiveModel and ActiveSupport 6.0.
6
+ - Fixes `as_json` tests related to changes.
7
+ - Support for Faraday 1.0 and FaradayMiddleware 1.0
8
+ - Minimum Ruby version is now `>= 2.5.0`
9
+
10
+ ### 1.8.0
11
+
12
+ - NEW: Support for Parse Server [full text search](https://github.com/modernistik/parse-stack#full-text-search-constraint) with the `text_search` operator. Related to [Issue#46](https://github.com/modernistik/parse-stack/issues/46).
13
+ - NEW: Support for `:distinct` aggregation query. Finds the distinct values for a specified field across a single collection or view and returns the results in an array.
14
+ For example, `User.distinct(:city, :created_at.after => 3.days.ago)` to return an array of unique city names for which records were created in the last 3 days.
15
+
16
+ ### 1.7.4
17
+
18
+ - NEW: Added `parse_object` extension to Hash classes to more easily call
19
+ Parse::Object.build in `map` loops with symbol to proc.
20
+ - CHANGED: Renamed `hyperdrive_config!` to `Parse::Hyperdrive.config!`
21
+ - REMOVED: The used of non-JSON dates has been removed for `createdAt` and `updatedAt`
22
+ fields as all Parse SDKs now support the new JSON format. `Parse.disable_serialized_string_date`
23
+ has also been removed so that `created_at` and `updated_at` return the same value
24
+ as `createdAt` and `updatedAt` respectively.
25
+ - FIXED: Builder properly auto generates Parse Relation associations using `through: :relation`.
26
+ - REMOVED: Defining `has_many` or `belongs_to` associations more than once will no longer result
27
+ in an `ArgumentError` (they are now warnings). This will allow you to define associations for classes before calling `auto_generate_models!`
28
+ - CHANGED: Parse::CollectionProxy now supports `parse_objects` and `parse_pointers` for compatibility with the
29
+ sibling `Array` methods. Having an Parse-JSON Hash array or a Parse::CollectionProxy which contains a series
30
+ of Parse hashes can now be easily converted to an array of Parse objects with these methods.
31
+ - FIXED: Correctly discards ACL changes on User model saves.
32
+ - FIXED: Fixes issues with double '/' in update URI paths.
33
+
3
34
  ### 1.7.3
35
+
4
36
  - CHANGED: Moved to using preferred ENV variable names based on parse-server cli.
5
37
  - CHANGED: Default url is now http://localhost:1337/parse
6
38
  - NEW: Added method `hyperdrive_config!` to apply remote ENV from remote JSON url.
7
39
 
8
40
  ### 1.7.2
41
+
9
42
  - NEW: `Parse::Model.autosave_on_create` has been removed in favor of `first_or_create!`.
10
43
  - NEW: Webhook Triggers and Functions now have a `wlog` method, similar to `puts`, but allows easier tracing of
11
- single requests in a multi-request threaded environment. (See Parse::Webhooks::Payload)
44
+ single requests in a multi-request threaded environment. (See Parse::Webhooks::Payload)
12
45
  - NEW: `:id` constraints also safely supports pointers by skipping class matching.
13
46
  - NEW: Support for `add_unique` and the set union operator `|` in collection proxies.
14
47
  - NEW: Support for `uniq` and `uniq!` in collection proxies.
@@ -22,13 +55,15 @@ single requests in a multi-request threaded environment. (See Parse::Webhooks::P
22
55
  - NEW: Added `Parse::Query#append` as alias to `Parse::Query#conditions`
23
56
  - CHANGED: `save_all` now returns true if there were no errors.
24
57
  - FIXED: first_or_create will now apply dirty tracking to newly created fields.
25
- - FIXED: Properties of :array type will always return a Parse::CollectionProxy if their internal value is nil. The object will not be marked dirty until something is added to the array.
58
+ - FIXED: Properties of :array type will always return a Parse::CollectionProxy if
59
+ their internal value is nil. The object will not be marked dirty until something is added to the array.
26
60
  - FIXED: Encoding a Parse::Object into JSON will remove any values that are `nil`
27
- which were not explicitly changed to that value.
28
- - [PR#39](https://github.com/modernistik/parse-stack/pull/39): Allow Moneta::Expires as cache object to allow for non-native expiring caches by [GrahamW](https://github.com/GrahamW)
29
-
61
+ which were not explicitly changed to that value.
62
+ - [PR#39](https://github.com/modernistik/parse-stack/pull/39): Allow Moneta::Expires
63
+ as cache object to allow for non-native expiring caches by [GrahamW](https://github.com/GrahamW)
30
64
 
31
65
  ### 1.7.1
66
+
32
67
  - NEW: `:timezone` datatype that maps to `Parse::TimeZone` (which mimics `ActiveSupport::TimeZone`)
33
68
  - NEW: Installation `:time_zone` field is now a `Parse::TimeZone` instance.
34
69
  - Any properties named `time_zone` or `timezone` with a string data type set will be converted to use `Parse::TimeZone` as the data class.
@@ -47,6 +82,7 @@ which were not explicitly changed to that value.
47
82
  - Parse::Installation now has a `has_one` association to Session through `:session`
48
83
 
49
84
  ### 1.7.0
85
+
50
86
  - NEW: You can use `set_default_acl` to set default ACLs for your subclasses.
51
87
  - NEW: Support for `withinPolygon` query constraint.
52
88
  - Refactoring of the default ACL system and deprecation of `Parse::Object.acl`
@@ -54,6 +90,7 @@ which were not explicitly changed to that value.
54
90
  - Documentation updates.
55
91
 
56
92
  ### 1.6.12
93
+
57
94
  - NEW: Parse.use_shortnames! to utilize shorter class methods. (optional)
58
95
  - NEW: parse-console supports `--url` option to load config from JSON url.
59
96
  - FIXES: Issue #27 where core classes could not be auto-upgraded if they were missing.
@@ -64,10 +101,11 @@ which were not explicitly changed to that value.
64
101
  - Parse::Query will raise an exception if a non-nil value is passed to `:session` that
65
102
  does not provide a valid session token string.
66
103
  - `save` and `destroy` will raise an exception if a non-nil `session` argument is passed
67
- that does not provide a valid session token string.
104
+ that does not provide a valid session token string.
68
105
  - Additional documentation changes and tests.
69
106
 
70
107
  ### 1.6.11
108
+
71
109
  - NEW: Parse::Object#sig method to get quick information about an instance.
72
110
  - FIX: Typo fix when using Array#objectIds.
73
111
  - FIX: Passing server url in parse-console without the `-s` option when using IRB.
@@ -77,24 +115,27 @@ which were not explicitly changed to that value.
77
115
  - parse-console supports `--config-sample` to generate a sample configuration file.
78
116
 
79
117
  ### 1.6.7
118
+
80
119
  - Default SERVER_URL changed to http://localhost:1337/parse
81
120
  - NEW: Command line tool `parse-console` to do interactive Parse development with parse-stack.
82
121
  - REMOVED: Deprecated parse.com specific APIs under the `/apps/` path.
83
122
 
84
123
  ### 1.6.5
124
+
85
125
  - Client handles HTTP Status 429 (RetryLimitExceeded)
86
126
  - Role class does not automatically set default ACLs for Roles. You can restore
87
- previous behavior by using `before_save :apply_default_acls`.
127
+ previous behavior by using `before_save :apply_default_acls`.
88
128
  - Fixed minor issue to Parse::User.signup when merging username into response.
89
129
  - NEW: Adds Parse::Product core class.
90
130
  - NEW: Rake task to list registered webhooks. `rake parse:webhooks:list`
91
131
  - Experimental support for beforeFind and afterFind - though webhook support not
92
- yet fully available in open source Parse Server.
132
+ yet fully available in open source Parse Server.
93
133
  - Removes HTTPS requirement on webhooks.
94
134
  - FIXES: Issue with WEBHOOK_KEY not being properly validated when set.
95
135
  - beforeSaves now return empty hash instead of true on noop changes.
96
136
 
97
137
  ### 1.6.4
138
+
98
139
  - Fixes #20: All temporary headers values are strings.
99
140
  - Reduced cache storage consumption by only storing response body and headers.
100
141
  - Increased maximum cache content length size to 1.25 MB.
@@ -104,14 +145,16 @@ yet fully available in open source Parse Server.
104
145
  - Updated test to validate against MT6.
105
146
 
106
147
  ### 1.6.1
148
+
107
149
  - NEW: Batch requests are now parallelized.
108
150
  - `skip` in queries no longer capped to 10,000.
109
- - `limit` in queries no longer capped at 1000.
151
+ - `limit` in queries no longer capped at 1000.
110
152
  - `all()` queries can now return as many results as possible.
111
153
  - NEW: `each()` method on Parse::Object subclasses to iterate
112
154
  over all records in the colleciton.
113
155
 
114
156
  ### 1.6.0
157
+
115
158
  - NEW: Auto generate models based on your remote schema.
116
159
  - The default server url is now 'http://localhost:1337/parse'.
117
160
  - Improves thread-safety of Webhooks middleware.
@@ -135,11 +178,13 @@ yet fully available in open source Parse Server.
135
178
  - All Parse errors inherit from Parse::Error.
136
179
 
137
180
  ### 1.5.3
181
+
138
182
  - Several fixes and performance improvements.
139
183
  - Major revisions to documentation.
140
184
  - Support for increment! and decrement! for Integer and Float properties.
141
185
 
142
186
  ### 1.5.2
187
+
143
188
  - FIXES #16: Constraints to `count` were not properly handled.
144
189
  - FIXES #15: Incorrect call to `request_password_reset`.
145
190
  - FIXES #14: Typos
@@ -155,6 +200,7 @@ yet fully available in open source Parse Server.
155
200
  - All constraint subclasses are under the Constraint namespace.
156
201
 
157
202
  ### 1.5.1
203
+
158
204
  - BREAKING CHANGE: The default `has_many` implementation is `:query` instead of `:array`.
159
205
  - NEW: Support for `has_one` type of associations.
160
206
  - NEW: `has_many` associations support `Query` implementation as the inverse of `:belongs_to`.
@@ -188,6 +234,7 @@ yet fully available in open source Parse Server.
188
234
  - `Parse::Object#validate!` can be used in webhook to throw webhook error on failed validation.
189
235
 
190
236
  ### 1.4.3
237
+
191
238
  - NEW: Support for rails generators: `parse_stack:install` and `parse_stack:model`.
192
239
  - Support Parse::Date with ActiveSupport::TimeWithZone.
193
240
  - :date properties will now raise an error if value was not converted to a Parse::Date.
@@ -199,6 +246,7 @@ yet fully available in open source Parse Server.
199
246
  - Added `anonymous?` instance method to `Parse::User` class.
200
247
 
201
248
  ### 1.3.8
249
+
202
250
  - Support for reloading the Parse config data with `Parse.config!`.
203
251
  - The Parse::Request object is now provided in the Parse::Response instance.
204
252
  - The HTTP status code is provided in `http_status` accessor for a Parse::Response.
@@ -210,11 +258,12 @@ yet fully available in open source Parse Server.
210
258
  - NEW: `:id` constraint to allow passing an objectId to a query where we will infer the class.
211
259
 
212
260
  ### 1.3.7
261
+
213
262
  - Fixes json_api loading issue between ruby json and active_model_serializers.
214
263
  - Fixes loading active_support core extensions.
215
264
  - Support for passing a `:session_token` as part of a Parse::Query.
216
265
  - Default mime-type for Parse::File instances is `image/jpeg`. You can override the default by setting
217
- `Parse::File.default_mime_type`.
266
+ `Parse::File.default_mime_type`.
218
267
  - Added `Parse.config` for easy access to `Parse::Client.client(:default).config`
219
268
  - Support for `Parse.auto_upgrade!` to easily upgrade all schemas.
220
269
  - You can import useful rake tasks by requiring `parse/stack/tasks` in your rake file.
@@ -229,37 +278,41 @@ yet fully available in open source Parse Server.
229
278
  - You can turn off formatting field names with `Parse::Query.field_formatter = nil`.
230
279
 
231
280
  ### 1.3.1
281
+
232
282
  - Parse::Query now supports `:cache` and `:use_master_key` option. (experimental)
233
283
  - Minimum ruby version set to 1.9.3 (same as ActiveModel 4.2.1)
234
284
  - Support for Rails 5.0+ and Rack 2.0+
235
285
 
236
286
  ### 1.3.0
237
- - **IMPORTANT**: __Raising an error no longer sends an error response back to
238
- the client in a Webhook trigger. You must now call `error!('...')` instead of
239
- calling `raise '...'`.__ The webhook block is now binded to the Parse::Webhooks::Payload
240
- instance, removing the need to pass `payload` object; use the instance methods directly.
241
- See updated README.md for more details.
287
+
288
+ - **IMPORTANT**: **Raising an error no longer sends an error response back to
289
+ the client in a Webhook trigger. You must now call `error!('...')` instead of
290
+ calling `raise '...'`.** The webhook block is now binded to the Parse::Webhooks::Payload
291
+ instance, removing the need to pass `payload` object; use the instance methods directly.
292
+ See updated README.md for more details.
242
293
  - **Parse-Stack will throw new exceptions** depending on the error code returned by Parse. These
243
- are of type AuthenticationError, TimeoutError, ProtocolError, ServerError, ConnectionError and RequestLimitExceededError.
294
+ are of type AuthenticationError, TimeoutError, ProtocolError, ServerError, ConnectionError and RequestLimitExceededError.
244
295
  - `nil` and Delete operations for `:integers` and `:booleans` are no longer typecast.
245
296
  - Added aliases `before`, `on_or_before`, `after` and `on_or_after` to help with
246
- comparing non-integer fields such as dates. These map to `lt`,`lte`, `gt` and `gte`.
297
+ comparing non-integer fields such as dates. These map to `lt`,`lte`, `gt` and `gte`.
247
298
  - Schema API return true is no changes were made to the table on `auto_upgrade!` (success)
248
299
  - Parse::Middleware::Caching no longer caches 404 and 410 responses; and responses
249
- with content lengths less than 20 bytes.
300
+ with content lengths less than 20 bytes.
250
301
  - FIX: Parse::Payload when applying auth_data in Webhooks. This fixes handing Facebook
251
- login with Android devices.
302
+ login with Android devices.
252
303
  - New method `save!` to raise an exception if the save fails.
253
304
  - FIX: Verify Content-Type header field is present for webhooks before checking its value.
254
305
  - FIX: Support `reload!` when using it Padrino.
255
306
 
256
307
  ### 1.2.1
308
+
257
309
  - Add active support string dependencies.
258
310
  - Support for handling the `Delete` operation on belongs_to
259
311
  and has_many relationships.
260
312
  - Documentation changes for supported Parse atomic operations.
261
313
 
262
314
  ### 1.2
315
+
263
316
  - Fixes issues with first_or_create.
264
317
  - Fixes issue when singularizing :belongs_to and :has_many property names.
265
318
  - Makes sure time is sent as UTC in queries.
@@ -268,6 +321,7 @@ login with Android devices.
268
321
  - Minimum version for ActiveModel and ActiveSupport is now 4.2.1
269
322
 
270
323
  ### 1.1
324
+
271
325
  - In Query `join` has been renamed to `matches`.
272
326
  - Not In Query `exclude` has been renamed to `excludes` for consistency.
273
327
  - Parse::Query now has a `:keys` operation to be usd when passing sub-queries to `select` and `matches`
@@ -275,41 +329,49 @@ login with Android devices.
275
329
  - Regular expression queries for `like` now send regex options
276
330
 
277
331
  ### 1.0.10
332
+
278
333
  - Fixes issues with setting default values as dirty when using the builder or before_save hook.
279
334
  - Fixes issues with autofetching pointers when default values are set.
280
335
 
281
336
  ### 1.0.8
337
+
282
338
  - Fixes issues when setting a collection proxy property with a collection proxy.
283
339
  - Default array values are now properly casted as collection proxies.
284
340
  - Default booleans values of `false` are now properly set.
285
341
 
286
342
  ### 1.0.7
343
+
287
344
  - Fixes issues when copying dates.
288
345
  - Fixes issues with double-arrays.
289
346
  - Fixes issues with mapping columns to atomic operations.
290
347
 
291
348
  ### 1.0.6
349
+
292
350
  - Fixes issue when making batch requests with special prefix url.
293
351
  - Adds Parse::ConnectionError custom exception type.
294
352
  - You can call locally registered cloud functions with
295
- Parse::Webhooks.run_function(:functionName, params) without going through the
296
- entire Parse API network stack.
353
+ Parse::Webhooks.run_function(:functionName, params) without going through the
354
+ entire Parse API network stack.
297
355
  - `:symbolize => true` now works for `:array` data types. All items in the collection
298
- will be symbolized - useful for array of strings.
356
+ will be symbolized - useful for array of strings.
299
357
  - Prevent ACLs from causing an autofetch.
300
358
  - Empty strings, arrays and `false` are now working with `:default` option in properties.
301
359
 
302
360
  ### 1.0.5
361
+
303
362
  - Defaults are applied on object instantiation.
304
363
  - When applying default values, dirty tracking is called.
305
364
 
306
365
  ### 1.0.4
366
+
307
367
  - Fixes minor issue when storing and retrieving objects from the cache.
308
368
  - Support for providing :server_url as a connection option for those migrating hosting
309
369
  their own parse-server.
310
370
 
311
371
  ### 1.0.3
372
+
312
373
  - Fixes minor issue when passing `nil` to the class `find` method.
313
374
 
314
375
  ### 1.0.2
376
+
315
377
  - Fixes internal issue with `operate_field!` method.
data/Gemfile CHANGED
@@ -1,18 +1,20 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in parse-stack.gemspec
4
4
  gemspec
5
5
 
6
6
  group :test, :development do
7
- gem 'dotenv'
8
- gem 'redis'
9
- gem 'rake'
10
- gem 'byebug'
11
- gem 'minitest'
12
- gem 'pry'
13
- gem 'pry-stack_explorer'
14
- gem 'pry-nav'
15
- gem 'yard', '>= 0.9.11'
16
- gem 'redcarpet'
17
- gem 'thin' # for yard server
7
+ gem "dotenv"
8
+ gem "redis"
9
+ gem "rake"
10
+ gem "byebug"
11
+ gem "minitest"
12
+ gem 'minitest-reporters'
13
+ gem "pry"
14
+ gem "pry-stack_explorer"
15
+ gem "pry-nav"
16
+ gem "yard", ">= 0.9.11"
17
+ gem "redcarpet"
18
+ gem "solargraph"
19
+ gem "thin" # for yard server
18
20
  end
@@ -1,105 +1,153 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parse-stack (1.7.3)
4
+ parse-stack (1.9.1)
5
5
  active_model_serializers (>= 0.9, < 1)
6
- activemodel (>= 4.2.1, < 6)
7
- activesupport (>= 4.2.1, < 6)
8
- faraday (>= 0.8, < 1)
9
- faraday_middleware (>= 0.9, < 1)
6
+ activemodel (>= 5, < 7)
7
+ activesupport (>= 5, < 7)
8
+ faraday (< 1)
9
+ faraday_middleware (>= 0.9, < 2)
10
10
  moneta (< 2)
11
11
  parallel (>= 1.6, < 2)
12
- rack (< 3)
12
+ rack (>= 2.0.6, < 3)
13
13
 
14
14
  GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
- actionpack (5.1.5)
18
- actionview (= 5.1.5)
19
- activesupport (= 5.1.5)
20
- rack (~> 2.0)
17
+ actionpack (6.0.3.2)
18
+ actionview (= 6.0.3.2)
19
+ activesupport (= 6.0.3.2)
20
+ rack (~> 2.0, >= 2.0.8)
21
21
  rack-test (>= 0.6.3)
22
22
  rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
24
- actionview (5.1.5)
25
- activesupport (= 5.1.5)
23
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
24
+ actionview (6.0.3.2)
25
+ activesupport (= 6.0.3.2)
26
26
  builder (~> 3.1)
27
27
  erubi (~> 1.4)
28
28
  rails-dom-testing (~> 2.0)
29
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
30
- active_model_serializers (0.10.7)
31
- actionpack (>= 4.1, < 6)
32
- activemodel (>= 4.1, < 6)
29
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
30
+ active_model_serializers (0.10.10)
31
+ actionpack (>= 4.1, < 6.1)
32
+ activemodel (>= 4.1, < 6.1)
33
33
  case_transform (>= 0.2)
34
34
  jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
35
- activemodel (5.1.5)
36
- activesupport (= 5.1.5)
37
- activesupport (5.1.5)
35
+ activemodel (6.0.3.2)
36
+ activesupport (= 6.0.3.2)
37
+ activesupport (6.0.3.2)
38
38
  concurrent-ruby (~> 1.0, >= 1.0.2)
39
- i18n (~> 0.7)
39
+ i18n (>= 0.7, < 2)
40
40
  minitest (~> 5.1)
41
41
  tzinfo (~> 1.1)
42
+ zeitwerk (~> 2.2, >= 2.2.2)
43
+ ansi (1.5.0)
44
+ ast (2.4.1)
45
+ backport (1.1.2)
46
+ benchmark (0.1.0)
42
47
  binding_of_caller (0.8.0)
43
48
  debug_inspector (>= 0.0.1)
44
- builder (3.2.3)
45
- byebug (10.0.0)
49
+ builder (3.2.4)
50
+ byebug (11.1.3)
46
51
  case_transform (0.2)
47
52
  activesupport
48
- coderay (1.1.2)
49
- concurrent-ruby (1.0.5)
50
- crass (1.0.3)
51
- daemons (1.2.6)
53
+ coderay (1.1.3)
54
+ concurrent-ruby (1.1.6)
55
+ crass (1.0.6)
56
+ daemons (1.3.1)
52
57
  debug_inspector (0.0.3)
53
- dotenv (2.2.1)
54
- erubi (1.7.0)
55
- eventmachine (1.2.5)
56
- faraday (0.14.0)
58
+ dotenv (2.7.6)
59
+ e2mmap (0.1.0)
60
+ erubi (1.9.0)
61
+ eventmachine (1.2.7)
62
+ faraday (0.17.3)
57
63
  multipart-post (>= 1.2, < 3)
58
- faraday_middleware (0.12.2)
64
+ faraday_middleware (0.14.0)
59
65
  faraday (>= 0.7.4, < 1.0)
60
- i18n (0.9.5)
66
+ i18n (1.8.5)
61
67
  concurrent-ruby (~> 1.0)
62
- jsonapi-renderer (0.2.0)
63
- loofah (2.2.0)
68
+ jaro_winkler (1.5.4)
69
+ jsonapi-renderer (0.2.2)
70
+ loofah (2.6.0)
64
71
  crass (~> 1.0.2)
65
72
  nokogiri (>= 1.5.9)
66
- method_source (0.8.2)
67
- mini_portile2 (2.3.0)
68
- minitest (5.11.3)
69
- moneta (1.0.0)
70
- multipart-post (2.0.0)
71
- nokogiri (1.8.2)
72
- mini_portile2 (~> 2.3.0)
73
- parallel (1.12.1)
74
- pry (0.10.4)
73
+ maruku (0.7.3)
74
+ method_source (0.9.2)
75
+ mini_portile2 (2.4.0)
76
+ minitest (5.14.1)
77
+ minitest-reporters (1.4.2)
78
+ ansi
79
+ builder
80
+ minitest (>= 5.0)
81
+ ruby-progressbar
82
+ moneta (1.3.0)
83
+ multipart-post (2.1.1)
84
+ nokogiri (1.10.10)
85
+ mini_portile2 (~> 2.4.0)
86
+ parallel (1.19.2)
87
+ parser (2.7.1.4)
88
+ ast (~> 2.4.1)
89
+ pry (0.12.2)
75
90
  coderay (~> 1.1.0)
76
- method_source (~> 0.8.1)
77
- slop (~> 3.4)
78
- pry-nav (0.2.4)
79
- pry (>= 0.9.10, < 0.11.0)
80
- pry-stack_explorer (0.4.9.2)
91
+ method_source (~> 0.9.0)
92
+ pry-nav (0.3.0)
93
+ pry (>= 0.9.10, < 0.13.0)
94
+ pry-stack_explorer (0.4.9.3)
81
95
  binding_of_caller (>= 0.7)
82
96
  pry (>= 0.9.11)
83
- rack (2.0.4)
84
- rack-test (0.8.3)
97
+ rack (2.2.3)
98
+ rack-test (1.1.0)
85
99
  rack (>= 1.0, < 3)
86
100
  rails-dom-testing (2.0.3)
87
101
  activesupport (>= 4.2.0)
88
102
  nokogiri (>= 1.6)
89
- rails-html-sanitizer (1.0.3)
90
- loofah (~> 2.0)
91
- rake (12.3.0)
92
- redcarpet (3.4.0)
93
- redis (4.0.1)
94
- slop (3.6.0)
103
+ rails-html-sanitizer (1.3.0)
104
+ loofah (~> 2.3)
105
+ rainbow (3.0.0)
106
+ rake (13.0.1)
107
+ redcarpet (3.5.0)
108
+ redis (4.2.1)
109
+ regexp_parser (1.7.1)
110
+ reverse_markdown (2.0.0)
111
+ nokogiri
112
+ rexml (3.2.4)
113
+ rubocop (0.88.0)
114
+ parallel (~> 1.10)
115
+ parser (>= 2.7.1.1)
116
+ rainbow (>= 2.2.2, < 4.0)
117
+ regexp_parser (>= 1.7)
118
+ rexml
119
+ rubocop-ast (>= 0.1.0, < 1.0)
120
+ ruby-progressbar (~> 1.7)
121
+ unicode-display_width (>= 1.4.0, < 2.0)
122
+ rubocop-ast (0.2.0)
123
+ parser (>= 2.7.0.1)
124
+ ruby-progressbar (1.10.1)
125
+ solargraph (0.39.12)
126
+ backport (~> 1.1)
127
+ benchmark
128
+ bundler (>= 1.17.2)
129
+ e2mmap
130
+ jaro_winkler (~> 1.5)
131
+ maruku (~> 0.7, >= 0.7.3)
132
+ nokogiri (~> 1.9, >= 1.9.1)
133
+ parser (~> 2.3)
134
+ reverse_markdown (>= 1.0.5, < 3)
135
+ rubocop (~> 0.52)
136
+ thor (~> 1.0)
137
+ tilt (~> 2.0)
138
+ yard (~> 0.9, >= 0.9.24)
95
139
  thin (1.7.2)
96
140
  daemons (~> 1.0, >= 1.0.9)
97
141
  eventmachine (~> 1.0, >= 1.0.4)
98
142
  rack (>= 1, < 3)
143
+ thor (1.0.1)
99
144
  thread_safe (0.3.6)
100
- tzinfo (1.2.5)
145
+ tilt (2.0.10)
146
+ tzinfo (1.2.7)
101
147
  thread_safe (~> 0.1)
102
- yard (0.9.12)
148
+ unicode-display_width (1.7.0)
149
+ yard (0.9.25)
150
+ zeitwerk (2.4.0)
103
151
 
104
152
  PLATFORMS
105
153
  ruby
@@ -108,6 +156,7 @@ DEPENDENCIES
108
156
  byebug
109
157
  dotenv
110
158
  minitest
159
+ minitest-reporters
111
160
  parse-stack!
112
161
  pry
113
162
  pry-nav
@@ -115,8 +164,9 @@ DEPENDENCIES
115
164
  rake
116
165
  redcarpet
117
166
  redis
167
+ solargraph
118
168
  thin
119
169
  yard (>= 0.9.11)
120
170
 
121
171
  BUNDLED WITH
122
- 1.16.1
172
+ 2.1.4