parse-stack 1.8.0 → 1.8.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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/.solargraph.yml +23 -0
  3. data/.travis.yml +0 -1
  4. data/Gemfile +13 -12
  5. data/Gemfile.lock +88 -51
  6. data/README.md +2 -4
  7. data/Rakefile +14 -14
  8. data/lib/parse/api/aggregate.rb +4 -7
  9. data/lib/parse/api/all.rb +1 -1
  10. data/lib/parse/api/analytics.rb +0 -3
  11. data/lib/parse/api/batch.rb +3 -5
  12. data/lib/parse/api/cloud_functions.rb +0 -3
  13. data/lib/parse/api/config.rb +0 -4
  14. data/lib/parse/api/files.rb +3 -7
  15. data/lib/parse/api/hooks.rb +4 -8
  16. data/lib/parse/api/objects.rb +7 -12
  17. data/lib/parse/api/push.rb +0 -4
  18. data/lib/parse/api/schema.rb +2 -6
  19. data/lib/parse/api/server.rb +4 -7
  20. data/lib/parse/api/sessions.rb +2 -5
  21. data/lib/parse/api/users.rb +9 -14
  22. data/lib/parse/client.rb +54 -50
  23. data/lib/parse/client/authentication.rb +29 -33
  24. data/lib/parse/client/batch.rb +8 -11
  25. data/lib/parse/client/body_builder.rb +19 -20
  26. data/lib/parse/client/caching.rb +23 -28
  27. data/lib/parse/client/protocol.rb +11 -12
  28. data/lib/parse/client/request.rb +4 -6
  29. data/lib/parse/client/response.rb +5 -7
  30. data/lib/parse/model/acl.rb +14 -12
  31. data/lib/parse/model/associations/belongs_to.rb +14 -21
  32. data/lib/parse/model/associations/collection_proxy.rb +328 -329
  33. data/lib/parse/model/associations/has_many.rb +18 -25
  34. data/lib/parse/model/associations/has_one.rb +6 -11
  35. data/lib/parse/model/associations/pointer_collection_proxy.rb +5 -8
  36. data/lib/parse/model/associations/relation_collection_proxy.rb +5 -9
  37. data/lib/parse/model/bytes.rb +8 -10
  38. data/lib/parse/model/classes/installation.rb +2 -4
  39. data/lib/parse/model/classes/product.rb +2 -5
  40. data/lib/parse/model/classes/role.rb +3 -5
  41. data/lib/parse/model/classes/session.rb +2 -5
  42. data/lib/parse/model/classes/user.rb +20 -16
  43. data/lib/parse/model/core/actions.rb +31 -46
  44. data/lib/parse/model/core/builder.rb +6 -6
  45. data/lib/parse/model/core/errors.rb +0 -1
  46. data/lib/parse/model/core/fetching.rb +45 -50
  47. data/lib/parse/model/core/properties.rb +51 -66
  48. data/lib/parse/model/core/querying.rb +291 -294
  49. data/lib/parse/model/core/schema.rb +89 -92
  50. data/lib/parse/model/date.rb +16 -17
  51. data/lib/parse/model/file.rb +171 -174
  52. data/lib/parse/model/geopoint.rb +12 -16
  53. data/lib/parse/model/model.rb +31 -37
  54. data/lib/parse/model/object.rb +47 -53
  55. data/lib/parse/model/pointer.rb +177 -176
  56. data/lib/parse/model/push.rb +8 -10
  57. data/lib/parse/model/shortnames.rb +1 -2
  58. data/lib/parse/model/time_zone.rb +3 -5
  59. data/lib/parse/query.rb +34 -35
  60. data/lib/parse/query/constraint.rb +4 -6
  61. data/lib/parse/query/constraints.rb +21 -29
  62. data/lib/parse/query/operation.rb +8 -11
  63. data/lib/parse/query/ordering.rb +45 -49
  64. data/lib/parse/stack.rb +11 -12
  65. data/lib/parse/stack/generators/rails.rb +28 -30
  66. data/lib/parse/stack/generators/templates/model.erb +5 -6
  67. data/lib/parse/stack/generators/templates/model_installation.rb +0 -1
  68. data/lib/parse/stack/generators/templates/model_role.rb +0 -1
  69. data/lib/parse/stack/generators/templates/model_session.rb +0 -1
  70. data/lib/parse/stack/generators/templates/model_user.rb +0 -1
  71. data/lib/parse/stack/generators/templates/parse.rb +9 -9
  72. data/lib/parse/stack/generators/templates/webhooks.rb +1 -2
  73. data/lib/parse/stack/railtie.rb +2 -4
  74. data/lib/parse/stack/tasks.rb +70 -86
  75. data/lib/parse/stack/version.rb +1 -1
  76. data/lib/parse/webhooks.rb +19 -26
  77. data/lib/parse/webhooks/payload.rb +26 -28
  78. data/lib/parse/webhooks/registration.rb +23 -31
  79. data/parse-stack.gemspec +25 -25
  80. data/parse-stack.png +0 -0
  81. metadata +13 -7
  82. data/.github/parse-ruby-sdk.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb8e8c64fc1b8ada3c5746964e7e0cb122a14b6285c40bad92ca99940784ea58
