strong_actions 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a2c48a2da760c3262f2fd6e85252adbc449c0423
4
- data.tar.gz: 7a7e3856a3685a776c7b5b2a40de6181253df329
3
+ metadata.gz: 33b2e12b49fba4ce6ffdc958dcffb10f3488e7eb
4
+ data.tar.gz: 5ae09785037dff9dae2907cb6f35ac0af28ff100
5
5
  SHA512:
6
- metadata.gz: 844ddabc77a3aa695c9ba9210a986c3b2bd032ae1dc02b162f8c6aec8b3783fef21264fd6fd9fc138bdd79c824f9574a270a226d7fc43e5b6fda1fff0e1a2d91
7
- data.tar.gz: f45aa6a8bdf8dfe320faa719ccbe61800d7259c6cc608a3d79bf632b5ae11e4f44171fe62cefcb7914708ea35a7017a0a7ee5c13ba4d54c3ea73bac7b6e639a8
6
+ metadata.gz: d7abda3d916eb50633e65d1a7a66f3bc86332f53e766ae125ec17bdcb2d621e1e2c7456c814b13b54a4024428498e63c1792dd5c60b1559e361b732453631d28
7
+ data.tar.gz: 05396c0b7f028c12168adfbb6748294ae129d82db55388b4ec518f86c7b8711babe249922135b25afaad347c2e2e621e9cb9700e14397aae0676959d30dddb5d
data/Gemfile.lock CHANGED
@@ -1,15 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strong_actions (0.0.2)
4
+ strong_actions (0.0.3)
5
+ actionpack (>= 3.2.0, < 5.0.0)
6
+ activesupport (>= 3.2.0, < 5.0.0)
7
+ railties (>= 3.2.0, < 5.0.0)
5
8
 
6
9
  GEM
7
10
  remote: https://rubygems.org/
8
11
  specs:
9
- actionmailer (4.1.5)
10
- actionpack (= 4.1.5)
11
- actionview (= 4.1.5)
12
- mail (~> 2.5.4)
13
12
  actionpack (4.1.5)
14
13
  actionview (= 4.1.5)
15
14
  activesupport (= 4.1.5)
@@ -19,66 +18,28 @@ GEM
19
18
  activesupport (= 4.1.5)
20
19
  builder (~> 3.1)
21
20
  erubis (~> 2.7.0)
22
- activemodel (4.1.5)
23
- activesupport (= 4.1.5)
24
- builder (~> 3.1)
25
- activerecord (4.1.5)
26
- activemodel (= 4.1.5)
27
- activesupport (= 4.1.5)
28
- arel (~> 5.0.0)
29
21
  activesupport (4.1.5)
30
22
  i18n (~> 0.6, >= 0.6.9)
31
23
  json (~> 1.7, >= 1.7.7)
32
24
  minitest (~> 5.1)
33
25
  thread_safe (~> 0.1)
34
26
  tzinfo (~> 1.1)
35
- arel (5.0.1.20140414130214)
36
27
  builder (3.2.2)
37
28
  erubis (2.7.0)
38
- hike (1.2.3)
39
29
  i18n (0.6.11)
40
30
  json (1.8.1)
41
- mail (2.5.4)
42
- mime-types (~> 1.16)
43
- treetop (~> 1.4.8)
44
- mime-types (1.25.1)
45
31
  minitest (5.4.1)
46
- multi_json (1.10.1)
47
- polyglot (0.3.5)
48
32
  rack (1.5.2)
49
33
  rack-test (0.6.2)
50
34
  rack (>= 1.0)
51
- rails (4.1.5)
52
- actionmailer (= 4.1.5)
53
- actionpack (= 4.1.5)
54
- actionview (= 4.1.5)
55
- activemodel (= 4.1.5)
56
- activerecord (= 4.1.5)
57
- activesupport (= 4.1.5)
58
- bundler (>= 1.3.0, < 2.0)
59
- railties (= 4.1.5)
60
- sprockets-rails (~> 2.0)
61
35
  railties (4.1.5)
62
36
  actionpack (= 4.1.5)
63
37
  activesupport (= 4.1.5)
64
38
  rake (>= 0.8.7)
65
39
  thor (>= 0.18.1, < 2.0)
66
40
  rake (10.3.2)
67
- sprockets (2.12.1)
68
- hike (~> 1.2)
69
- multi_json (~> 1.0)
70
- rack (~> 1.0)
71
- tilt (~> 1.1, != 1.3.0)
72
- sprockets-rails (2.1.3)
73
- actionpack (>= 3.0)
74
- activesupport (>= 3.0)
75
- sprockets (~> 2.8)
76
41
  thor (0.19.1)
77
42
  thread_safe (0.3.4)
78
- tilt (1.4.1)
79
- treetop (1.4.15)
80
- polyglot
81
- polyglot (>= 0.3.1)
82
43
  tzinfo (1.2.2)
83
44
  thread_safe (~> 0.1)
84
45
 
@@ -87,6 +48,5 @@ PLATFORMS
87
48
 
88
49
  DEPENDENCIES
89
50
  bundler (~> 1.6)
90
- rails (>= 3.2.0, < 5.0.0)
91
51
  rake
92
52
  strong_actions!
data/README.md CHANGED
@@ -18,6 +18,9 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
+
22
+ ### Configuration
23
+
21
24
  Suppose method "current_user" is available for controllers and views,
