lookout-rack-utils 1.4.0 → 1.5.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.
@@ -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=