4
- data.tar.gz: 52e4ef4525970ec793f7bd309d6fb9c679c3e7ff433cad8b94329c49c8d40c43
3
+ metadata.gz: 701000f16067800a6902f767dcff4d0a7c4bda2c1753c4f43de6502fdf67ea1a
4
+ data.tar.gz: 017677fbcfe5e324b1e0ec0403e3a10309f7bad7c14fd8a273cc01fd461975ff
5
5
  SHA512:
6
- metadata.gz: ca5320827dbb4fa24950f2fd65dbf7f45d5661e1de379706eb29cb8c3b6a8651b8109eacd6224988455112aaf5b9eba7e0a996281cf79c5ca36db9aedcef160c
7
- data.tar.gz: d24aa327c2c77513e26d9a5993ce039ef3a790474dd3c23d8a5a12649d9e24aedc4888da74fd52312ff631800b8be91460e16f5447f84ea7fde4bcd02f5aeb4d
6
+ metadata.gz: 189fdf3e1570c01622d84d76c4dd646d480c086be67fc24a0280322d642204fae66d513cc91a6fc44bed1eeff0107ee5cd5cb4f7a9236c20a29234cdb234a3b1
7
+ data.tar.gz: fad384f60dfe9a6c37c06ad4e574e3cd51241f801f91ec0238aa0159e7c0a453fa52f3d967b47e729c038bdf779149b3aee331146963d5288d5880346b3c4a15
@@ -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
@@ -2,6 +2,5 @@ language: ruby
2
2
  rvm:
3
3
  - 2.3.7
4
4
  - 2.4.4
5
- - 2.5.1
6
5
  - 2.6.0
7
6
  before_install: gem install bundler
data/Gemfile CHANGED
@@ -1,18 +1,19 @@
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 "pry"
13
+ gem "pry-stack_explorer"
14
+ gem "pry-nav"
15
+ gem "yard", ">= 0.9.11"
16
+ gem "redcarpet"
17
+ gem "solargraph"
18
+ gem "thin" # for yard server
18
19
  end
@@ -1,105 +1,141 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parse-stack (1.8.0)
4
+ parse-stack (1.8.1)
5
5
  active_model_serializers (>= 0.9, < 1)
6
6
  activemodel (>= 4.2.1, < 6)
7
- activesupport (>= 4.2.1, < 6)
7
+ activesupport (>= 4.2.1, < 7)
8
8
  faraday (>= 0.8, < 1)
9
9
  faraday_middleware (>= 0.9, < 1)
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.2.1)
18
- actionview (= 5.2.1)
19
- activesupport (= 5.2.1)
20
- rack (~> 2.0)
17
+ actionpack (5.2.4.2)
18
+ actionview (= 5.2.4.2)
19
+ activesupport (= 5.2.4.2)
20
+ rack (~> 2.0, >= 2.0.8)
21
21
  rack-test (>= 0.6.3)
22
22
  rails-dom-testing (~> 2.0)
23
23
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
24
- actionview (5.2.1)
25
- activesupport (= 5.2.1)
24
+ actionview (5.2.4.2)
25
+ activesupport (= 5.2.4.2)
26
26
  builder (~> 3.1)
