roy 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- roy (0.2.1)
4
+ roy (0.3.0)
5
5
  rack
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -25,17 +25,17 @@ class MessageQueue
25
25
  @stack = []
26
26
  end
27
27
 
28
- def get
28
+ def get(_)
29
29
  @stack.inspect
30
30
  end
31
31
 
32
- def post
32
+ def post(_)
33
33
  halt 403 unless roy.params[:item]
34
34
  @stack << roy.params[:item].strip
35
35
  get
36
36
  end
37
37
 
38
- def delete
38
+ def delete(_)
39
39
  @stack.shift.inspect
40
40
  end
41
41
  end
@@ -54,7 +54,7 @@ class Example
54
54
  include Roy
55
55
  roy allow: [:get], prefix: :http_, foo: "bar"
56
56
 
57
- def http_get(*args)
57
+ def http_get(path)
58
58
  "foo is #{roy.conf.foo}"
59
59
  end
60
60
  end
data/lib/roy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Roy
2
- VERSION = "0.2.2"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/roy.rb CHANGED
@@ -30,16 +30,15 @@ module Roy
30
30
  }
31
31
 
32
32
  method = roy.env['REQUEST_METHOD'].downcase.to_sym
33
- args = roy.env['PATH_INFO'].sub(/^\/+/, '').split(/\/+/).map { |arg|
34
- Rack::Utils.unescape(arg)
35
- }
33
+ path = roy.env['PATH_INFO']
34
+ path = "/#{path}" unless path[0] == '/'
36
35
 
37
36
  method, was_head = :get, true if method == :head
38
37
 
39
38
  roy.response.status, body = catch(:halt) do
40
39
  halt(405) unless roy.conf.allow.include?(method)
41
40
  prefixed_method = :"#{roy.conf.prefix}#{method}"
42
- [roy.response.status, send(prefixed_method, *args)]
41
+ [roy.response.status, send(prefixed_method, path)]
43
42
  end
44
43
 
45
44
  roy.response.write(body) unless was_head
data/test/after_test.rb CHANGED
@@ -10,7 +10,7 @@ class AfterTestObject
10
10
  response.header['Content-Type'] = 'text/plain'
11
11
  }
12
12
 
13
- def get(*args)
13
+ def get _
14
14
  'success'
15
15
  end
16
16
  end
data/test/base_test.rb CHANGED
@@ -11,19 +11,19 @@ class BaseTestObject
11
11
 
12
12
  roy allow: [:get, :put, :custom]
13
13
 
14
- def get(*args)
14
+ def get(path)
15
15
  history.inspect
16
16
  end
17
17
 
18
- def put(*args)
18
+ def put(path)
19
19
  Roy.halt 400 unless roy.params[:body]
20
20
  history << roy.params[:body]
21
21
  history << roy.params[:foo] if roy.params[:foo]
22
- get
22
+ get(path)
23
23
  end
24
24
 
25
- def custom(*args)
26
- args.join('+')
25
+ def custom(path)
26
+ path
27
27
  end
28
28
  end
29
29
 
@@ -51,7 +51,7 @@ class BaseTest < MiniTest::Unit::TestCase
51
51
  def test_forward_allowed_methods
52
52
  get '/'
53
53
  ok!
54
- assert_equal app.get, last_response.body
54
+ assert_equal app.get('/'), last_response.body
55
55
  end
56
56
 
57
57
  def test_block_forbidden_methods
@@ -64,6 +64,7 @@ class BaseTest < MiniTest::Unit::TestCase
64
64
  def test_set_allowed_methods
65
65
  assert_includes app.class.conf.allow, :get
66
66
  assert_includes app.class.conf.allow, :put
67
+ assert_includes app.class.conf.allow, :custom
67
68
  refute_includes app.class.conf.allow, :post
68
69
  end
69
70
 
@@ -89,9 +90,9 @@ class BaseTest < MiniTest::Unit::TestCase
89
90
  assert_equal %w(hello bar).inspect, last_response.body
90
91
  end
91
92
 
92
- def test_path_components_as_method_arguments
93
- request '/a/b/c', :method => 'CUSTOM'
93
+ def test_custom_methods
94
+ request '/', :method => 'CUSTOM'
94
95
  ok!
95
- assert_equal 'a+b+c', last_response.body
96
+ assert_equal '/', last_response.body
96
97
  end
97
98
  end
data/test/before_test.rb CHANGED
@@ -10,7 +10,7 @@ class BeforeTestObject
10
10
  env['REQUEST_METHOD'] = 'GET'
