lookout-rack-utils 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,10 @@
1
1
  module Lookout::Rack::Utils
2
2
  module Subroute
3
- def subroute!(relative_path)
3
+ def subroute!(relative_path, options={})
4
+ http_verb = request.request_method
5
+ # modify rack environment using Rack::Request- store passed in key/value
6
+ # pairs into hash associated with the parameters of the current http verb
7
+ options.each { |k,v| request.send(http_verb)[k] = v }
4
8
  subcode, subheaders, body = call(env.merge('PATH_INFO' => relative_path))
5
9
  return [subcode, body.first]
6
10
  end
@@ -1,7 +1,7 @@
1
1
  module Lookout
2
2
  module Rack
3
3
  module Utils
4
- VERSION = "1.4.0"
4
+ VERSION = "1.5.0"
5
5
  end
6
6
  end
7
7
  end
@@ -13,11 +13,28 @@ describe Lookout::Rack::Utils::Subroute, :type => :route do
13
13
  get '/subrouted' do
14
14
  subroute!('/test_route')
15
15
  end
16
+
17
+ get '/subrouted/:id' do |id|
18
+ subroute!('/test_route', :id => id)
19
+ end
20
+ end
21
+ end
22
+
23
+ context "without params" do
24
+ it 'should return the status code and body of the route' do
25
+ expect([subrouted.status, subrouted.body]).to eql [original.status, original.body]
16
26
  end
17
27
  end
18
28
 
19
- it 'should return the status code and body of the route' do
20
- expect([subrouted.status, subrouted.body]).to eql [original.status, original.body]
29
+ context "with params" do
30
+ let(:id) { 1 }
31
+ let(:body) { { :key => 'value', :id => "#{id}" }.to_json }
32
+
33
+ subject(:subrouted) { get "/subrouted/#{id}?key=value" }
34
+
35
+ it 'should return expected value' do
36
+ expect([subrouted.status, subrouted.body]).to eql [200, body]
37
+ end
21
38
  end
22
39
  end
23
40
 
@@ -4,6 +4,7 @@ module RouteHelpers
4
4
  class Server < Sinatra::Base
5
5
  get '/test_route' do
6
6
  status 200
7
+ params.to_json
7
8
  end
8
9
  end
9
10
 
metadata CHANGED
@@ -1,204 +1,170 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: lookout-rack-utils
3
- version: !ruby/object:Gem::Version
4
- version: 1.4.0
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.5.0
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Ian Smith
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-02-25 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2014-03-04 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
14
16
  name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
+ requirement: &id001 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
17
20
  - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
21
+ - !ruby/object:Gem::Version
22
+ version: "1.3"
20
23
  type: :development
21
24
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '1.3'
27
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
28
27
  name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
28
+ requirement: &id002 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ! '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
42
38
  name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ! '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
39
+ requirement: &id003 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
48
45
  type: :development
49
46
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
56
49
  name: rack-test
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
50
+ requirement: &id004 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
62
56
  type: :development
63
57
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
70
60
  name: sinatra
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ! '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
61
+ requirement: &id005 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
76
67
  type: :development
77
68
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ! '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
84
71
  name: timecop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
72
+ requirement: &id006 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: "0"
90
78
  type: :development
91
79
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ! '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
98
82
  name: i18n
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ! '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
83
+ requirement: &id007 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
104
89
  type: :runtime
105
90
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
112
93
  name: rack
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
94
+ requirement: &id008 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: "0"
118
100
  type: :runtime
119
101
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ! '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
102
+ version_requirements: *id008
103
+ - !ruby/object:Gem::Dependency
126
104
  name: rack-graphite
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
105
+ requirement: &id009 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: "0"
132
111
  type: :runtime
133
112
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ! '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
113
+ version_requirements: *id009
114
+ - !ruby/object:Gem::Dependency
140
115
  name: rack-requestash
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ! '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
116
+ requirement: &id010 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: "0"
146
122
  type: :runtime
147
123
  prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ! '>='
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
124
+ version_requirements: *id010
125
+ - !ruby/object:Gem::Dependency
154
126
  name: configatron
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
127
+ requirement: &id011 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
157
130
  - - ~>