27
27
  erubi (~> 1.4)
28
28
  rails-dom-testing (~> 2.0)
29
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)
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.2.1)
36
- activesupport (= 5.2.1)
37
- activesupport (5.2.1)
35
+ activemodel (5.2.4.2)
36
+ activesupport (= 5.2.4.2)
37
+ activesupport (5.2.4.2)
38
38
  concurrent-ruby (~> 1.0, >= 1.0.2)
39
39
  i18n (>= 0.7, < 2)
40
40
  minitest (~> 5.1)
41
41
  tzinfo (~> 1.1)
42
+ ast (2.4.0)
43
+ backport (1.1.2)
44
+ benchmark (0.1.0)
42
45
  binding_of_caller (0.8.0)
43
46
  debug_inspector (>= 0.0.1)
44
- builder (3.2.3)
45
- byebug (10.0.2)
47
+ builder (3.2.4)
48
+ byebug (11.1.3)
46
49
  case_transform (0.2)
47
50
  activesupport
48
51
  coderay (1.1.2)
49
- concurrent-ruby (1.0.5)
50
- crass (1.0.4)
51
- daemons (1.2.6)
52
+ concurrent-ruby (1.1.6)
53
+ crass (1.0.6)
54
+ daemons (1.3.1)
52
55
  debug_inspector (0.0.3)
53
- dotenv (2.5.0)
54
- erubi (1.7.1)
56
+ dotenv (2.7.5)
57
+ e2mmap (0.1.0)
58
+ erubi (1.9.0)
55
59
  eventmachine (1.2.7)
56
- faraday (0.15.3)
60
+ faraday (0.17.3)
57
61
  multipart-post (>= 1.2, < 3)
58
- faraday_middleware (0.12.2)
62
+ faraday_middleware (0.14.0)
59
63
  faraday (>= 0.7.4, < 1.0)
60
- i18n (1.1.0)
64
+ i18n (1.8.2)
61
65
  concurrent-ruby (~> 1.0)
62
- jsonapi-renderer (0.2.0)
63
- loofah (2.2.2)
66
+ jaro_winkler (1.5.4)
67
+ jsonapi-renderer (0.2.2)
68
+ loofah (2.5.0)
64
69
  crass (~> 1.0.2)
65
70
  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.4)
72
- mini_portile2 (~> 2.3.0)
73
- parallel (1.12.1)
74
- pry (0.10.4)
71
+ maruku (0.7.3)
72
+ method_source (0.9.2)
73
+ mini_portile2 (2.4.0)
74
+ minitest (5.14.0)
75
+ moneta (1.3.0)
76
+ multipart-post (2.1.1)
77
+ nokogiri (1.10.9)
78
+ mini_portile2 (~> 2.4.0)
79
+ parallel (1.19.1)
80
+ parser (2.7.1.2)
81
+ ast (~> 2.4.0)
82
+ pry (0.12.2)
75
83
  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)
84
+ method_source (~> 0.9.0)
85
+ pry-nav (0.3.0)
86
+ pry (>= 0.9.10, < 0.13.0)
87
+ pry-stack_explorer (0.4.9.3)
81
88
  binding_of_caller (>= 0.7)
82
89
  pry (>= 0.9.11)
83
- rack (2.0.5)
90
+ rack (2.2.2)
84
91
  rack-test (1.1.0)
85
92
  rack (>= 1.0, < 3)
86
93
  rails-dom-testing (2.0.3)
87
94
  activesupport (>= 4.2.0)
88
95
  nokogiri (>= 1.6)
