parse-stack 1.7.2 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changes.md +5 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +41 -38
- data/README.md +6 -6
- data/bin/parse-console +3 -3
- data/lib/parse/client.rb +7 -7
- data/lib/parse/stack.rb +23 -1
- data/lib/parse/stack/generators/templates/parse.rb +4 -4
- data/lib/parse/stack/version.rb +1 -1
- data/lib/parse/webhooks.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9eafb62ac7cb6896948ce8f820df6972b054a901
|
|
4
|
+
data.tar.gz: 1ed13fb80a1efb0ccece5f3dc905aec0af11244e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e7c98a274cba051812c56d61fa260fee596021f9386819745a05a9d7b3f55ee64e6445c53d8b23ad0c7f26664d27193febb1b46c4511212224db4e0d2408c170
|
|
7
|
+
data.tar.gz: ef6bbde1f02b58e2e48a56fbd6fb73b332822f5b69c019c27351a50343a1d563ac7cd2671558da707881e59850edd59f27edfc43be23728fe6ad52ccaa3504fc
|
data/Changes.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
## Parse-Stack Changelog
|
|
2
2
|
|
|
3
|
+
### 1.7.3
|
|
4
|
+
- CHANGED: Moved to using preferred ENV variable names based on parse-server cli.
|
|
5
|
+
- CHANGED: Default url is now http://localhost:1337/parse
|
|
6
|
+
- NEW: Added method `hyperdrive_config!` to apply remote ENV from remote JSON url.
|
|
7
|
+
|
|
3
8
|
### 1.7.2
|
|
4
9
|
- NEW: `Parse::Model.autosave_on_create` has been removed in favor of `first_or_create!`.
|
|
5
10
|
- NEW: Webhook Triggers and Functions now have a `wlog` method, similar to `puts`, but allows easier tracing of
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
parse-stack (1.7.
|
|
4
|
+
parse-stack (1.7.3)
|
|
5
5
|
active_model_serializers (>= 0.9, < 1)
|
|
6
6
|
activemodel (>= 4.2.1, < 6)
|
|
7
7
|
activesupport (>= 4.2.1, < 6)
|
|
@@ -14,60 +14,63 @@ PATH
|
|
|
14
14
|
GEM
|
|
15
15
|
remote: https://rubygems.org/
|
|
16
16
|
specs:
|
|
17
|
-
actionpack (5.1.
|
|
18
|
-
actionview (= 5.1.
|
|
19
|
-
activesupport (= 5.1.
|
|
17
|
+
actionpack (5.1.5)
|
|
18
|
+
actionview (= 5.1.5)
|
|
19
|
+
activesupport (= 5.1.5)
|
|
20
20
|
rack (~> 2.0)
|
|
21
|
-
rack-test (
|
|
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.1.
|
|
25
|
-
activesupport (= 5.1.
|
|
24
|
+
actionview (5.1.5)
|
|
25
|
+
activesupport (= 5.1.5)
|
|
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.
|
|
30
|
+
active_model_serializers (0.10.7)
|
|
31
31
|
actionpack (>= 4.1, < 6)
|
|
32
32
|
activemodel (>= 4.1, < 6)
|
|
33
33
|
case_transform (>= 0.2)
|
|
34
|
-
jsonapi-renderer (>= 0.1.1.beta1, < 0.
|
|
35
|
-
activemodel (5.1.
|
|
36
|
-
activesupport (= 5.1.
|
|
37
|
-
activesupport (5.1.
|
|
34
|
+
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
|
35
|
+
activemodel (5.1.5)
|
|
36
|
+
activesupport (= 5.1.5)
|
|
37
|
+
activesupport (5.1.5)
|
|
38
38
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
39
39
|
i18n (~> 0.7)
|
|
40
40
|
minitest (~> 5.1)
|
|
41
41
|
tzinfo (~> 1.1)
|
|
42
|
-
binding_of_caller (0.
|
|
42
|
+
binding_of_caller (0.8.0)
|
|
43
43
|
debug_inspector (>= 0.0.1)
|
|
44
44
|
builder (3.2.3)
|
|
45
|
-
byebug (
|
|
45
|
+
byebug (10.0.0)
|
|
46
46
|
case_transform (0.2)
|
|
47
47
|
activesupport
|
|
48
|
-
coderay (1.1.
|
|
48
|
+
coderay (1.1.2)
|
|
49
49
|
concurrent-ruby (1.0.5)
|
|
50
|
-
|
|
50
|
+
crass (1.0.3)
|
|
51
|
+
daemons (1.2.6)
|
|
51
52
|
debug_inspector (0.0.3)
|
|
52
53
|
dotenv (2.2.1)
|
|
53
|
-
erubi (1.
|
|
54
|
-
eventmachine (1.2.
|
|
55
|
-
faraday (0.
|
|
54
|
+
erubi (1.7.0)
|
|
55
|
+
eventmachine (1.2.5)
|
|
56
|
+
faraday (0.14.0)
|
|
56
57
|
multipart-post (>= 1.2, < 3)
|
|
57
|
-
faraday_middleware (0.
|
|
58
|
+
faraday_middleware (0.12.2)
|
|
58
59
|
faraday (>= 0.7.4, < 1.0)
|
|
59
|
-
i18n (0.
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
i18n (0.9.5)
|
|
61
|
+
concurrent-ruby (~> 1.0)
|
|
62
|
+
jsonapi-renderer (0.2.0)
|
|
63
|
+
loofah (2.2.0)
|
|
64
|
+
crass (~> 1.0.2)
|
|
62
65
|
nokogiri (>= 1.5.9)
|
|
63
66
|
method_source (0.8.2)
|
|
64
|
-
mini_portile2 (2.
|
|
65
|
-
minitest (5.
|
|
67
|
+
mini_portile2 (2.3.0)
|
|
68
|
+
minitest (5.11.3)
|
|
66
69
|
moneta (1.0.0)
|
|
67
70
|
multipart-post (2.0.0)
|
|
68
|
-
nokogiri (1.8.
|
|
69
|
-
mini_portile2 (~> 2.
|
|
70
|
-
parallel (1.
|
|
71
|
+
nokogiri (1.8.2)
|
|
72
|
+
mini_portile2 (~> 2.3.0)
|
|
73
|
+
parallel (1.12.1)
|
|
71
74
|
pry (0.10.4)
|
|
72
75
|
coderay (~> 1.1.0)
|
|
73
76
|
method_source (~> 0.8.1)
|
|
@@ -77,26 +80,26 @@ GEM
|
|
|
77
80
|
pry-stack_explorer (0.4.9.2)
|
|
78
81
|
binding_of_caller (>= 0.7)
|
|
79
82
|
pry (>= 0.9.11)
|
|
80
|
-
rack (2.0.
|
|
81
|
-
rack-test (0.
|
|
82
|
-
rack (>= 1.0)
|
|
83
|
+
rack (2.0.4)
|
|
84
|
+
rack-test (0.8.3)
|
|
85
|
+
rack (>= 1.0, < 3)
|
|
83
86
|
rails-dom-testing (2.0.3)
|
|
84
87
|
activesupport (>= 4.2.0)
|
|
85
88
|
nokogiri (>= 1.6)
|
|
86
89
|
rails-html-sanitizer (1.0.3)
|
|
87
90
|
loofah (~> 2.0)
|
|
88
|
-
rake (12.
|
|
91
|
+
rake (12.3.0)
|
|
89
92
|
redcarpet (3.4.0)
|
|
90
|
-
redis (
|
|
93
|
+
redis (4.0.1)
|
|
91
94
|
slop (3.6.0)
|
|
92
|
-
thin (1.7.
|
|
95
|
+
thin (1.7.2)
|
|
93
96
|
daemons (~> 1.0, >= 1.0.9)
|
|
94
97
|
eventmachine (~> 1.0, >= 1.0.4)
|
|
95
98
|
rack (>= 1, < 3)
|
|
96
99
|
thread_safe (0.3.6)
|
|
97
|
-
tzinfo (1.2.
|
|
100
|
+
tzinfo (1.2.5)
|
|
98
101
|
thread_safe (~> 0.1)
|
|
99
|
-
yard (0.9.
|
|
102
|
+
yard (0.9.12)
|
|
100
103
|
|
|
101
104
|
PLATFORMS
|
|
102
105
|
ruby
|
|
@@ -113,7 +116,7 @@ DEPENDENCIES
|
|
|
113
116
|
redcarpet
|
|
114
117
|
redis
|
|
115
118
|
thin
|
|
116
|
-
yard
|
|
119
|
+
yard (>= 0.9.11)
|
|
117
120
|
|
|
118
121
|
BUNDLED WITH
|
|
119
|
-
1.
|
|
122
|
+
1.16.1
|
data/README.md
CHANGED
|
@@ -299,7 +299,7 @@ To connect to a Parse server, you will need a minimum of an `application_id`, an
|
|
|
299
299
|
Parse.setup app_id: "YOUR_APP_ID",
|
|
300
300
|
api_key: "YOUR_API_KEY",
|
|
301
301
|
master_key: "YOUR_MASTER_KEY", # optional
|
|
302
|
-
server_url: 'https://
|
|
302
|
+
server_url: 'https://localhost:1337/parse' #default
|
|
303
303
|
```
|
|
304
304
|
|
|
305
305
|
If you wish to add additional connection middleware to the stack, you may do so by utilizing passing a block to the setup method.
|
|
@@ -324,16 +324,16 @@ Calling `setup` will create the default `Parse::Client` session object that will
|
|
|
324
324
|
There are additional connection options that you may pass the setup method when creating a `Parse::Client`.
|
|
325
325
|
|
|
326
326
|
#### `:server_url`
|
|
327
|
-
The server url of your Parse Server if you are not using the hosted Parse service. By default it will use `PARSE_SERVER_URL` environment variable available or fall back to `https://
|
|
327
|
+
The server url of your Parse Server if you are not using the hosted Parse service. By default it will use `PARSE_SERVER_URL` environment variable available or fall back to `https://localhost:1337/parse` if not specified.
|
|
328
328
|
|
|
329
329
|
#### `:app_id`
|
|
330
|
-
The Parse application id. By default it will use `
|
|
330
|
+
The Parse application id. By default it will use `PARSE_SERVER_APPLICATION_ID` environment variable if not specified.
|
|
331
331
|
|
|
332
332
|
#### `:api_key`
|
|
333
|
-
The Parse REST API Key. By default it will use `
|
|
333
|
+
The Parse REST API Key. By default it will use `PARSE_SERVER_REST_API_KEY` environment variable if not specified.
|
|
334
334
|
|
|
335
335
|
#### `:master_key` _(optional)_
|
|
336
|
-
The Parse application master key. If this key is set, it will be sent on every request sent by the client and your models. By default it will use `
|
|
336
|
+
The Parse application master key. If this key is set, it will be sent on every request sent by the client and your models. By default it will use `PARSE_SERVER_MASTER_KEY` environment variable if not specified.
|
|
337
337
|
|
|
338
338
|
#### `:logging`
|
|
339
339
|
A true or false value. It provides you additional logging information of requests and responses. If set to the special symbol of `:debug`, it will provide additional payload data in the log messages.
|
|
@@ -2384,7 +2384,7 @@ curl -X POST \
|
|
|
2384
2384
|
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
|
|
2385
2385
|
-H "Content-Type: application/json" \
|
|
2386
2386
|
-d '{}' \
|
|
2387
|
-
https://
|
|
2387
|
+
https://localhost:1337/parse/functions/helloWorld
|
|
2388
2388
|
```
|
|
2389
2389
|
|
|
2390
2390
|
If you are creating `Parse::Object` subclasses, you may also register them there to keep common code and functionality centralized.
|
data/bin/parse-console
CHANGED
|
@@ -79,9 +79,9 @@ opt_parser = OptionParser.new do |o|
|
|
|
79
79
|
raise "Contents not a JSON hash." unless json.is_a?(Hash)
|
|
80
80
|
json.each { |k,v| ENV[k.upcase] = v }
|
|
81
81
|
opts[:server_url] ||= ENV['PARSE_SERVER_URL']
|
|
82
|
-
opts[:app_id]
|
|
83
|
-
opts[:api_key]
|
|
84
|
-
opts[:master_key] ||= ENV['PARSE_MASTER_KEY']
|
|
82
|
+
opts[:app_id] ||= ENV['PARSE_SERVER_APPLICATION_ID'] || ENV['PARSE_APP_ID']
|
|
83
|
+
opts[:api_key] ||= ENV['PARSE_SERVER_REST_API_KEY'] || ENV['PARSE_API_KEY']
|
|
84
|
+
opts[:master_key] ||= ENV['PARSE_SERVER_MASTER_KEY'] || ENV['PARSE_MASTER_KEY']
|
|
85
85
|
rescue Exception => e
|
|
86
86
|
$stderr.puts "Error: Invalid JSON format for #{url} (#{e})"
|
|
87
87
|
exit 1
|
data/lib/parse/client.rb
CHANGED
|
@@ -185,7 +185,7 @@ module Parse
|
|
|
185
185
|
# Parse.setup app_id: "YOUR_APP_ID",
|
|
186
186
|
# api_key: "YOUR_REST_API_KEY",
|
|
187
187
|
# master_key: "YOUR_MASTER_KEY", # optional
|
|
188
|
-
# server_url: 'https://
|
|
188
|
+
# server_url: 'https://localhost:1337/parse' #default
|
|
189
189
|
# @param opts (see Parse::Client#initialize)
|
|
190
190
|
# @option opts (see Parse::Client#initialize)
|
|
191
191
|
# @yield the block for additional configuration with Faraday middleware.
|
|
@@ -206,11 +206,11 @@ module Parse
|
|
|
206
206
|
# are not using the hosted Parse service. By default it will use
|
|
207
207
|
# ENV["PARSE_SERVER_URL"] if available, otherwise fallback to {Parse::Protocol::SERVER_URL}.
|
|
208
208
|
# @option opts [String] :app_id The Parse application id. Defaults to
|
|
209
|
-
# ENV['
|
|
210
|
-
# @option opts [String] :api_key Your Parse REST API Key. Defaults to ENV['
|
|
209
|
+
# ENV['PARSE_SERVER_APPLICATION_ID'].
|
|
210
|
+
# @option opts [String] :api_key Your Parse REST API Key. Defaults to ENV['PARSE_SERVER_REST_API_KEY'].
|
|
211
211
|
# @option opts [String] :master_key The Parse application master key (optional).
|
|
212
212
|
# If this key is set, it will be sent on every request sent by the client
|
|
213
|
-
# and your models. Defaults to ENV['
|
|
213
|
+
# and your models. Defaults to ENV['PARSE_SERVER_MASTER_KEY'].
|
|
214
214
|
# @option opts [Boolean] :logging It provides you additional logging information
|
|
215
215
|
# of requests and responses. If set to the special symbol of *:debug*, it
|
|
216
216
|
# will provide additional payload data in the log messages. This option affects
|
|
@@ -242,9 +242,9 @@ module Parse
|
|
|
242
242
|
# @see Parse::Protocol
|
|
243
243
|
def initialize(opts = {})
|
|
244
244
|
@server_url = opts[:server_url] || ENV["PARSE_SERVER_URL"] || Parse::Protocol::SERVER_URL
|
|
245
|
-
@application_id = opts[:application_id] || opts[:app_id] || ENV["
|
|
246
|
-
@api_key = opts[:api_key] || opts[:rest_api_key] || ENV["
|
|
247
|
-
@master_key = opts[:master_key] || ENV["PARSE_MASTER_KEY"]
|
|
245
|
+
@application_id = opts[:application_id] || opts[:app_id] || ENV["PARSE_SERVER_APPLICATION_ID"] || ENV['PARSE_APP_ID']
|
|
246
|
+
@api_key = opts[:api_key] || opts[:rest_api_key] || ENV["PARSE_SERVER_REST_API_KEY"] || ENV["PARSE_API_KEY"]
|
|
247
|
+
@master_key = opts[:master_key] || ENV['PARSE_SERVER_MASTER_KEY'] || ENV["PARSE_MASTER_KEY"]
|
|
248
248
|
opts[:adapter] ||= Faraday.default_adapter
|
|
249
249
|
opts[:expires] ||= 3
|
|
250
250
|
if @server_url.nil? || @application_id.nil? || ( @api_key.nil? && @master_key.nil? )
|
data/lib/parse/stack.rb
CHANGED
|
@@ -11,7 +11,29 @@ require_relative 'webhooks'
|
|
|
11
11
|
module Parse
|
|
12
12
|
class Error < StandardError; end;
|
|
13
13
|
module Stack
|
|
14
|
-
|
|
14
|
+
# Applies a remote JSON hash containing the ENV keys and values from a remote
|
|
15
|
+
# URL. Values from the JSON hash are only applied to the current ENV hash ONLY if
|
|
16
|
+
# it does not already have a value. Therefore local ENV values will take precedence
|
|
17
|
+
# over remote ones. By default, it uses the url in environment value in 'CONFIG_URL' or 'HYPERDRIVE_URL'.
|
|
18
|
+
# @param url [String] the remote url that responds with the JSON body.
|
|
19
|
+
# @return [Boolean] true if the JSON hash was found and applied successfully.
|
|
20
|
+
def self.hyperdrive_config!(url = nil)
|
|
21
|
+
url ||= ENV["HYPERDRIVE_URL"] || ENV['CONFIG_URL']
|
|
22
|
+
if url.present?
|
|
23
|
+
begin
|
|
24
|
+
remote_config = JSON.load open( url )
|
|
25
|
+
remote_config.each do |key,value|
|
|
26
|
+
k = key.upcase
|
|
27
|
+
next unless ENV[k].nil?
|
|
28
|
+
ENV[k] ||= value.to_s
|
|
29
|
+
end
|
|
30
|
+
return true
|
|
31
|
+
rescue => e
|
|
32
|
+
warn "[Parse::Stack] Error loading config: #{url} (#{e})"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
false
|
|
36
|
+
end
|
|
15
37
|
end
|
|
16
38
|
end
|
|
17
39
|
|
|
@@ -2,10 +2,10 @@ require 'parse/stack'
|
|
|
2
2
|
|
|
3
3
|
# Set your specific Parse keys in your ENV. For all connection options, see
|
|
4
4
|
# https://github.com/modernistik/parse-stack#connection-setup
|
|
5
|
-
Parse.setup app_id: ENV['
|
|
6
|
-
api_key: ENV['
|
|
7
|
-
master_key: ENV['
|
|
8
|
-
server_url: 'https://
|
|
5
|
+
Parse.setup app_id: ENV['PARSE_SERVER_APPLICATION_ID'],
|
|
6
|
+
api_key: ENV['PARSE_SERVER_REST_API_KEY'],
|
|
7
|
+
master_key: ENV['PARSE_SERVER_MASTER_KEY'], # optional
|
|
8
|
+
server_url: 'https://localhost:1337/parse'
|
|
9
9
|
# optional
|
|
10
10
|
# logging: false,
|
|
11
11
|
# cache: Moneta.new(:File, dir: 'tmp/cache'),
|
data/lib/parse/stack/version.rb
CHANGED
data/lib/parse/webhooks.rb
CHANGED
|
@@ -216,11 +216,11 @@ module Parse
|
|
|
216
216
|
|
|
217
217
|
# @!attribute key
|
|
218
218
|
# Returns the configured webhook key if available. By default it will use
|
|
219
|
-
# the value of ENV['
|
|
219
|
+
# the value of ENV['PARSE_SERVER_WEBHOOK_KEY'] if not configured.
|
|
220
220
|
# @return [String]
|
|
221
221
|
attr_accessor :key
|
|
222
222
|
def key
|
|
223
|
-
@key ||= ENV['PARSE_WEBHOOK_KEY']
|
|
223
|
+
@key ||= ENV['PARSE_SERVER_WEBHOOK_KEY'] || ENV['PARSE_WEBHOOK_KEY']
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
# Standard Rack call method. This method processes an incoming cloud code
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: parse-stack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.7.
|
|
4
|
+
version: 1.7.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Anthony Persaud
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2018-03-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -275,7 +275,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
275
275
|
version: '0'
|
|
276
276
|
requirements: []
|
|
277
277
|
rubyforge_project:
|
|
278
|
-
rubygems_version: 2.
|
|
278
|
+
rubygems_version: 2.6.12
|
|
279
279
|
signing_key:
|
|
280
280
|
specification_version: 4
|
|
281
281
|
summary: Parse Server Ruby Client SDK
|