strong_actions 0.0.2 → 0.0.3

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 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.