lhc 0.2.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lhc.gemspec +5 -3
- data/lib/lhc/endpoint.rb +34 -1
- data/lib/lhc/request.rb +2 -2
- data/lib/lhc/version.rb +1 -1
- data/non_rails_spec/request/request_spec.rb +13 -0
- data/script/ci/build.sh +1 -1
- data/spec/endpoint/match_spec.rb +33 -0
- data/spec/endpoint/values_as_params_spec.rb +27 -0
- data/spec/interceptors/after_response_spec.rb +2 -2
- data/spec/request/parallel_requests_spec.rb +30 -5
- data/spec/spec_helper.rb +1 -0
- data/spec/support/fixtures/json/feedback.json +2 -2
- data/spec/support/fixtures/json/feedbacks.json +21 -21
- data/spec/support/fixtures/json/localina_content_ad.json +2 -2
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe809e75fd7e92b7d3845d46bf14ce442a3c4dcd
|
4
|
+
data.tar.gz: ac02526096a42014c15efbab2bb5d6540f102620
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5f71fb2d3d35ee089e1e088ec77150106baf344b58d5278d5299a1b957151b2afe7d3e6d7f5b7243122e290f882346587e1f31a574058fa965157aa8acc2a24
|
7
|
+
data.tar.gz: 6651ce9efbbc0ce48ac4c28ce3e87fee172c741b5b0d60cb8d75741fa45a7ad8c0b60dc998d9b41734b43d75b9653b23beb5208b771cc05ed3eff693d8e8d7ae
|
data/Gemfile
CHANGED
data/lhc.gemspec
CHANGED
@@ -14,17 +14,19 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.description = 'Rails gem wrapping typhoeus and providing additional features (like interceptors)'
|
15
15
|
|
16
16
|
s.files = `git ls-files`.split("\n")
|
17
|
-
s.test_files = `git ls-files -- spec/*`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- spec/*`.split("\n") +
|
18
|
+
`git ls-files -- non_rails_spec/*`.split("\n")
|
18
19
|
s.require_paths = ['lib']
|
19
20
|
|
20
21
|
s.requirements << 'Ruby >= 1.9.2'
|
21
22
|
s.required_ruby_version = '>= 1.9.2'
|
22
|
-
|
23
|
+
|
23
24
|
s.add_dependency 'typhoeus'
|
25
|
+
s.add_dependency 'activesupport'
|
24
26
|
|
25
27
|
s.add_development_dependency 'rspec-rails', '>= 3.0.0'
|
26
28
|
s.add_development_dependency 'rails', '~> 4.1.1'
|
27
29
|
s.add_development_dependency 'webmock'
|
28
30
|
s.add_development_dependency 'geminabox'
|
29
31
|
s.add_development_dependency 'pry'
|
30
|
-
end
|
32
|
+
end
|
data/lib/lhc/endpoint.rb
CHANGED
@@ -40,7 +40,7 @@ class LHC::Endpoint
|
|
40
40
|
# Returns all placeholders found in the url-template.
|
41
41
|
# They are alphabetically sorted.
|
42
42
|
def placeholders
|
43
|
-
|
43
|
+
LHC::Endpoint.placeholders(url)
|
44
44
|
end
|
45
45
|
|
46
46
|
# Find a value for a placeholder either in the configuration
|
@@ -50,4 +50,37 @@ class LHC::Endpoint
|
|
50
50
|
match = match.gsub(/^\:/, '').to_sym
|
51
51
|
params[match] || LHC.config.placeholders[match]
|
52
52
|
end
|
53
|
+
|
54
|
+
# Compares a concrete url with a template
|
55
|
+
# Returns true if concrete url is covered by the template
|
56
|
+
def self.match?(url, template)
|
57
|
+
regexp = template
|
58
|
+
LHC::Endpoint.placeholders(template).each do |placeholder|
|
59
|
+
regexp = regexp.gsub(placeholder, '.*')
|
60
|
+
end
|
61
|
+
url.match(Regexp.new("^#{regexp}$"))
|
62
|
+
end
|
63
|
+
|
64
|
+
# Returns all placeholders found in the url-template.
|
65
|
+
# They are alphabetically sorted.
|
66
|
+
def self.placeholders(template)
|
67
|
+
template.scan(PLACEHOLDER).sort
|
68
|
+
end
|
69
|
+
|
70
|
+
# Extracts the values from url and
|
71
|
+
# creates params according to template
|
72
|
+
def self.values_as_params(template, url)
|
73
|
+
params = {}
|
74
|
+
regexp = template
|
75
|
+
LHC::Endpoint.placeholders(template).each do |placeholder|
|
76
|
+
name = placeholder.gsub(":", '')
|
77
|
+
regexp = regexp.gsub(placeholder, "(?<#{name}>.*)")
|
78
|
+
end
|
79
|
+
matchdata = url.match(Regexp.new("^#{regexp}$"))
|
80
|
+
LHC::Endpoint.placeholders(template).each do |placeholder|
|
81
|
+
name = placeholder.gsub(':', '')
|
82
|
+
params[name.to_sym] = matchdata[name]
|
83
|
+
end
|
84
|
+
params
|
85
|
+
end
|
53
86
|
end
|
data/lib/lhc/request.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'typhoeus'
|
2
|
+
require 'active_support/core_ext/object/deep_dup'
|
2
3
|
|
3
4
|
# The request is doing an http-request using typhoeus.
|
4
5
|
# It provides functionalities to access and alter request data
|
@@ -15,9 +16,8 @@ class LHC::Request
|
|
15
16
|
generate_url_from_template!
|
16
17
|
self.iprocessor = LHC::InterceptorProcessor.new(self)
|
17
18
|
self.raw = create_request
|
18
|
-
return unless self_executing
|
19
19
|
iprocessor.intercept(:before_request, self)
|
20
|
-
raw.run if !response
|
20
|
+
raw.run if self_executing && !response
|
21
21
|
end
|
22
22
|
|
23
23
|
def url
|
data/lib/lhc/version.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe LHC::Request do
|
4
|
+
before do
|
5
|
+
allow_any_instance_of(LHC::Request).to receive(:use_configured_endpoint!)
|
6
|
+
allow_any_instance_of(LHC::Request).to receive(:generate_url_from_template!)
|
7
|
+
end
|
8
|
+
context 'request without rails' do
|
9
|
+
it 'does have deep_merge dependency met' do
|
10
|
+
expect { described_class.new({}, false) }.to_not raise_error
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/script/ci/build.sh
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
# RUBY = ruby-1.9.3-p125
|
5
5
|
# GEMSET = location-app-${GitHub pull request id|branch name}
|
6
6
|
# standard vars
|
7
|
-
# https://jenkins.intra.local.ch/env-vars.html/
|
8
7
|
|
9
8
|
if [ -z "$SKIP_RVM" ]; then
|
10
9
|
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
|
@@ -16,4 +15,5 @@ fi
|
|
16
15
|
|
17
16
|
bundle install --local --quiet || bundle install --quiet
|
18
17
|
RAILS_ENV=test bundle exec rspec
|
18
|
+
bundle exec rspec non_rails_spec
|
19
19
|
rvm --force gemset delete ${RUBY}@${GEMSET}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe LHC::Endpoint do
|
4
|
+
|
5
|
+
context 'match' do
|
6
|
+
|
7
|
+
context 'matching' do
|
8
|
+
it 'checks if a url matches a template' do
|
9
|
+
{
|
10
|
+
':datastore/v2/places' => 'http://silo1.intra.local.ch:8082/v2/places',
|
11
|
+
':datastore/v2/places/:id' => 'http://silo1.intra.local.ch:8082/v2/places/ZW9OJyrbt4OZE9ueu80w-A',
|
12
|
+
':datastore/v2/places/:namespace/:id' => 'http://silo1.intra.local.ch:8082/v2/places/switzerland/ZW9OJyrbt'
|
13
|
+
}.each do |template, url|
|
14
|
+
expect(
|
15
|
+
LHC::Endpoint.match?(url, template)
|
16
|
+
).to be
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'not matching' do
|
22
|
+
it 'checks if a url matches a template' do
|
23
|
+
{
|
24
|
+
':datastore/v2/places' => 'http://silo1.intra.local.ch:8082/v2/places/ZW9OJyrbt4OZE9ueu80w-A'
|
25
|
+
}.each do |template, url|
|
26
|
+
expect(
|
27
|
+
LHC::Endpoint.match?(url, template)
|
28
|
+
).not_to be
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe LHC::Endpoint do
|
4
|
+
|
5
|
+
context 'values_as_params' do
|
6
|
+
|
7
|
+
it 'provides params extracting values from a provided url and template' do
|
8
|
+
[
|
9
|
+
[':datastore/v2/places', 'http://silo1.intra.local.ch:8082/v2/places', {
|
10
|
+
datastore: 'http://silo1.intra.local.ch:8082'
|
11
|
+
}],
|
12
|
+
[':datastore/v2/places/:id', 'http://silo1.intra.local.ch:8082/v2/places/ZW9OJyrbt4OZE9ueu80w-A', {
|
13
|
+
datastore: 'http://silo1.intra.local.ch:8082',
|
14
|
+
id: 'ZW9OJyrbt4OZE9ueu80w-A'
|
15
|
+
}],
|
16
|
+
[':datastore/v2/places/:namespace/:id', 'http://silo1.intra.local.ch:8082/v2/places/switzerland/ZW9OJyrbt', {
|
17
|
+
datastore: 'http://silo1.intra.local.ch:8082',
|
18
|
+
namespace: 'switzerland',
|
19
|
+
id: 'ZW9OJyrbt'
|
20
|
+
}],
|
21
|
+
].each do |example|
|
22
|
+
params = LHC::Endpoint.values_as_params(example[0], example[1])
|
23
|
+
expect(params).to eq example[2]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -30,10 +30,10 @@ describe LHC do
|
|
30
30
|
LHC.configure { |c| c.interceptors = [StatsTimingInterceptor] }
|
31
31
|
end
|
32
32
|
|
33
|
-
let(:url) { "http://
|
33
|
+
let(:url) { "http://local.ch/v2/feedbacks/-Sc4_pYNpqfsudzhtivfkA" }
|
34
34
|
|
35
35
|
it 'can take action after a response was received' do
|
36
|
-
allow(Services).to receive(:timing).with('web.dummy.test.get.http.
|
36
|
+
allow(Services).to receive(:timing).with('web.dummy.test.get.http.local.ch.200', 0)
|
37
37
|
stub_request(:get, url)
|
38
38
|
LHC.get(url)
|
39
39
|
expect(Services).to have_received(:timing)
|
@@ -2,14 +2,39 @@ require 'rails_helper'
|
|
2
2
|
|
3
3
|
describe LHC::Request do
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
let(:request_options) do
|
6
|
+
[
|
7
|
+
{ url: 'http://www.local.ch/restaurants' },
|
8
|
+
{ url: 'http://www.local.ch' }
|
9
|
+
]
|
10
|
+
end
|
11
|
+
|
12
|
+
let(:stub_parallel_requests) do
|
9
13
|
stub_request(:get, "http://www.local.ch/restaurants").to_return(status: 200, body: '1')
|
10
14
|
stub_request(:get, "http://www.local.ch").to_return(status: 200, body: '2')
|
11
|
-
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'does parallel requests if you provide an array of requests' do
|
18
|
+
stub_parallel_requests
|
19
|
+
responses = LHC.request(request_options)
|
12
20
|
expect(responses[0].body).to eq '1'
|
13
21
|
expect(responses[1].body).to eq '2'
|
14
22
|
end
|
23
|
+
|
24
|
+
context 'interceptors' do
|
25
|
+
|
26
|
+
before(:each) do
|
27
|
+
class TestInterceptor < LHC::Interceptor; end
|
28
|
+
LHC.configure { |c| c.interceptors = [TestInterceptor] }
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'calls interceptors also for parallel requests' do
|
32
|
+
stub_parallel_requests
|
33
|
+
@called = 0
|
34
|
+
allow_any_instance_of(TestInterceptor)
|
35
|
+
.to receive(:before_request) { @called += 1 }
|
36
|
+
LHC.request(request_options)
|
37
|
+
expect(@called).to eq 2
|
38
|
+
end
|
39
|
+
end
|
15
40
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
|
-
"href": "http://
|
2
|
+
"href": "http://local.ch/v2/feedbacks/-Sc4_pYNpqfsudzhtivfkA",
|
3
3
|
"campaign": {
|
4
|
-
"href": "http://
|
4
|
+
"href": "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d"
|
5
5
|
},
|
6
6
|
"source_id": "aaa",
|
7
7
|
"recommended": true,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"href" : "http://
|
2
|
+
"href" : "http://local.ch/v2/feedbacks/?exclude_hidden=false&offset=0&limit=10",
|
3
3
|
"items" : [ {
|
4
|
-
"href" : "http://
|
4
|
+
"href" : "http://local.ch/v2/feedbacks/0sdaetZ-OWVg4oBiBJ-7IQ",
|
5
5
|
"campaign" : {
|
6
|
-
"href" : "http://
|
6
|
+
"href" : "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d"
|
7
7
|
},
|
8
8
|
"source_id" : "aaa",
|
9
9
|
"recommended" : true,
|
@@ -17,9 +17,9 @@
|
|
17
17
|
"average_rating" : 3.0,
|
18
18
|
"comments" : [ ]
|
19
19
|
}, {
|
20
|
-
"href" : "http://
|
20
|
+
"href" : "http://local.ch/v2/feedbacks/QsUOQWNJoB-GFUNsX7z0jg",
|
21
21
|
"campaign" : {
|
22
|
-
"href" : "http://
|
22
|
+
"href" : "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a11f"
|
23
23
|
},
|
24
24
|
"source_id" : "abcdefghs12345",
|
25
25
|
"name" : "Steve",
|
@@ -36,9 +36,9 @@
|
|
36
36
|
"average_rating" : 3.3333333333333335,
|
37
37
|
"comments" : [ ]
|
38
38
|
}, {
|
39
|
-
"href" : "http://
|
39
|
+
"href" : "http://local.ch/v2/feedbacks/QynNtmpXlsEGvUJ0ekDKVw",
|
40
40
|
"campaign" : {
|
41
|
-
"href" : "http://
|
41
|
+
"href" : "http://local.ch/v2/content-ads/51dfc56b0cf271c375c5a14d"
|
42
42
|
},
|
43
43
|
"source_id" : "abcdefghs12345",
|
44
44
|
"name" : "Steve",
|
@@ -55,9 +55,9 @@
|
|
55
55
|
"average_rating" : 3.3333333333333335,
|
56
56
|
"comments" : [ ]
|
57
57
|
}, {
|
58
|
-
"href" : "http://
|
58
|
+
"href" : "http://local.ch/v2/feedbacks/INmminYWNZwW_qNFx5peJQ",
|
59
59
|
"campaign" : {
|
60
|
-
"href" : "http://
|
60
|
+
"href" : "http://local.ch/v2/content-ads/51dfc56b0cf271c375c5a153"
|
61
61
|
},
|
62
62
|
"source_id" : "abcdefghs12345",
|
63
63
|
"name" : "Steve",
|
@@ -74,9 +74,9 @@
|
|
74
74
|
"average_rating" : 3.3333333333333335,
|
75
75
|
"comments" : [ ]
|
76
76
|
}, {
|
77
|
-
"href" : "http://
|
77
|
+
"href" : "http://local.ch/v2/feedbacks/ltgfr0VRYDN2nxyC119wTg",
|
78
78
|
"campaign" : {
|
79
|
-
"href" : "http://
|
79
|
+
"href" : "http://local.ch/v2/content-ads/51dfc56b0cf271c375c5a14c"
|
80
80
|
},
|
81
81
|
"source_id" : "aaa",
|
82
82
|
"recommended" : false,
|
@@ -90,9 +90,9 @@
|
|
90
90
|
"average_rating" : 1.3333333333333333,
|
91
91
|
"comments" : [ ]
|
92
92
|
}, {
|
93
|
-
"href" : "http://
|
93
|
+
"href" : "http://local.ch/v2/feedbacks/5dUdQP-kZ6sulN8NtpGXTw",
|
94
94
|
"campaign" : {
|
95
|
-
"href" : "http://
|
95
|
+
"href" : "http://local.ch/v2/content-ads/51dfc56b0cf271c375c5a14c"
|
96
96
|
},
|
97
97
|
"source_id" : "abcdefghs12345",
|
98
98
|
"name" : "Steve",
|
@@ -109,9 +109,9 @@
|
|
109
109
|
"average_rating" : 3.3333333333333335,
|
110
110
|
"comments" : [ ]
|
111
111
|
}, {
|
112
|
-
"href" : "http://
|
112
|
+
"href" : "http://local.ch/v2/feedbacks/Z3KfWzIEQ3ZVCUj2IdrSNQ",
|
113
113
|
"campaign" : {
|
114
|
-
"href" : "http://
|
114
|
+
"href" : "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12e"
|
115
115
|
},
|
116
116
|
"source_id" : "abcdefghs",
|
117
117
|
"recommended" : true,
|
@@ -119,9 +119,9 @@
|
|
119
119
|
"created_date" : "2014-09-10T16:57:36.254+02:00",
|
120
120
|
"comments" : [ ]
|
121
121
|
}, {
|
122
|
-
"href" : "http://
|
122
|
+
"href" : "http://local.ch/v2/feedbacks/ZUUUeiw-Stw5Zb1baHDUzQ",
|
123
123
|
"campaign" : {
|
124
|
-
"href" : "http://
|
124
|
+
"href" : "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d"
|
125
125
|
},
|
126
126
|
"source_id" : "abcdefghs",
|
127
127
|
"recommended" : true,
|
@@ -129,9 +129,9 @@
|
|
129
129
|
"created_date" : "2014-09-10T16:57:32.791+02:00",
|
130
130
|
"comments" : [ ]
|
131
131
|
}, {
|
132
|
-
"href" : "http://
|
132
|
+
"href" : "http://local.ch/v2/feedbacks/GyeWvhEtU4cYN_5T2FX2UA",
|
133
133
|
"campaign" : {
|
134
|
-
"href" : "http://
|
134
|
+
"href" : "http://local.ch/v2/content-ads/539266ec0cf2cd754583cfa0"
|
135
135
|
},
|
136
136
|
"source_id" : "abcdefghs",
|
137
137
|
"name" : "aa",
|
@@ -148,9 +148,9 @@
|
|
148
148
|
"average_rating" : 3.0,
|
149
149
|
"comments" : [ ]
|
150
150
|
}, {
|
151
|
-
"href" : "http://
|
151
|
+
"href" : "http://local.ch/v2/feedbacks/o-qTRqQGFS3Z_RPJm1f8SA",
|
152
152
|
"campaign" : {
|
153
|
-
"href" : "http://
|
153
|
+
"href" : "http://local.ch/v2/content-ads/51dfc56c0cf271c375c5a160"
|
154
154
|
},
|
155
155
|
"source_id" : "abcdefghs12345",
|
156
156
|
"recommended" : true,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"href": "http://
|
2
|
+
"href": "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d",
|
3
3
|
"id": "51dfc5690cf271c375c5a12d",
|
4
4
|
"product": "BKE",
|
5
5
|
"hidden": false,
|
@@ -8,7 +8,7 @@
|
|
8
8
|
"phone_number": "0041562227764",
|
9
9
|
"type": "LOCALINA",
|
10
10
|
"feedbacks": {
|
11
|
-
"href": "http://
|
11
|
+
"href": "http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d/feedbacks?exclude_hidden=false&offset=0&limit=10"
|
12
12
|
},
|
13
13
|
"aggregated_feedback": {
|
14
14
|
"recommendation": 1,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lhc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- local.ch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rspec-rails
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -125,6 +139,7 @@ files:
|
|
125
139
|
- lib/lhc/request.rb
|
126
140
|
- lib/lhc/response.rb
|
127
141
|
- lib/lhc/version.rb
|
142
|
+
- non_rails_spec/request/request_spec.rb
|
128
143
|
- script/ci/build.sh
|
129
144
|
- spec/basic_methods/delete_spec.rb
|
130
145
|
- spec/basic_methods/get_spec.rb
|
@@ -173,8 +188,10 @@ files:
|
|
173
188
|
- spec/dummy/public/500.html
|
174
189
|
- spec/dummy/public/favicon.ico
|
175
190
|
- spec/endpoint/compile_spec.rb
|
191
|
+
- spec/endpoint/match_spec.rb
|
176
192
|
- spec/endpoint/placeholders_spec.rb
|
177
193
|
- spec/endpoint/remove_interpolated_params_spec.rb
|
194
|
+
- spec/endpoint/values_as_params_spec.rb
|
178
195
|
- spec/error/find_spec.rb
|
179
196
|
- spec/error/response_spec.rb
|
180
197
|
- spec/error/timeout_spec.rb
|
@@ -278,8 +295,10 @@ test_files:
|
|
278
295
|
- spec/dummy/public/500.html
|
279
296
|
- spec/dummy/public/favicon.ico
|
280
297
|
- spec/endpoint/compile_spec.rb
|
298
|
+
- spec/endpoint/match_spec.rb
|
281
299
|
- spec/endpoint/placeholders_spec.rb
|
282
300
|
- spec/endpoint/remove_interpolated_params_spec.rb
|
301
|
+
- spec/endpoint/values_as_params_spec.rb
|
283
302
|
- spec/error/find_spec.rb
|
284
303
|
- spec/error/response_spec.rb
|
285
304
|
- spec/error/timeout_spec.rb
|
@@ -311,3 +330,4 @@ test_files:
|
|
311
330
|
- spec/support/reset_config.rb
|
312
331
|
- spec/timeouts/no_signal_spec.rb
|
313
332
|
- spec/timeouts/timings_spec.rb
|
333
|
+
- non_rails_spec/request/request_spec.rb
|