89
- rails-html-sanitizer (1.0.4)
90
- loofah (~> 2.2, >= 2.2.2)
91
- rake (12.3.1)
92
- redcarpet (3.4.0)
93
- redis (4.0.2)
94
- slop (3.6.0)
96
+ rails-html-sanitizer (1.3.0)
97
+ loofah (~> 2.3)
98
+ rainbow (3.0.0)
99
+ rake (13.0.1)
100
+ redcarpet (3.5.0)
101
+ redis (4.1.4)
102
+ reverse_markdown (1.4.0)
103
+ nokogiri
104
+ rexml (3.2.4)
105
+ rubocop (0.82.0)
106
+ jaro_winkler (~> 1.5.1)
107
+ parallel (~> 1.10)
108
+ parser (>= 2.7.0.1)
109
+ rainbow (>= 2.2.2, < 4.0)
110
+ rexml
111
+ ruby-progressbar (~> 1.7)
112
+ unicode-display_width (>= 1.4.0, < 2.0)
113
+ ruby-progressbar (1.10.1)
114
+ solargraph (0.39.7)
115
+ backport (~> 1.1)
116
+ benchmark
117
+ bundler (>= 1.17.2)
118
+ e2mmap
119
+ jaro_winkler (~> 1.5)
120
+ maruku (~> 0.7, >= 0.7.3)
121
+ nokogiri (~> 1.9, >= 1.9.1)
122
+ parser (~> 2.3)
123
+ reverse_markdown (~> 1.0, >= 1.0.5)
124
+ rubocop (~> 0.52)
125
+ thor (~> 1.0)
126
+ tilt (~> 2.0)
127
+ yard (~> 0.9, >= 0.9.24)
95
128
  thin (1.7.2)
96
129
  daemons (~> 1.0, >= 1.0.9)
97
130
  eventmachine (~> 1.0, >= 1.0.4)
98
131
  rack (>= 1, < 3)
132
+ thor (1.0.1)
99
133
  thread_safe (0.3.6)
100
- tzinfo (1.2.5)
134
+ tilt (2.0.10)
135
+ tzinfo (1.2.7)
101
136
  thread_safe (~> 0.1)
102
- yard (0.9.16)
137
+ unicode-display_width (1.7.0)
138
+ yard (0.9.25)
103
139
 
104
140
  PLATFORMS
105
141
  ruby
@@ -115,8 +151,9 @@ DEPENDENCIES
115
151
  rake
116
152
  redcarpet
117
153
  redis
154
+ solargraph
118
155
  thin
119
156
  yard (>= 0.9.11)
120
157
 
121
158
  BUNDLED WITH
