grape 1.2.3 → 1.2.4
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/CHANGELOG.md +14 -1
- data/Gemfile.lock +12 -12
- data/LICENSE +1 -1
- data/README.md +103 -23
- data/UPGRADING.md +32 -0
- data/lib/grape.rb +2 -0
- data/lib/grape/api.rb +36 -9
- data/lib/grape/api/instance.rb +25 -2
- data/lib/grape/dsl/callbacks.rb +20 -0
- data/lib/grape/dsl/desc.rb +6 -2
- data/lib/grape/dsl/inside_route.rb +12 -6
- data/lib/grape/endpoint.rb +36 -28
- data/lib/grape/middleware/error.rb +1 -2
- data/lib/grape/util/endpoint_configuration.rb +6 -0
- data/lib/grape/util/lazy_value.rb +90 -0
- data/lib/grape/validations/params_scope.rb +7 -2
- data/lib/grape/validations/validators/as.rb +2 -2
- data/lib/grape/version.rb +1 -1
- data/pkg/grape-1.2.3.gem +0 -0
- data/spec/grape/api_remount_spec.rb +235 -12
- data/spec/grape/api_spec.rb +210 -0
- data/spec/grape/endpoint_spec.rb +39 -3
- data/spec/grape/validations/params_scope_spec.rb +32 -12
- metadata +5 -3
- data/gemfiles/rails_edge.gemfile.lock +0 -335
data/spec/grape/endpoint_spec.rb
CHANGED
@@ -472,12 +472,12 @@ describe Grape::Endpoint do
|
|
472
472
|
expect(last_response.status).to eq(200)
|
473
473
|
end
|
474
474
|
|
475
|
-
it 'does not include
|
475
|
+
it 'does not include renamed missing attributes if that option is passed' do
|
476
476
|
subject.params do
|
477
|
-
optional :
|
477
|
+
optional :renamed_original, as: :renamed
|
478
478
|
end
|
479
479
|
subject.get '/declared' do
|
480
|
-
error! 'expected nil', 400 if declared(params, include_missing: false).key?(:
|
480
|
+
error! 'expected nil', 400 if declared(params, include_missing: false).key?(:renamed)
|
481
481
|
''
|
482
482
|
end
|
483
483
|
|
@@ -1089,6 +1089,36 @@ describe Grape::Endpoint do
|
|
1089
1089
|
expect(last_response.headers['X-Custom']).to eq('value')
|
1090
1090
|
end
|
1091
1091
|
|
1092
|
+
it 'merges additional headers with headers set before call' do
|
1093
|
+
subject.before do
|
1094
|
+
header 'X-Before-Test', 'before-sample'
|
1095
|
+
end
|
1096
|
+
|
1097
|
+
subject.get '/hey' do
|
1098
|
+
header 'X-Test', 'test-sample'
|
1099
|
+
error!({ 'dude' => 'rad' }, 403, 'X-Error' => 'error')
|
1100
|
+
end
|
1101
|
+
|
1102
|
+
get '/hey.json'
|
1103
|
+
expect(last_response.headers['X-Before-Test']).to eq('before-sample')
|
1104
|
+
expect(last_response.headers['X-Test']).to eq('test-sample')
|
1105
|
+
expect(last_response.headers['X-Error']).to eq('error')
|
1106
|
+
end
|
1107
|
+
|
1108
|
+
it 'does not merges additional headers with headers set after call' do
|
1109
|
+
subject.after do
|
1110
|
+
header 'X-After-Test', 'after-sample'
|
1111
|
+
end
|
1112
|
+
|
1113
|
+
subject.get '/hey' do
|
1114
|
+
error!({ 'dude' => 'rad' }, 403, 'X-Error' => 'error')
|
1115
|
+
end
|
1116
|
+
|
1117
|
+
get '/hey.json'
|
1118
|
+
expect(last_response.headers['X-Error']).to eq('error')
|
1119
|
+
expect(last_response.headers['X-After-Test']).to be_nil
|
1120
|
+
end
|
1121
|
+
|
1092
1122
|
it 'sets the status code for the endpoint' do
|
1093
1123
|
memoized_endpoint = nil
|
1094
1124
|
|
@@ -1492,6 +1522,9 @@ describe Grape::Endpoint do
|
|
1492
1522
|
have_attributes(name: 'endpoint_run_filters.grape', payload: { endpoint: a_kind_of(Grape::Endpoint),
|
1493
1523
|
filters: [],
|
1494
1524
|
type: :after }),
|
1525
|
+
have_attributes(name: 'endpoint_run_filters.grape', payload: { endpoint: a_kind_of(Grape::Endpoint),
|
1526
|
+
filters: [],
|
1527
|
+
type: :finally }),
|
1495
1528
|
have_attributes(name: 'endpoint_run.grape', payload: { endpoint: a_kind_of(Grape::Endpoint),
|
1496
1529
|
env: an_instance_of(Hash) }),
|
1497
1530
|
have_attributes(name: 'format_response.grape', payload: { env: an_instance_of(Hash),
|
@@ -1518,6 +1551,9 @@ describe Grape::Endpoint do
|
|
1518
1551
|
have_attributes(name: 'endpoint_run_filters.grape', payload: { endpoint: a_kind_of(Grape::Endpoint),
|
1519
1552
|
filters: [],
|
1520
1553
|
type: :after }),
|
1554
|
+
have_attributes(name: 'endpoint_run_filters.grape', payload: { endpoint: a_kind_of(Grape::Endpoint),
|
1555
|
+
filters: [],
|
1556
|
+
type: :finally }),
|
1521
1557
|
have_attributes(name: 'format_response.grape', payload: { env: an_instance_of(Hash),
|
1522
1558
|
formatter: a_kind_of(Module) })
|
1523
1559
|
)
|
@@ -121,14 +121,14 @@ describe Grape::Validations::ParamsScope do
|
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
|
-
context 'param
|
124
|
+
context 'param renaming' do
|
125
125
|
it do
|
126
126
|
subject.params do
|
127
127
|
requires :foo, as: :bar
|
128
128
|
optional :super, as: :hiper
|
129
129
|
end
|
130
|
-
subject.get('/
|
131
|
-
get '/
|
130
|
+
subject.get('/renaming') { "#{declared(params)['bar']}-#{declared(params)['hiper']}" }
|
131
|
+
get '/renaming', foo: 'any', super: 'any2'
|
132
132
|
|
133
133
|
expect(last_response.status).to eq(200)
|
134
134
|
expect(last_response.body).to eq('any-any2')
|
@@ -138,8 +138,8 @@ describe Grape::Validations::ParamsScope do
|
|
138
138
|
subject.params do
|
139
139
|
requires :foo, as: :bar, type: String, coerce_with: ->(c) { c.strip }
|
140
140
|
end
|
141
|
-
subject.get('/
|
142
|
-
get '/
|
141
|
+
subject.get('/renaming-coerced') { "#{params['bar']}-#{params['foo']}" }
|
142
|
+
get '/renaming-coerced', foo: ' there we go '
|
143
143
|
|
144
144
|
expect(last_response.status).to eq(200)
|
145
145
|
expect(last_response.body).to eq('there we go-')
|
@@ -149,8 +149,8 @@ describe Grape::Validations::ParamsScope do
|
|
149
149
|
subject.params do
|
150
150
|
requires :foo, as: :bar, allow_blank: false
|
151
151
|
end
|
152
|
-
subject.get('/
|
153
|
-
get '/
|
152
|
+
subject.get('/renaming-not-blank') {}
|
153
|
+
get '/renaming-not-blank', foo: ''
|
154
154
|
|
155
155
|
expect(last_response.status).to eq(400)
|
156
156
|
expect(last_response.body).to eq('foo is empty')
|
@@ -160,8 +160,8 @@ describe Grape::Validations::ParamsScope do
|
|
160
160
|
subject.params do
|
161
161
|
requires :foo, as: :bar, allow_blank: false
|
162
162
|
end
|
163
|
-
subject.get('/
|
164
|
-
get '/
|
163
|
+
subject.get('/renaming-not-blank-with-value') {}
|
164
|
+
get '/renaming-not-blank-with-value', foo: 'any'
|
165
165
|
|
166
166
|
expect(last_response.status).to eq(200)
|
167
167
|
end
|
@@ -532,7 +532,7 @@ describe Grape::Validations::ParamsScope do
|
|
532
532
|
expect(last_response.body).to eq({ a: 'a', b: 'b', c: 'c', d: 'd' }.to_json)
|
533
533
|
end
|
534
534
|
|
535
|
-
it 'allows
|
535
|
+
it 'allows renaming of dependent parameters' do
|
536
536
|
subject.params do
|
537
537
|
optional :a
|
538
538
|
given :a do
|
@@ -550,7 +550,7 @@ describe Grape::Validations::ParamsScope do
|
|
550
550
|
expect(body.keys).to_not include('b')
|
551
551
|
end
|
552
552
|
|
553
|
-
it 'allows
|
553
|
+
it 'allows renaming of dependent on parameter' do
|
554
554
|
subject.params do
|
555
555
|
optional :a, as: :b
|
556
556
|
given b: ->(val) { val == 'x' } do
|
@@ -567,7 +567,7 @@ describe Grape::Validations::ParamsScope do
|
|
567
567
|
expect(last_response.status).to eq 200
|
568
568
|
end
|
569
569
|
|
570
|
-
it 'raises an error if the dependent parameter is not the
|
570
|
+
it 'raises an error if the dependent parameter is not the renamed one' do
|
571
571
|
expect do
|
572
572
|
subject.params do
|
573
573
|
optional :a, as: :b
|
@@ -700,6 +700,26 @@ describe Grape::Validations::ParamsScope do
|
|
700
700
|
end
|
701
701
|
|
702
702
|
context 'when validations are dependent on a parameter within an array param' do
|
703
|
+
before do
|
704
|
+
subject.params do
|
705
|
+
requires :foos, type: Array do
|
706
|
+
optional :foo
|
707
|
+
given :foo do
|
708
|
+
requires :bar
|
709
|
+
end
|
710
|
+
end
|
711
|
+
end
|
712
|
+
subject.get('/test') { 'ok' }
|
713
|
+
end
|
714
|
+
|
715
|
+
it 'should pass none Hash params' do
|
716
|
+
get '/test', foos: ['']
|
717
|
+
expect(last_response.status).to eq(200)
|
718
|
+
expect(last_response.body).to eq('ok')
|
719
|
+
end
|
720
|
+
end
|
721
|
+
|
722
|
+
context 'when validations are dependent on a parameter within an array param within #declared(params).to_json' do
|
703
723
|
before do
|
704
724
|
subject.params do
|
705
725
|
requires :foos, type: Array do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -126,7 +126,6 @@ files:
|
|
126
126
|
- gemfiles/rails_5.gemfile
|
127
127
|
- gemfiles/rails_5.gemfile.lock
|
128
128
|
- gemfiles/rails_edge.gemfile
|
129
|
-
- gemfiles/rails_edge.gemfile.lock
|
130
129
|
- grape.gemspec
|
131
130
|
- grape.png
|
132
131
|
- lib/grape.rb
|
@@ -220,10 +219,12 @@ files:
|
|
220
219
|
- lib/grape/serve_file/file_response.rb
|
221
220
|
- lib/grape/serve_file/sendfile_response.rb
|
222
221
|
- lib/grape/util/content_types.rb
|
222
|
+
- lib/grape/util/endpoint_configuration.rb
|
223
223
|
- lib/grape/util/env.rb
|
224
224
|
- lib/grape/util/inheritable_setting.rb
|
225
225
|
- lib/grape/util/inheritable_values.rb
|
226
226
|
- lib/grape/util/json.rb
|
227
|
+
- lib/grape/util/lazy_value.rb
|
227
228
|
- lib/grape/util/registrable.rb
|
228
229
|
- lib/grape/util/reverse_stackable_values.rb
|
229
230
|
- lib/grape/util/stackable_values.rb
|
@@ -260,6 +261,7 @@ files:
|
|
260
261
|
- lib/grape/version.rb
|
261
262
|
- pkg/grape-1.2.0.gem
|
262
263
|
- pkg/grape-1.2.1.gem
|
264
|
+
- pkg/grape-1.2.3.gem
|
263
265
|
- spec/grape/api/custom_validations_spec.rb
|
264
266
|
- spec/grape/api/deeply_included_options_spec.rb
|
265
267
|
- spec/grape/api/inherited_helpers_spec.rb
|
@@ -1,335 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git://github.com/rails/rails.git
|
3
|
-
revision: bad1041b82df941d588ae2565f62424d88104933
|
4
|
-
specs:
|
5
|
-
actioncable (6.0.0.alpha)
|
6
|
-
actionpack (= 6.0.0.alpha)
|
7
|
-
nio4r (~> 2.0)
|
8
|
-
websocket-driver (>= 0.6.1)
|
9
|
-
actionmailer (6.0.0.alpha)
|
10
|
-
actionpack (= 6.0.0.alpha)
|
11
|
-
actionview (= 6.0.0.alpha)
|
12
|
-
activejob (= 6.0.0.alpha)
|
13
|
-
mail (~> 2.5, >= 2.5.4)
|
14
|
-
rails-dom-testing (~> 2.0)
|
15
|
-
actionpack (6.0.0.alpha)
|
16
|
-
actionview (= 6.0.0.alpha)
|
17
|
-
activesupport (= 6.0.0.alpha)
|
18
|
-
rack (~> 2.0)
|
19
|
-
rack-test (>= 0.6.3)
|
20
|
-
rails-dom-testing (~> 2.0)
|
21
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
22
|
-
actionview (6.0.0.alpha)
|
23
|
-
activesupport (= 6.0.0.alpha)
|
24
|
-
builder (~> 3.1)
|
25
|
-
erubi (~> 1.4)
|
26
|
-
rails-dom-testing (~> 2.0)
|
27
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
28
|
-
activejob (6.0.0.alpha)
|
29
|
-
activesupport (= 6.0.0.alpha)
|
30
|
-
globalid (>= 0.3.6)
|
31
|
-
activemodel (6.0.0.alpha)
|
32
|
-
activesupport (= 6.0.0.alpha)
|
33
|
-
activerecord (6.0.0.alpha)
|
34
|
-
activemodel (= 6.0.0.alpha)
|
35
|
-
activesupport (= 6.0.0.alpha)
|
36
|
-
activestorage (6.0.0.alpha)
|
37
|
-
actionpack (= 6.0.0.alpha)
|
38
|
-
activerecord (= 6.0.0.alpha)
|
39
|
-
marcel (~> 0.3.1)
|
40
|
-
activesupport (6.0.0.alpha)
|
41
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
42
|
-
i18n (>= 0.7, < 2)
|
43
|
-
minitest (~> 5.1)
|
44
|
-
tzinfo (~> 1.1)
|
45
|
-
rails (6.0.0.alpha)
|
46
|
-
actioncable (= 6.0.0.alpha)
|
47
|
-
actionmailer (= 6.0.0.alpha)
|
48
|
-
actionpack (= 6.0.0.alpha)
|
49
|
-
actionview (= 6.0.0.alpha)
|
50
|
-
activejob (= 6.0.0.alpha)
|
51
|
-
activemodel (= 6.0.0.alpha)
|
52
|
-
activerecord (= 6.0.0.alpha)
|
53
|
-
activestorage (= 6.0.0.alpha)
|
54
|
-
activesupport (= 6.0.0.alpha)
|
55
|
-
bundler (>= 1.3.0)
|
56
|
-
railties (= 6.0.0.alpha)
|
57
|
-
sprockets-rails (>= 2.0.0)
|
58
|
-
railties (6.0.0.alpha)
|
59
|
-
actionpack (= 6.0.0.alpha)
|
60
|
-
activesupport (= 6.0.0.alpha)
|
61
|
-
method_source
|
62
|
-
rake (>= 0.8.7)
|
63
|
-
thor (>= 0.20.3, < 2.0)
|
64
|
-
|
65
|
-
PATH
|
66
|
-
remote: ..
|
67
|
-
specs:
|
68
|
-
grape (1.2.3)
|
69
|
-
activesupport
|
70
|
-
builder
|
71
|
-
mustermann-grape (~> 1.0.0)
|
72
|
-
rack (>= 1.3.0)
|
73
|
-
rack-accept
|
74
|
-
virtus (>= 1.0.0)
|
75
|
-
|
76
|
-
GEM
|
77
|
-
remote: https://rubygems.org/
|
78
|
-
specs:
|
79
|
-
addressable (2.5.2)
|
80
|
-
public_suffix (>= 2.0.2, < 4.0)
|
81
|
-
appraisal (2.2.0)
|
82
|
-
bundler
|
83
|
-
rake
|
84
|
-
thor (>= 0.14.0)
|
85
|
-
ast (2.4.0)
|
86
|
-
axiom-types (0.1.1)
|
87
|
-
descendants_tracker (~> 0.0.4)
|
88
|
-
ice_nine (~> 0.11.0)
|
89
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
90
|
-
benchmark-ips (2.7.2)
|
91
|
-
builder (3.2.3)
|
92
|
-
claide (1.0.2)
|
93
|
-
claide-plugins (0.9.2)
|
94
|
-
cork
|
95
|
-
nap
|
96
|
-
open4 (~> 1.3)
|
97
|
-
coderay (1.1.2)
|
98
|
-
coercible (1.0.0)
|
99
|
-
descendants_tracker (~> 0.0.1)
|
100
|
-
colored (1.2)
|
101
|
-
colored2 (3.1.2)
|
102
|
-
concurrent-ruby (1.1.3)
|
103
|
-
cookiejar (0.3.3)
|
104
|
-
cork (0.3.0)
|
105
|
-
colored2 (~> 3.1)
|
106
|
-
coveralls (0.7.1)
|
107
|
-
multi_json (~> 1.3)
|
108
|
-
rest-client
|
109
|
-
simplecov (>= 0.7)
|
110
|
-
term-ansicolor
|
111
|
-
thor
|
112
|
-
crass (1.0.4)
|
113
|
-
danger (4.0.5)
|
114
|
-
claide (~> 1.0)
|
115
|
-
claide-plugins (>= 0.9.2)
|
116
|
-
colored (~> 1.2)
|
117
|
-
cork (~> 0.1)
|
118
|
-
faraday (~> 0.9)
|
119
|
-
faraday-http-cache (~> 1.0)
|
120
|
-
git (~> 1)
|
121
|
-
kramdown (~> 1.5)
|
122
|
-
octokit (~> 4.2)
|
123
|
-
terminal-table (~> 1)
|
124
|
-
danger-changelog (0.2.1)
|
125
|
-
danger-plugin-api (~> 1.0)
|
126
|
-
danger-plugin-api (1.0.0)
|
127
|
-
danger (> 2.0)
|
128
|
-
danger-toc (0.1.3)
|
129
|
-
activesupport
|
130
|
-
danger-plugin-api (~> 1.0)
|
131
|
-
kramdown
|
132
|
-
descendants_tracker (0.0.4)
|
133
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
134
|
-
diff-lcs (1.3)
|
135
|
-
docile (1.3.1)
|
136
|
-
domain_name (0.5.20180417)
|
137
|
-
unf (>= 0.0.5, < 1.0.0)
|
138
|
-
equalizer (0.0.11)
|
139
|
-
erubi (1.7.1)
|
140
|
-
faraday (0.15.4)
|
141
|
-
multipart-post (>= 1.2, < 3)
|
142
|
-
faraday-http-cache (1.3.1)
|
143
|
-
faraday (~> 0.8)
|
144
|
-
ffi (1.9.25)
|
145
|
-
formatador (0.2.5)
|
146
|
-
git (1.5.0)
|
147
|
-
globalid (0.4.1)
|
148
|
-
activesupport (>= 4.2.0)
|
149
|
-
grape-entity (0.7.1)
|
150
|
-
activesupport (>= 4.0)
|
151
|
-
multi_json (>= 1.3.2)
|
152
|
-
guard (2.15.0)
|
153
|
-
formatador (>= 0.2.4)
|
154
|
-
listen (>= 2.7, < 4.0)
|
155
|
-
lumberjack (>= 1.0.12, < 2.0)
|
156
|
-
nenv (~> 0.1)
|
157
|
-
notiffany (~> 0.0)
|
158
|
-
pry (>= 0.9.12)
|
159
|
-
shellany (~> 0.0)
|
160
|
-
thor (>= 0.18.1)
|
161
|
-
guard-compat (1.2.1)
|
162
|
-
guard-rspec (4.7.3)
|
163
|
-
guard (~> 2.1)
|
164
|
-
guard-compat (~> 1.1)
|
165
|
-
rspec (>= 2.99.0, < 4.0)
|
166
|
-
guard-rubocop (1.3.0)
|
167
|
-
guard (~> 2.0)
|
168
|
-
rubocop (~> 0.20)
|
169
|
-
hashie (3.6.0)
|
170
|
-
http-cookie (1.0.3)
|
171
|
-
domain_name (~> 0.5)
|
172
|
-
i18n (1.1.1)
|
173
|
-
concurrent-ruby (~> 1.0)
|
174
|
-
ice_nine (0.11.2)
|
175
|
-
json (2.1.0)
|
176
|
-
kramdown (1.17.0)
|
177
|
-
listen (3.1.5)
|
178
|
-
rb-fsevent (~> 0.9, >= 0.9.4)
|
179
|
-
rb-inotify (~> 0.9, >= 0.9.7)
|
180
|
-
ruby_dep (~> 1.2)
|
181
|
-
loofah (2.2.3)
|
182
|
-
crass (~> 1.0.2)
|
183
|
-
nokogiri (>= 1.5.9)
|
184
|
-
lumberjack (1.0.13)
|
185
|
-
mail (2.7.1)
|
186
|
-
mini_mime (>= 0.1.1)
|
187
|
-
marcel (0.3.3)
|
188
|
-
mimemagic (~> 0.3.2)
|
189
|
-
maruku (0.7.3)
|
190
|
-
method_source (0.9.2)
|
191
|
-
mime-types (3.2.2)
|
192
|
-
mime-types-data (~> 3.2015)
|
193
|
-
mime-types-data (3.2018.0812)
|
194
|
-
mimemagic (0.3.2)
|
195
|
-
mini_mime (1.0.1)
|
196
|
-
mini_portile2 (2.3.0)
|
197
|
-
minitest (5.11.3)
|
198
|
-
multi_json (1.13.1)
|
199
|
-
multipart-post (2.0.0)
|
200
|
-
mustermann (1.0.3)
|
201
|
-
mustermann-grape (1.0.0)
|
202
|
-
mustermann (~> 1.0.0)
|
203
|
-
nap (1.1.0)
|
204
|
-
nenv (0.3.0)
|
205
|
-
netrc (0.11.0)
|
206
|
-
nio4r (2.3.1)
|
207
|
-
nokogiri (1.8.5)
|
208
|
-
mini_portile2 (~> 2.3.0)
|
209
|
-
notiffany (0.1.1)
|
210
|
-
nenv (~> 0.1)
|
211
|
-
shellany (~> 0.0)
|
212
|
-
octokit (4.13.0)
|
213
|
-
sawyer (~> 0.8.0, >= 0.5.3)
|
214
|
-
open4 (1.3.4)
|
215
|
-
parallel (1.12.1)
|
216
|
-
parser (2.5.3.0)
|
217
|
-
ast (~> 2.4.0)
|
218
|
-
powerpack (0.1.2)
|
219
|
-
pry (0.12.2)
|
220
|
-
coderay (~> 1.1.0)
|
221
|
-
method_source (~> 0.9.0)
|
222
|
-
public_suffix (3.0.3)
|
223
|
-
rack (2.0.6)
|
224
|
-
rack-accept (0.4.5)
|
225
|
-
rack (>= 0.4)
|
226
|
-
rack-jsonp (1.3.1)
|
227
|
-
rack
|
228
|
-
rack-test (0.6.3)
|
229
|
-
rack (>= 1.0)
|
230
|
-
rails-dom-testing (2.0.3)
|
231
|
-
activesupport (>= 4.2.0)
|
232
|
-
nokogiri (>= 1.6)
|
233
|
-
rails-html-sanitizer (1.0.4)
|
234
|
-
loofah (~> 2.2, >= 2.2.2)
|
235
|
-
rainbow (2.2.2)
|
236
|
-
rake
|
237
|
-
rake (12.3.2)
|
238
|
-
rb-fsevent (0.10.3)
|
239
|
-
rb-inotify (0.9.10)
|
240
|
-
ffi (>= 0.5.0, < 2)
|
241
|
-
rest-client (2.0.2)
|
242
|
-
http-cookie (>= 1.0.2, < 2.0)
|
243
|
-
mime-types (>= 1.16, < 4.0)
|
244
|
-
netrc (~> 0.8)
|
245
|
-
rspec (3.8.0)
|
246
|
-
rspec-core (~> 3.8.0)
|
247
|
-
rspec-expectations (~> 3.8.0)
|
248
|
-
rspec-mocks (~> 3.8.0)
|
249
|
-
rspec-core (3.8.0)
|
250
|
-
rspec-support (~> 3.8.0)
|
251
|
-
rspec-expectations (3.8.2)
|
252
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
253
|
-
rspec-support (~> 3.8.0)
|
254
|
-
rspec-mocks (3.8.0)
|
255
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
256
|
-
rspec-support (~> 3.8.0)
|
257
|
-
rspec-support (3.8.0)
|
258
|
-
rubocop (0.51.0)
|
259
|
-
parallel (~> 1.10)
|
260
|
-
parser (>= 2.3.3.1, < 3.0)
|
261
|
-
powerpack (~> 0.1)
|
262
|
-
rainbow (>= 2.2.2, < 3.0)
|
263
|
-
ruby-progressbar (~> 1.7)
|
264
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
265
|
-
ruby-grape-danger (0.1.1)
|
266
|
-
danger (~> 4.0.1)
|
267
|
-
danger-changelog (~> 0.2.0)
|
268
|
-
ruby-progressbar (1.10.0)
|
269
|
-
ruby_dep (1.5.0)
|
270
|
-
sawyer (0.8.1)
|
271
|
-
addressable (>= 2.3.5, < 2.6)
|
272
|
-
faraday (~> 0.8, < 1.0)
|
273
|
-
shellany (0.0.1)
|
274
|
-
simplecov (0.16.1)
|
275
|
-
docile (~> 1.1)
|
276
|
-
json (>= 1.8, < 3)
|
277
|
-
simplecov-html (~> 0.10.0)
|
278
|
-
simplecov-html (0.10.2)
|
279
|
-
sprockets (3.7.2)
|
280
|
-
concurrent-ruby (~> 1.0)
|
281
|
-
rack (> 1, < 3)
|
282
|
-
sprockets-rails (3.2.1)
|
283
|
-
actionpack (>= 4.0)
|
284
|
-
activesupport (>= 4.0)
|
285
|
-
sprockets (>= 3.0.0)
|
286
|
-
term-ansicolor (1.7.0)
|
287
|
-
tins (~> 1.0)
|
288
|
-
terminal-table (1.8.0)
|
289
|
-
unicode-display_width (~> 1.1, >= 1.1.1)
|
290
|
-
thor (0.20.3)
|
291
|
-
thread_safe (0.3.6)
|
292
|
-
tins (1.20.2)
|
293
|
-
tzinfo (1.2.5)
|
294
|
-
thread_safe (~> 0.1)
|
295
|
-
unf (0.1.4)
|
296
|
-
unf_ext
|
297
|
-
unf_ext (0.0.7.5)
|
298
|
-
unicode-display_width (1.4.0)
|
299
|
-
virtus (1.0.5)
|
300
|
-
axiom-types (~> 0.1)
|
301
|
-
coercible (~> 1.0)
|
302
|
-
descendants_tracker (~> 0.0, >= 0.0.3)
|
303
|
-
equalizer (~> 0.0, >= 0.0.9)
|
304
|
-
websocket-driver (0.7.0)
|
305
|
-
websocket-extensions (>= 0.1.0)
|
306
|
-
websocket-extensions (0.1.3)
|
307
|
-
|
308
|
-
PLATFORMS
|
309
|
-
ruby
|
310
|
-
|
311
|
-
DEPENDENCIES
|
312
|
-
appraisal
|
313
|
-
benchmark-ips
|
314
|
-
bundler
|
315
|
-
cookiejar
|
316
|
-
coveralls
|
317
|
-
danger-toc (~> 0.1.2)
|
318
|
-
grape!
|
319
|
-
grape-entity (~> 0.6)
|
320
|
-
guard
|
321
|
-
guard-rspec
|
322
|
-
guard-rubocop
|
323
|
-
hashie
|
324
|
-
maruku
|
325
|
-
mime-types
|
326
|
-
rack-jsonp
|
327
|
-
rack-test (~> 0.6.3)
|
328
|
-
rails!
|
329
|
-
rake
|
330
|
-
rspec (~> 3.0)
|
331
|
-
rubocop (= 0.51.0)
|
332
|
-
ruby-grape-danger (~> 0.1.0)
|
333
|
-
|
334
|
-
BUNDLED WITH
|
335
|
-
1.16.2
|