158
- - !ruby/object:Gem::Version
159
- version: '2.13'
131
+ - !ruby/object:Gem::Version
132
+ version: "2.13"
160
133
  type: :runtime
161
134
  prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ~>
165
- - !ruby/object:Gem::Version
166
- version: '2.13'
167
- - !ruby/object:Gem::Dependency
135
+ version_requirements: *id011
136
+ - !ruby/object:Gem::Dependency
168
137
  name: log4r
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
138
+ requirement: &id012 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: "0"
174
144
  type: :runtime
175
145
  prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ! '>='
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
146
+ version_requirements: *id012
147
+ - !ruby/object:Gem::Dependency
182
148
  name: lookout-statsd
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ! '>='
186
- - !ruby/object:Gem::Version
149
+ requirement: &id013 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
187
154
  version: 0.7.0
188
155
  type: :runtime
189
156
  prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ! '>='
193
- - !ruby/object:Gem::Version
194
- version: 0.7.0
157
+ version_requirements: *id013
195
158
  description: A collection of rack utils.
196
- email:
159
+ email:
197
160
  - ian.smith@lookout.com
198
161
  executables: []
162
+
199
163
  extensions: []
164
+
200
165
  extra_rdoc_files: []
201
- files:
166
+
167
+ files:
202
168
  - .gitignore
203
169
  - Gemfile
204
170
  - LICENSE.txt
@@ -219,31 +185,40 @@ files:
219
185
  - spec/subroute_spec.rb
220
186
  - spec/support/routehelpers.rb
221
187
  - spec/support/subroutehelpers.rb
222
- homepage: ''
223
- licenses:
188
+ homepage: ""
189
+ licenses:
224
190
  - MIT
225
- metadata: {}
226
191
  post_install_message:
227
192
  rdoc_options: []
228
- require_paths:
193
+
194
+ require_paths:
229
195
  - lib
230
- required_ruby_version: !ruby/object:Gem::Requirement
231
- requirements:
232
- - - ! '>='
233
- - !ruby/object:Gem::Version
234
- version: '0'
235
- required_rubygems_version: !ruby/object:Gem::Requirement
236
- requirements:
237
- - - ! '>='
238
- - !ruby/object:Gem::Version
239
- version: '0'
196
+ required_ruby_version: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ hash: 3856689036968627434
202
+ segments:
203
+ - 0
204
+ version: "0"
205
+ required_rubygems_version: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ hash: 3856689036968627434
211
+ segments:
212
+ - 0
213
+ version: "0"
240
214
  requirements: []
215
+
241
216
  rubyforge_project:
242
- rubygems_version: 2.0.5
217
+ rubygems_version: 1.8.23
243
218
  signing_key:
244
- specification_version: 4
245
- summary: ''
246
- test_files:
219
+ specification_version: 3
220
+ summary: ""
221
+ test_files:
247
222
  - spec/graphite_spec.rb
248
223
  - spec/i18n_spec.rb
249
224
  - spec/log_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MmEzMTUxOTBmY2EyNzY2ZjA2ODQ3MWEzNjZlMzliMDg4MTc4ZmRjYg==
5
- data.tar.gz: !binary |-
6
- ZGVkYzZhMjA4ZDQ1N2NjNjQ2MzQzYzFjMGQ3ZjAyNTZkNjM0OGZlZQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ZTdhOGVhZjM4NGFlMjY5ZWY3NmRmY2RmZWQxNjIzZTAyYTZhNmFkYTU4OWFk
10
- ZDhjYTIzMWQwZjUxZmMwNjA4ZmY0YTE0MDNjMjIxZWNmOTAyZGZlOTg5MjRj
11
- YWU1YjMwMmQxZWM1NWNlOWM4ZWViNDMyNjYwMDU2YjVhYzJmZjc=
12
- data.tar.gz: !binary |-
13
- NWI2ZGRiOWE5ZGFkZGMxYWQ0YzA4NmY1NWRkNTgwMzFhZmNkYmVmMjc0NWMw
14
- NTNlODQ1YzU1NGE4OWMyZmI5NjI0ODIxNDM2MGIzYjdkZjdhZWZlN2JhMDZj
15
- NTQwN2Y1NzdhOWJhZDIzZTZhYWMxNGIxOTBkYTFiODgwNTgwM2Y=