122
- 1.16.2
159
+ 1.17.3
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
- <img src='https://raw.githubusercontent.com/modernistik/parse-stack/master/.github/parse-ruby-sdk.png?raw=true' width='500' alt='Ruby Parse Server SDK'/>
1
+ ![Parse Stack - The Parse Server Ruby Client SDK](https://raw.githubusercontent.com/modernistik/parse-stack/master/parse-stack.png?raw=true)
2
2
 
3
- # Parse Stack - The Parse Server Ruby Client SDK
4
-
5
- [Parse Stack](https://github.com/modernistik/parse-stack) is the [Parse Server](http://parseplatform.org/) SDK, REST Client and ORM framework for [Ruby](https://www.ruby-lang.org/en/). It provides a client adapter, a query engine, an object relational mapper (ORM) and a Cloud Code Webhooks rack application.
3
+ A full featured Active Model ORM and Ruby REST API for Parse-Server. [Parse Stack](https://github.com/modernistik/parse-stack) is the [Parse Server](http://parseplatform.org/) SDK, REST Client and ORM framework for [Ruby](https://www.ruby-lang.org/en/). It provides a client adapter, a query engine, an object relational mapper (ORM) and a Cloud Code Webhooks rack application.
6
4
 
7
5
  Below is a [quick start guide](https://github.com/modernistik/parse-stack#overview), but you can also check out the full *[API Reference](https://www.modernistik.com/gems/parse-stack/index.html)* for more detailed information about our Parse Server SDK.
8
6
 
data/Rakefile CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
- require 'yard'
4
- require 'rake/testtask'
3
+ require "yard"
4
+ require "rake/testtask"
5
5
 
6
6
  Rake::TestTask.new do |t|
7
- t.libs << 'lib/parse/stack'
8
- t.test_files = FileList['test/lib/**/*_test.rb']
7
+ t.libs << "lib/parse/stack"
8
+ t.test_files = FileList["test/lib/**/*_test.rb"]
9
9
  t.warning = false
10
10
  t.verbose = true
11
11
  end
@@ -13,22 +13,22 @@ end
13
13
  task :default => :test
14
14
 
15
15
  task :console do
16
- exec './bin/console'
16
+ exec "./bin/console"
17
17
  end
18
18
  task :c => :console
19
19
 
20
- desc 'List undocumented methods'
21
- task 'yard:stats' do
22
- exec 'yard stats --list-undoc'
20
+ desc "List undocumented methods"
21
+ task "yard:stats" do
22
+ exec "yard stats --list-undoc"
23
23
  end
24
24
 
25
- desc 'Start the yard server'
26
- task 'docs' do
27
- exec 'rm -rf ./yard && yard server --reload'
25
+ desc "Start the yard server"
26
+ task "docs" do
27
+ exec "rm -rf ./yard && yard server --reload"
28
28
  end
29
29
 
30
30
  YARD::Rake::YardocTask.new do |t|
31
- t.files = ['lib/**/*.rb'] # optional
32
- t.options = ['-o', 'doc/parse-stack' ] # optional
33
- t.stats_options = ['--list-undoc'] # optional
31
+ t.files = ["lib/**/*.rb"] # optional
32
+ t.options = ["-o", "doc/parse-stack"] # optional
33
+ t.stats_options = ["--list-undoc"] # optional
34
34
  end
@@ -1,11 +1,11 @@
1
1
  # encoding: UTF-8
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'active_support'
5
- require 'active_support/core_ext'
6
- require_relative './objects'
7
- module Parse
4
+ require "active_support"
5
+ require "active_support/core_ext"
6
+ require_relative "./objects"
8
7
 
8
+ module Parse
9
9
  module API
10
10
  # REST API methods for fetching CRUD operations on Parse objects.
11
11
  module Aggregate
@@ -33,7 +33,6 @@ module Parse
33
33
  end
34
34
  "#{PATH_PREFIX}#{className}"
35
35
  end
36
-
37
36
  end
38
37
 
39
38
  # Get the API path for this class.
@@ -55,8 +54,6 @@ module Parse
55
54
  response.parse_class = className if response.present?
56
55
  response
57
56
  end
58
-
59
57
  end #Aggregate
60
58
  end #API
61
-
62
59
  end
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  # frozen_string_literal: true
3
3
 
4
- require_relative '../client'
4
+ require_relative "../client"
5
5
  require_relative "analytics"
6
6
  require_relative "aggregate"
7
7
  require_relative "batch"
@@ -2,7 +2,6 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Parse
5
-
6
5
  module API
7
6
  # Defines the Analytics interface for the Parse REST API
8
7
  module Analytics
@@ -14,8 +13,6 @@ module Parse
14
13
  def send_analytics(event_name, metrics = {})
15
14
  request :post, "events/#{event_name}", body: metrics
16
15
  end
17
-
18
16
  end
19
17
  end
20
-
21
18
  end
@@ -1,12 +1,11 @@
1
1
  # encoding: UTF-8
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'parallel'
5
- require 'active_support'
6
- require 'active_support/core_ext'
4
+ require "parallel"
5
+ require "active_support"
6
+ require "active_support/core_ext"
7
7
 
8
8
  module Parse
9
-
10
9
  module API
11
10
  # Defines the Batch interface for the Parse REST API
12
11
  # @see Parse::BatchOperation
@@ -30,7 +29,6 @@ module Parse
30
29
  response = request(:post, "batch", body: batch_operations.as_json)
31
30
  response.success? && response.batch? ? response.batch_responses : response
32
31
  end
33
-
34
32
  end
35
33
  end
36
34
  end
@@ -2,7 +2,6 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Parse
5
-
6
5
  module API
7
6
  # Defines the CloudCode interface for the Parse REST API
8
7
  module CloudFunctions
@@ -22,8 +21,6 @@ module Parse
22
21
  def trigger_job(name, body = {})
23
22
  request :post, "jobs/#{name}", body: body
24
23
  end
25
-
26
24
  end
27
25
  end
28
-
29
26
  end
@@ -2,7 +2,6 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Parse
5
-
6
5
  module API
7
6
  # Defines the Config interface for the Parse REST API
8
7
  module Config
@@ -44,9 +43,6 @@ module Parse
44
43
  @config.merge!(params) if result && @config.present?
45
44
  result
46
45
  end
47
-
48
46
  end
49
-
50
47
  end
51
-
52
48
  end