guachiman 0.1.2 → 0.1.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 +7 -0
- data/README.md +66 -1
- data/guachiman.gemspec +2 -2
- data/lib/guachiman/version.rb +1 -1
- metadata +25 -41
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 24c4933a403cafbadec8a89d9d4c97fcc60363a1
|
4
|
+
data.tar.gz: f7105a30e32169f70009ba9e7035859ae35440c9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 700a5be51edeec2700bc4c584856e65e9a9ac5696c6ae1dcdc6f4ed3b0f8467eb55d83402a74d903685c9a70ea0b950c515d3b49df03de45dc3304e6606cafa0
|
7
|
+
data.tar.gz: c91922b1e2b61f69a3b10a4789f74371d02023b0d58597417c95f4f5c3df019f1560101352bb266f2ed9a6aec319b52d0ce8e5417823567458ac7c67dde336de
|
data/README.md
CHANGED
@@ -22,4 +22,69 @@ Or install it yourself as:
|
|
22
22
|
Usage
|
23
23
|
-----
|
24
24
|
|
25
|
-
|
25
|
+
Include it in your `Gemfile`
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
gem 'guachiman'
|
29
|
+
```
|
30
|
+
|
31
|
+
Run `bundle install`
|
32
|
+
|
33
|
+
Run `rails g guachiman:install`
|
34
|
+
|
35
|
+
This will generate a `Permission.rb` file in `app/models`.
|
36
|
+
|
37
|
+
Include `Guachiman::Permissible` in `ApplicationController` and implemente a `current_user` method there.
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
include Guachiman::Permissible
|
41
|
+
|
42
|
+
def current_user
|
43
|
+
@current_user ||= User.find_by_auth_token(cookies[:auth_token]) if cookies[:auth_token]
|
44
|
+
end
|
45
|
+
```
|
46
|
+
|
47
|
+
That's it, now you can describe your permissions in this way:
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
class Permission
|
51
|
+
include Guachiman::Permissions
|
52
|
+
include Guachiman::Params
|
53
|
+
|
54
|
+
attr_reader :user
|
55
|
+
|
56
|
+
def initialize current_user
|
57
|
+
@user = current_user
|
58
|
+
|
59
|
+
if user.nil?
|
60
|
+
guest
|
61
|
+
elsif user.admin?
|
62
|
+
admin
|
63
|
+
else
|
64
|
+
member
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def guest
|
71
|
+
allow :sessions, [:new, :create, :destroy]
|
72
|
+
allow :identities, [:new, :create]
|
73
|
+
allow :passwords, [:new, :create]
|
74
|
+
|
75
|
+
allow_param :user, [:name, :email, :password]
|
76
|
+
end
|
77
|
+
|
78
|
+
def member
|
79
|
+
guest
|
80
|
+
allow :identities, [:show, :edit, :update]
|
81
|
+
allow :passwords, [:edit, :update]
|
82
|
+
end
|
83
|
+
|
84
|
+
def admin
|
85
|
+
allow_all!
|
86
|
+
end
|
87
|
+
end
|
88
|
+
```
|
89
|
+
|
90
|
+
The method `allow` takes a controller params key and an array of actions. The method `allow_param` takes a model params key and an array of attributes. The method `allow_all!` is a convinience method to allow all controlles, actions and parameteres.
|
data/guachiman.gemspec
CHANGED
@@ -17,8 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test)/})
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_dependency 'railties', '>= 3.
|
21
|
-
spec.add_dependency 'activerecord', '>= 3.
|
20
|
+
spec.add_dependency 'railties', '>= 3.0'
|
21
|
+
spec.add_dependency 'activerecord', '>= 3.0'
|
22
22
|
spec.add_dependency 'strong_parameters', '>= 0.2.1'
|
23
23
|
spec.add_development_dependency 'minitest'
|
24
24
|
spec.add_development_dependency 'minitest-focus'
|
data/lib/guachiman/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guachiman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Francesco Rodriguez
|
@@ -10,92 +9,81 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2013-
|
12
|
+
date: 2013-07-09 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: railties
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - '>='
|
21
19
|
- !ruby/object:Gem::Version
|
22
|
-
version: '3.
|
20
|
+
version: '3.0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - '>='
|
29
26
|
- !ruby/object:Gem::Version
|
30
|
-
version: '3.
|
27
|
+
version: '3.0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: activerecord
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - '>='
|
37
33
|
- !ruby/object:Gem::Version
|
38
|
-
version: '3.
|
34
|
+
version: '3.0'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - '>='
|
45
40
|
- !ruby/object:Gem::Version
|
46
|
-
version: '3.
|
41
|
+
version: '3.0'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: strong_parameters
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - '>='
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: 0.2.1
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - '>='
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: 0.2.1
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: minitest
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - '>='
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: '0'
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - '>='
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: '0'
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: minitest-focus
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- -
|
74
|
+
- - '>='
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '0'
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- -
|
81
|
+
- - '>='
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '0'
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: bundler
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
88
|
- - ~>
|
101
89
|
- !ruby/object:Gem::Version
|
@@ -103,7 +91,6 @@ dependencies:
|
|
103
91
|
type: :development
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
95
|
- - ~>
|
109
96
|
- !ruby/object:Gem::Version
|
@@ -111,21 +98,19 @@ dependencies:
|
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: rake
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
|
-
- -
|
102
|
+
- - '>='
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: '0'
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
|
-
- -
|
109
|
+
- - '>='
|
125
110
|
- !ruby/object:Gem::Version
|
126
111
|
version: '0'
|
127
|
-
description:
|
128
|
-
|
112
|
+
description: 'Basic authorization library based on Ryan Bates'' Railscasts #385 and
|
113
|
+
#386'
|
129
114
|
email:
|
130
115
|
- lrodriguezsanc@gmail.com
|
131
116
|
- gustavo@epiclabs.pe
|
@@ -152,27 +137,26 @@ files:
|
|
152
137
|
homepage: https://github.com/epiclabs/guachiman
|
153
138
|
licenses:
|
154
139
|
- MIT
|
140
|
+
metadata: {}
|
155
141
|
post_install_message:
|
156
142
|
rdoc_options: []
|
157
143
|
require_paths:
|
158
144
|
- lib
|
159
145
|
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
-
none: false
|
161
146
|
requirements:
|
162
|
-
- -
|
147
|
+
- - '>='
|
163
148
|
- !ruby/object:Gem::Version
|
164
149
|
version: '0'
|
165
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
151
|
requirements:
|
168
|
-
- -
|
152
|
+
- - '>='
|
169
153
|
- !ruby/object:Gem::Version
|
170
154
|
version: '0'
|
171
155
|
requirements: []
|
172
156
|
rubyforge_project:
|
173
|
-
rubygems_version:
|
157
|
+
rubygems_version: 2.0.3
|
174
158
|
signing_key:
|
175
|
-
specification_version:
|
159
|
+
specification_version: 4
|
176
160
|
summary: Basic authorization library
|
177
161
|
test_files:
|
178
162
|
- test/generators/install_generator_test.rb
|