lhc 0.2.1 → 1.1.0
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/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
|