parse-stack 1.8.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
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