22
25
 
23
26
  and user has an attribute called admin and only admin can modify resource "users",
@@ -25,14 +28,28 @@ and user has an attribute called admin and only admin can modify resource "users
25
28
  then prepare config/acl.yml
26
29
 
27
30
  current_user:
28
- users:
29
- new: admin?
30
- create: admin?
31
- edit: admin?
32
- update: admin?
33
- destroy: admin?
34
-
35
- In views, use helper_method "available?"
31
+ users:
32
+ new: admin?
33
+ create: admin?
34
+ edit: admin?
35
+ update: admin?
36
+ destroy: admin?
37
+
38
+ In above case, when a non-admin user try to access new_user_path, StrongActions::ForbiddenAction is thrown.
39
+
40
+ ### Handling error in controller
41
+
42
+ In application_controller.rb, the error should be rescued like
43
+
44
+ rescue_from StrongActions::ForbiddenAction do
45
+ render :file => 'public/403.html', :layout => false, :status => :forbidden
46
+ end
47
+
48
+ In above case, all the forbidden accesses are handled by public/403.html.
49
+
50
+ ### Disabling forbidden link in view
51
+
52
+ In views, use helper method "available?" so that links for forbidden actions are not shown.
36
53
 
37
54
  <%= link_to 'Add User' new_user_path if available?('users', 'new') %>
38
55
 
@@ -1,5 +1,5 @@
1
1
  module StrongActions
2
- module ControllerExtentions
2
+ module ControllerExtensions
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  included do
@@ -3,7 +3,7 @@ module StrongActions
3
3
 
4
4
  initializer 'strong_actions' do
5
5
  ActiveSupport.on_load :action_controller do
6
- include StrongActions::ControllerExtentions
6
+ include StrongActions::ControllerExtensions
7
7
  end
8
8
  end
9
9
 
@@ -1,3 +1,3 @@
1
1
  module StrongActions
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require "strong_actions/version"
2
2
  require "strong_actions/config"
3
3
  require "strong_actions/forbidden_action"
4
- require 'strong_actions/controller_extentions'
4
+ require 'strong_actions/controller_extensions'
5
5
 
6
6
  module StrongActions
7
7
 
@@ -17,7 +17,10 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
+ spec.add_dependency "activesupport", '>= 3.2.0', '< 5.0.0'
21
+ spec.add_dependency "actionpack", '>= 3.2.0', '< 5.0.0'
22
+ spec.add_dependency "railties", '>= 3.2.0', '< 5.0.0'
23
+
20
24
  spec.add_development_dependency "bundler", "~> 1.6"
21
25
  spec.add_development_dependency "rake"
22
- spec.add_development_dependency 'rails', '>= 3.2.0', '< 5.0.0'
23
26
  end
metadata CHANGED
@@ -1,45 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strong_actions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-31 00:00:00.000000000 Z
11
+ date: 2014-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
19
+ version: 3.2.0
20
+ - - <
21
+ - !ruby/object:Gem::Version
22
+ version: 5.0.0
23
+ type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ~>
27
+ - - '>='
25
28
  - !ruby/object:Gem::Version
26
- version: '1.6'
29
+ version: 3.2.0
30
+ - - <
31
+ - !ruby/object:Gem::Version
32
+ version: 5.0.0
27
33
  - !ruby/object:Gem::Dependency
28
- name: rake
34
+ name: actionpack
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - '>='
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
39
+ version: 3.2.0
40
+ - - <
41
+ - !ruby/object:Gem::Version
42
+ version: 5.0.0
43
+ type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
47
  - - '>='
39
48
  - !ruby/object:Gem::Version
40
- version: '0'
49
+ version: 3.2.0
50
+ - - <
51
+ - !ruby/object:Gem::Version
52
+ version: 5.0.0
41
53
  - !ruby/object:Gem::Dependency
42
- name: rails
54
+ name: railties
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - '>='
@@ -48,7 +60,7 @@ dependencies:
48
60
  - - <
49
61
  - !ruby/object:Gem::Version
50
62
  version: 5.0.0
51
- type: :development
63
+ type: :runtime
52
64
  prerelease: false
53
65
  version_requirements: !ruby/object:Gem::Requirement
54
66
  requirements:
@@ -58,6 +70,34 @@ dependencies:
58
70
  - - <
59
71
  - !ruby/object:Gem::Version
60
72
  version: 5.0.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: bundler
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '1.6'
80
+ type: :development
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: '1.6'
87
+ - !ruby/object:Gem::Dependency
88
+ name: rake
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
61
101
  description: access control for rails controller/action
62
102
  email:
63
103
  - ichylinux@gmail.com
@@ -70,12 +110,11 @@ files:
70
110
  - Gemfile.lock
71
111
  - HISTORY.md
72
112
  - LICENSE
73
- - LICENSE.txt
74
113
  - README.md
75
114
  - Rakefile
76
115
  - lib/strong_actions.rb
77
116
  - lib/strong_actions/config.rb
78
- - lib/strong_actions/controller_extentions.rb
117
+ - lib/strong_actions/controller_extensions.rb
79
118
  - lib/strong_actions/forbidden_action.rb
80
119
  - lib/strong_actions/railtie.rb
81
120
  - lib/strong_actions/version.rb
data/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 ichy
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.