rasti-web 0.0.7 → 0.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/lib/rasti/web/request.rb +7 -4
- data/lib/rasti/web/version.rb +1 -1
- data/lib/rasti/web.rb +1 -0
- data/rasti-web.gemspec +1 -0
- data/spec/request_spec.rb +26 -8
- metadata +17 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 999b0e5bcb54088a41c56b17277f32713ad9731c
|
|
4
|
+
data.tar.gz: 38afef4e73a96bc749c9b09082880c5d2c2b0098
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f1bbc842a4ffe459a6c1288df422fa11b7d8a61faa753ea97b5ebcbb8a2225ece830d97b72cbeb00041f6c9645ab4e8730a32028523b0e66fddbc567ff79fd2
|
|
7
|
+
data.tar.gz: 161c0a4f55c947accbd829d63640cad6bc24359bd8668c198d6f6cd1840420fbdce3df3860700ee2f88abac93cb48e49677b4587fa82af5d0fb749aa8f347c71
|
data/lib/rasti/web/request.rb
CHANGED
|
@@ -2,10 +2,13 @@ module Rasti
|
|
|
2
2
|
module Web
|
|
3
3
|
class Request < Rack::Request
|
|
4
4
|
|
|
5
|
-
def
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
def params
|
|
6
|
+
@params ||= Hash::Indifferent.new.tap do |hash|
|
|
7
|
+
hash.update self.GET
|
|
8
|
+
hash.update self.POST
|
|
9
|
+
hash.update env[ROUTE_PARAMS] if env.key? ROUTE_PARAMS
|
|
10
|
+
hash.update JSON.parse(body_text) if json? && body_text
|
|
11
|
+
end
|
|
9
12
|
end
|
|
10
13
|
|
|
11
14
|
def body_text
|
data/lib/rasti/web/version.rb
CHANGED
data/lib/rasti/web.rb
CHANGED
data/rasti-web.gemspec
CHANGED
|
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.add_dependency 'tilt', '~> 2.0'
|
|
23
23
|
spec.add_dependency 'mime-types', '~> 2.0'
|
|
24
24
|
spec.add_dependency 'class_config', '~> 0.0.2'
|
|
25
|
+
spec.add_dependency 'hash_ext', '~> 0.1'
|
|
25
26
|
|
|
26
27
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
|
27
28
|
spec.add_development_dependency 'rake'
|
data/spec/request_spec.rb
CHANGED
|
@@ -3,13 +3,31 @@ require 'minitest_helper'
|
|
|
3
3
|
describe Rasti::Web::Request do
|
|
4
4
|
|
|
5
5
|
it 'Route params' do
|
|
6
|
-
env = Rack::MockRequest.env_for '/'
|
|
7
|
-
env[Rasti::Web::ROUTE_PARAMS] = {'
|
|
6
|
+
env = Rack::MockRequest.env_for '/10/20'
|
|
7
|
+
env[Rasti::Web::ROUTE_PARAMS] = {'lat' => '10', 'lon' => '20'}
|
|
8
8
|
|
|
9
9
|
request = Rasti::Web::Request.new env
|
|
10
10
|
|
|
11
|
-
request[
|
|
12
|
-
request['
|
|
11
|
+
request.params[:lat].must_equal '10'
|
|
12
|
+
request.params['lon'].must_equal '20'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'Query string params' do
|
|
16
|
+
env = Rack::MockRequest.env_for '/?lat=10&lon=20'
|
|
17
|
+
|
|
18
|
+
request = Rasti::Web::Request.new env
|
|
19
|
+
|
|
20
|
+
request.params[:lat].must_equal '10'
|
|
21
|
+
request.params['lon'].must_equal '20'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'Form params' do
|
|
25
|
+
env = Rack::MockRequest.env_for '/', method: 'POST', params: 'lat=10&lon=20'
|
|
26
|
+
|
|
27
|
+
request = Rasti::Web::Request.new env
|
|
28
|
+
|
|
29
|
+
request.params[:lat].must_equal '10'
|
|
30
|
+
request.params['lon'].must_equal '20'
|
|
13
31
|
end
|
|
14
32
|
|
|
15
33
|
it 'Json body params' do
|
|
@@ -18,8 +36,8 @@ describe Rasti::Web::Request do
|
|
|
18
36
|
request = Rasti::Web::Request.new env
|
|
19
37
|
|
|
20
38
|
request.must_be :json?
|
|
21
|
-
request[
|
|
22
|
-
request['lon'].must_equal 20
|
|
39
|
+
request.params[:lat].must_equal 10
|
|
40
|
+
request.params['lon'].must_equal 20
|
|
23
41
|
end
|
|
24
42
|
|
|
25
43
|
it 'No json body params' do
|
|
@@ -28,8 +46,8 @@ describe Rasti::Web::Request do
|
|
|
28
46
|
request = Rasti::Web::Request.new env
|
|
29
47
|
|
|
30
48
|
request.wont_be :json?
|
|
31
|
-
request[
|
|
32
|
-
request['lon'].must_be_nil
|
|
49
|
+
request.params[:lat].must_be_nil
|
|
50
|
+
request.params['lon'].must_be_nil
|
|
33
51
|
end
|
|
34
52
|
|
|
35
53
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rasti-web
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gabriel Naiman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-01-
|
|
11
|
+
date: 2016-01-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rack
|
|
@@ -66,6 +66,20 @@ dependencies:
|
|
|
66
66
|
- - ~>
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: 0.0.2
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: hash_ext
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ~>
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0.1'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ~>
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0.1'
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
84
|
name: bundler
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -234,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
234
248
|
version: '0'
|
|
235
249
|
requirements: []
|
|
236
250
|
rubyforge_project:
|
|
237
|
-
rubygems_version: 2.4.
|
|
251
|
+
rubygems_version: 2.4.8
|
|
238
252
|
signing_key:
|
|
239
253
|
specification_version: 4
|
|
240
254
|
summary: Web blocks to build robust applications
|