lookout-rack-utils 1.6.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzIxNjcxNGNjYjY5YWRjNTZjMTZiYWM5YTZlZGQ5MTI4NDQ5OGJiNw==
4
+ NzZmNWQ3MmJjNmM2Zjk4OThkODJkZmE3ZmExNzA2NmIwYTQ0NWVjMw==
5
5
  data.tar.gz: !binary |-
6
- ZWJjMzVjYWFmZTk3YzYxOTcwMTc4MzZhMzRjNGU3MTI5MGI0YjEyNg==
6
+ N2M1ZGMzZGJjNDc4ZTA3MDE4OGZlOGFlZGJhYzU3MzAzMmMwZmQ1ZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MjIzYjIyNjdkMTkzZWZmYWM0MDlmMjNiMGUyNjkyOTFlYjQxMWI2ZjA3ZjMz
10
- ZTUwODFkNmIxMzNhMjRhN2VmZmVmNWM5NjA1ZGMyZDQwODBmNGY4YmU1MjRh
11
- MDk3ZWJjYTAwNmE3Y2JmZTI5YWU0MmM0MWIzNDYzNzAzZGE2ZWU=
9
+ NWU4YmQ3NzEzNTkwZTdmYWI0ZTFiMDA5NjJkNjM0ZWFjZDRiYWUxMDBlZTM3
10
+ MzRjNzM4NDdiNDFiZGU1ZjUwMTU4NzEyNzFlYzQ2MTJmOWY0OWUzZWE4M2Jk
11
+ MjE3OTQ2ZmU2YzkyYTczMjlkYTBhNDg4M2IxMzY4Y2ZkMTA4NDY=
12
12
  data.tar.gz: !binary |-
13
- YjAzMGU4YjdkNmE2M2U2YmZlZTk4ZDEyMTAzM2I3Y2Q0ZmRjZTJmYTE1NmNm
14
- MjQ5YjcxYTkzMjRkNzEyZjllODJkZmU2MTJhODY4ODNkYjk5YTE4YjE5Zjll
15
- MWM3OTM0NWUzZTMwODc1NDVmMDI5MjY2OTFkYzMxMzk0ODlmOWU=
13
+ NTAxZGYxNjc0N2U5MTczNGJiOThkYTNmMDg0NWE4NGJkZGIxODgxOTAyYjVk
14
+ ZDVkOWU3M2RhZGIyNWQwODNhMjE3MGEzNmJkODg3N2E1Y2NiMTI5OTU4ZmYw
15
+ ZmYzZGYzZTc2ZTQwZDU4YmJlMDBiYmVmNjk1ODhlZDIzZGRiZDY=
data/README.md CHANGED
@@ -94,6 +94,29 @@ path; the result can then be used, or just returned immediately to the browser.
94
94
  post '/api/public/v1/user' do
95
95
  subroute!("/api/public/v1/user/#{current_user.id}")
96
96
  end
97
+
98
+ # A route that requires an id param
99
+ get '/api/public/v1/problem' do
100
+ halt 404 unless params[:id]
101
+ ...
102
+ end
103
+
104
+ # Assuming the problem route above that takes an id parameter,
105
+ # pass information from one route to another in the correct form.
106
+ get '/api/public/v1/device/problem/:problem_id' do |problem_id|
107
+ subroute!('/api/public/v1/problem', :id => problem_id)
108
+ end
109
+
110
+ delete '/api/public/v1/user/:user_id' do |user_id|
111
+ ...
112
+ end
113
+
114
+ # Assuming the delete route above, change the http verb of the request to
115
+ # another (a contrived example)
116
+ get '/api/public/v1/user/:user_id' do |user_id|
117
+ subroute!("/api/public/v1/user/#{user_id}", :request_method => 'DELETE')
118
+ end
119
+
97
120
  ```
98
121
 
99
122
  ## Contributing
@@ -15,7 +15,7 @@ module Lookout::Rack::Utils
15
15
 
16
16
  # modify rack environment using Rack::Request- store passed in key/value
17
17
  # pairs into hash associated with the parameters of the current http verb
18
- options.each { |k,v| subserver.request.send(http_verb)[k] = v }
18
+ options.each { |k,v| subserver.request.update_param(k, v) }
19
19
  # Invoking Sinatra::Base#call! on our duplicated app instance. Sinatra's
20
20
  # call will dup the app instance and then call!, so skip Sinatra's dup
21
21
  # since we've done that here.
@@ -1,7 +1,7 @@
1
1
  module Lookout
2
2
  module Rack
3
3
  module Utils
4
- VERSION = "1.6.0"
4
+ VERSION = "1.7.1"
5
5
  end
6
6
  end
7
7
  end
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.add_runtime_dependency "i18n"
29
29
 
30
- spec.add_dependency "rack"
30
+ spec.add_dependency "rack", '>= 1.5.0'
31
31
  spec.add_dependency "rack-graphite"
32
32
  spec.add_dependency "rack-requestash"
33
33
  spec.add_dependency "configatron", '~> 2.13'
@@ -18,6 +18,10 @@ describe Lookout::Rack::Utils::Subroute, :type => :route do
18
18
  subroute!('/test_route', :id => id)
19
19
  end
20
20
 
21
+ put '/subrouted/request_params' do
22
+ subroute!('/test_route', 'key' => 'value')
23
+ end
24
+
21
25
  delete '/test_delete' do
22
26
  status 201
23
27
  { :deleted => true }.to_json
@@ -44,10 +48,21 @@ describe Lookout::Rack::Utils::Subroute, :type => :route do
44
48
  let(:id) { 1 }
45
49
  let(:body) { { :key => 'value', :id => "#{id}" }.to_json }
46
50
 
47
- subject(:subrouted) { get "/subrouted/#{id}?key=value" }
48
51
 
49
- it 'should return expected value' do
50
- expect([subrouted.status, subrouted.body]).to eql [200, body]
52
+ context 'a get route' do
53
+ subject(:subrouted) { get "/subrouted/#{id}?key=value" }
54
+
55
+ it 'should return expected value' do
56
+ expect([subrouted.status, subrouted.body]).to eql [200, body]
57
+ end
58
+ end
59
+
60
+ context 'params added by subrouter, non-GET method' do
61
+ subject(:subrouted) { put '/subrouted/request_params' }
62
+
63
+ it 'should return expected value' do
64
+ expect([subrouted.status, subrouted.body]).to eql [200, { 'key' => 'value' }.to_json]
65
+ end
51
66
  end
52
67
  end
53
68
 
@@ -6,6 +6,11 @@ module RouteHelpers
6
6
  status 200
7
7
  params.to_json
8
8
  end
9
+
10
+ put '/test_route' do
11
+ status 200
12
+ params.to_json
13
+ end
9
14
  end
10
15
 
11
16
  def app
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookout-rack-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2014-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 1.5.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 1.5.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rack-graphite
127
127
  requirement: !ruby/object:Gem::Requirement