parse-stack 1.7.3 → 1.9.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.
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