rspec-check-auth 0.5.0 → 0.5.1
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.
- data/CHANGELOG +2 -1
- data/README.md +2 -0
- data/VERSION +1 -1
- data/lib/rspec_check_auth/check_auth.rb +32 -10
- data/rspec-check-auth.gemspec +5 -4
- data/spec/rspec_check_auth_spec.rb +12 -0
- data/spec/spec.opts +4 -0
- metadata +26 -9
data/CHANGELOG
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
v0.5 - Public Release
|
1
|
+
v0.5 - Public Release
|
2
|
+
v0.5.1 - Adding :only as an argument to CheckAuth#resource_actions
|
data/README.md
CHANGED
@@ -28,6 +28,8 @@ Here's an example block that expects HTML to be redirected to login_url and XML/
|
|
28
28
|
|
29
29
|
## Usage
|
30
30
|
|
31
|
+
require "rspec_check_auth"
|
32
|
+
|
31
33
|
CheckAuth knows about different HTTP methods, and can figure out the usual crowd (POST create, DELETE destroy, etc.) You can override the method by passing a `:method` argument.
|
32
34
|
|
33
35
|
check_auth_for do |c|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
@@ -36,19 +36,41 @@ class CheckAuth
|
|
36
36
|
# Any params given (other than :except) are passed to each action as params,
|
37
37
|
# and actions that require an id (edit, show, update) get passed "some_id"
|
38
38
|
#
|
39
|
-
# Accepts
|
39
|
+
# Accepts:
|
40
|
+
# :only => [:action, :names]
|
41
|
+
# :except => [:action, :names]
|
42
|
+
#
|
43
|
+
# Either param can be a single action, or an array of actions. :only takes precedence over :except.
|
40
44
|
#
|
41
45
|
def resource_actions params={}
|
42
|
-
|
46
|
+
except = params.delete(:except).arrayize.compact
|
47
|
+
only = params.delete(:only).arrayize.compact
|
48
|
+
|
43
49
|
params[:format] = params.has_key?(:format) ? params[:format].arrayize : [:html,:xml]
|
44
|
-
|
45
|
-
add
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
|
51
|
+
# Logic to see if we should add an action
|
52
|
+
# It should either be in :only, or :except isn't empty and it's not in :except
|
53
|
+
should_add = lambda do |action|
|
54
|
+
# Only isn't empty and our action is contained within
|
55
|
+
if !only.empty?
|
56
|
+
break only.include?(action)
|
57
|
+
end
|
58
|
+
# Except isn't empty and our action isn't contained therein
|
59
|
+
if !except.empty?
|
60
|
+
break !except.include?(action)
|
61
|
+
end
|
62
|
+
# Just add it
|
63
|
+
true
|
64
|
+
end
|
65
|
+
|
66
|
+
# Add each action, if we should
|
67
|
+
add :index, params if should_add[:index]
|
68
|
+
add :new, params if should_add[:new]
|
69
|
+
add :create, params if should_add[:create]
|
70
|
+
add :edit, {:id => "some_id"}.merge(params) if should_add[:edit]
|
71
|
+
add :show, {:id => "some_id"}.merge(params) if should_add[:show]
|
72
|
+
add :update, {:id => "some_id"}.merge(params) if should_add[:update]
|
73
|
+
add :destroy, {:id => "some_id"}.merge(params) if should_add[:destroy]
|
52
74
|
end
|
53
75
|
|
54
76
|
def output
|
data/rspec-check-auth.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rspec-check-auth}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Caius Durling"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2010-06-28}
|
13
13
|
s.description = %q{Quickly check your rails controller actions require authentication}
|
14
14
|
s.email = %q{hello@brightbox.co.uk}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -31,12 +31,13 @@ Gem::Specification.new do |s|
|
|
31
31
|
"lib/rspec_check_auth/extend_object.rb",
|
32
32
|
"rspec-check-auth.gemspec",
|
33
33
|
"spec/rspec_check_auth_spec.rb",
|
34
|
+
"spec/spec.opts",
|
34
35
|
"spec/spec_helper.rb"
|
35
36
|
]
|
36
37
|
s.homepage = %q{http://github.com/brightbox/rspec-check-auth}
|
37
38
|
s.rdoc_options = ["--charset=UTF-8"]
|
38
39
|
s.require_paths = ["lib"]
|
39
|
-
s.rubygems_version = %q{1.3.
|
40
|
+
s.rubygems_version = %q{1.3.7}
|
40
41
|
s.summary = %q{Quickly check your rails controller actions require authentication}
|
41
42
|
s.test_files = [
|
42
43
|
"spec/rspec_check_auth_spec.rb",
|
@@ -47,7 +48,7 @@ Gem::Specification.new do |s|
|
|
47
48
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
48
49
|
s.specification_version = 3
|
49
50
|
|
50
|
-
if Gem::Version.new(Gem::
|
51
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
51
52
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
52
53
|
else
|
53
54
|
s.add_dependency(%q<rspec>, [">= 0"])
|
@@ -89,6 +89,18 @@ describe "RspecCheckAuth" do
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
+
it "should only expect resources it's been told to" do
|
93
|
+
expect_request_for :index, :html
|
94
|
+
expect_request_for :index, :xml
|
95
|
+
|
96
|
+
expect_output_for(:html, [:index_html])
|
97
|
+
expect_output_for(:xml, [:index_xml])
|
98
|
+
|
99
|
+
CheckAuth.for do |c|
|
100
|
+
c.resource_actions :only => :index
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
92
104
|
it "should add standard resource routes with extra params" do
|
93
105
|
expect_requests_for_resource_actions :some => :fields
|
94
106
|
|
data/spec/spec.opts
ADDED
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-check-auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 9
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
- 1
|
10
|
+
version: 0.5.1
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Caius Durling
|
@@ -9,19 +15,23 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2010-06-28 00:00:00 +01:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: rspec
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
23
32
|
version: "0"
|
24
|
-
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
25
35
|
description: Quickly check your rails controller actions require authentication
|
26
36
|
email: hello@brightbox.co.uk
|
27
37
|
executables: []
|
@@ -46,6 +56,7 @@ files:
|
|
46
56
|
- lib/rspec_check_auth/extend_object.rb
|
47
57
|
- rspec-check-auth.gemspec
|
48
58
|
- spec/rspec_check_auth_spec.rb
|
59
|
+
- spec/spec.opts
|
49
60
|
- spec/spec_helper.rb
|
50
61
|
has_rdoc: true
|
51
62
|
homepage: http://github.com/brightbox/rspec-check-auth
|
@@ -57,21 +68,27 @@ rdoc_options:
|
|
57
68
|
require_paths:
|
58
69
|
- lib
|
59
70
|
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
60
72
|
requirements:
|
61
73
|
- - ">="
|
62
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
63
78
|
version: "0"
|
64
|
-
version:
|
65
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
66
81
|
requirements:
|
67
82
|
- - ">="
|
68
83
|
- !ruby/object:Gem::Version
|
84
|
+
hash: 3
|
85
|
+
segments:
|
86
|
+
- 0
|
69
87
|
version: "0"
|
70
|
-
version:
|
71
88
|
requirements: []
|
72
89
|
|
73
90
|
rubyforge_project:
|
74
|
-
rubygems_version: 1.3.
|
91
|
+
rubygems_version: 1.3.7
|
75
92
|
signing_key:
|
76
93
|
specification_version: 3
|
77
94
|
summary: Quickly check your rails controller actions require authentication
|