11
11
  }
12
12
 
13
- def get(*args)
13
+ def get(path)
14
14
  'success'
15
15
  end
16
16
  end
@@ -6,7 +6,7 @@ Roy::Defaults.prefix = :http_
6
6
  class DefaultsTestObject
7
7
  include Roy
8
8
 
9
- def http_get(*args)
9
+ def http_get(path)
10
10
  'success'
11
11
  end
12
12
  end
data/test/plugins_test.rb CHANGED
@@ -14,7 +14,7 @@ class PluginsTestObject
14
14
  response.header['Content-Type'] = 'text/plain'
15
15
  }
16
16
 
17
- def get(*args)
17
+ def get(path)
18
18
  'success'
19
19
  end
20
20
  end
data/test/prefix_test.rb CHANGED
@@ -5,7 +5,7 @@ class PrefixTestObject
5
5
 
6
6
  roy allow: [:get], prefix: :http_
7
7
 
8
- def http_get(*args)
8
+ def http_get(path)
9
9
  'success'
10
10
  end
11
11
  end
data/test/render_test.rb CHANGED
@@ -15,21 +15,21 @@ class RenderTestObject
15
15
  roy allow: [:get],
16
16
  views: 'test/views'
17
17
 
18
- def get(*args)
19
- case args.first
20
- when 'template'
18
+ def get(path)
19
+ case path
20
+ when '/template'
21
21
  render :erb, :test
22
- when 'template_layout'
22
+ when '/template_layout'
23
23
  render :erb, :layout do
24
24
  render :erb, :test
25
25
  end
26
- when 'inline'
26
+ when '/inline'
27
27
  render :erb, Templates[:simple]
28
- when 'locals'
28
+ when '/locals'
29
29
  render :erb, Templates[:locals], person: 'Bob'
30
- when 'scope'
30
+ when '/scope'
31
31
  render :erb, Templates[:scope]
32
- when 'yield'
32
+ when '/yield'
33
33
  render :erb, Templates[:yield] do
34
34
  render :erb, Templates[:simple]
35
35
  end
metadata CHANGED
@@ -1,73 +1,69 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: roy
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
4
5
  prerelease:
5
- version: 0.2.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - madx
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-10-29 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rack
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &6811460 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: minitest
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *6811460
25
+ - !ruby/object:Gem::Dependency
26
+ name: minitest
27
+ requirement: &6810920 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
35
33
  type: :development
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: rack-test
39
34
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *6810920
36
+ - !ruby/object:Gem::Dependency
37
+ name: rack-test
38
+ requirement: &6810380 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
46
44
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: tilt
50
45
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *6810380
47
+ - !ruby/object:Gem::Dependency
48
+ name: tilt
49
+ requirement: &6809880 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
57
55
  type: :development
58
- version_requirements: *id004
59
- description: |-
60
- roy is a small library which allows every Ruby object to be used
61
- as a Rack application.
62
- email:
56
+ prerelease: false
57
+ version_requirements: *6809880
58
+ description: ! 'roy is a small library which allows every Ruby object to be used
59
+
60
+ as a Rack application.'
61
+ email:
63
62
  - madx@yapok.org
64
63
  executables: []
65
-
66
64
  extensions: []
67
-
68
65
  extra_rdoc_files: []
69
-
70
- files:
66
+ files:
71
67
  - Gemfile
72
68
  - Gemfile.lock
73
69
  - LICENSE
@@ -93,32 +89,29 @@ files:
93
89
  - test/views/test.erb
94
90
  homepage: https://github.com/madx/roy
95
91
  licenses: []
96
-
97
92
  post_install_message:
98
93
  rdoc_options: []
99
-
100
- require_paths:
94
+ require_paths:
101
95
  - lib
102
- required_ruby_version: !ruby/object:Gem::Requirement
96
+ required_ruby_version: !ruby/object:Gem::Requirement
103
97
  none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: "0"
108
- required_rubygems_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
103
  none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: "0"
104
+ requirements:
105
+ - - ! '>='
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
114
108
  requirements: []
115
-
116
109
  rubyforge_project: roy
117
110
  rubygems_version: 1.8.5
118
111
  signing_key:
119
112
  specification_version: 3
120
113
  summary: make your objects REST-friendly
121
- test_files:
114
+ test_files:
122
115
  - test/after_test.rb
123
116
  - test/base_test.rb
124
117
  - test/before_test.rb