creature_feature 0.0.1 → 0.1.0

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.
@@ -1,11 +1,11 @@
1
1
  module Admin
2
2
  class RolesController < ApplicationController
3
3
  def index
4
- @roles = Role.all
4
+ @roles = Role.visible
5
5
  end
6
6
 
7
7
  def show
8
- @role = Role.find(params[:id])
8
+ get_and_verify_role
9
9
  end
10
10
 
11
11
  def new
@@ -14,7 +14,7 @@ module Admin
14
14
  end
15
15
 
16
16
  def edit
17
- @role = Role.find(params[:id])
17
+ get_and_verify_role
18
18
  @features = Feature.all
19
19
  end
20
20
 
@@ -49,13 +49,14 @@ module Admin
49
49
  end
50
50
 
51
51
  def update
52
+ return unless get_and_verify_role
53
+
52
54
  if params[:role]
53
55
  fp_params = params[:role].delete(:feature_permissions) || []
54
56
  else
55
57
  fp_params = []
56
58
  end
57
59
 
58
- @role = Role.find(params[:id])
59
60
  @features = Feature.all
60
61
 
61
62
  success = false
@@ -79,12 +80,22 @@ module Admin
79
80
  end
80
81
 
81
82
  def destroy
82
- @role = Role.find(params[:id])
83
+ return unless get_and_verify_role
83
84
  @role.destroy
84
85
 
85
86
  notice = 'Role was successfully deleted.'
86
87
 
87
88
  redirect_to(admin_roles_url, :notice => notice)
88
89
  end
90
+
91
+ private
92
+
93
+ def get_and_verify_role
94
+ @role = Role.visible.find(params[:id]) rescue nil
95
+
96
+ redirect_to(admin_roles_url, :alert => 'Invalid Role') and return false if @role.nil?
97
+
98
+ return true
99
+ end
89
100
  end
90
101
  end
data/app/models/role.rb CHANGED
@@ -4,6 +4,8 @@ class Role < ActiveRecord::Base
4
4
  has_many :feature_permissions, :dependent => :destroy
5
5
  has_many :features, :through => :feature_permissions
6
6
 
7
+ scope :visible, where(:hidden => false)
8
+
7
9
  def read_only_features
8
10
  list = []
9
11
 
@@ -1,7 +1,8 @@
1
1
  class CreateRoles < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :roles do |t|
4
- t.string :name, :null => false
4
+ t.string :name, :null => false
5
+ t.boolean :hidden, :default => false
5
6
  end
6
7
 
7
8
  add_index :roles, :name, :unique => true
@@ -1,3 +1,3 @@
1
1
  module CreatureFeature
2
- VERSION = '0.0.1'
2
+ VERSION = '0.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: creature_feature
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-18 00:00:00.000000000 -05:00
13
- default_executable:
12
+ date: 2011-12-20 00:00:00.000000000Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rails
17
- requirement: &20407840 !ruby/object:Gem::Requirement
16
+ requirement: &14151420 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 3.1.1
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *20407840
24
+ version_requirements: *14151420
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: haml-rails
28
- requirement: &20406760 !ruby/object:Gem::Requirement
27
+ requirement: &14150280 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ! '>='
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *20406760
35
+ version_requirements: *14150280
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: sqlite3
39
- requirement: &20405660 !ruby/object:Gem::Requirement
38
+ requirement: &14148380 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ! '>='
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: '0'
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *20405660
46
+ version_requirements: *14148380
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: factory_girl_rails
50
- requirement: &20405040 !ruby/object:Gem::Requirement
49
+ requirement: &14147680 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ! '>='
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: '0'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *20405040
57
+ version_requirements: *14147680
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: rspec-rails
61
- requirement: &20403860 !ruby/object:Gem::Requirement
60
+ requirement: &14146860 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ! '>='
@@ -66,10 +65,10 @@ dependencies:
66
65
  version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *20403860
68
+ version_requirements: *14146860
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: cucumber-rails
72
- requirement: &20366200 !ruby/object:Gem::Requirement
71
+ requirement: &14145860 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
74
  - - ! '>='
@@ -77,10 +76,10 @@ dependencies:
77
76
  version: '0'
78
77
  type: :development
79
78
  prerelease: false
80
- version_requirements: *20366200
79
+ version_requirements: *14145860
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: database_cleaner
83
- requirement: &20364160 !ruby/object:Gem::Requirement
82
+ requirement: &14143000 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
86
85
  - - ! '>='
@@ -88,10 +87,10 @@ dependencies:
88
87
  version: '0'
89
88
  type: :development
90
89
  prerelease: false
91
- version_requirements: *20364160
90
+ version_requirements: *14143000
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: launchy
94
- requirement: &20334040 !ruby/object:Gem::Requirement
93
+ requirement: &14142220 !ruby/object:Gem::Requirement
95
94
  none: false
96
95
  requirements:
97
96
  - - ! '>='
@@ -99,10 +98,10 @@ dependencies:
99
98
  version: '0'
100
99
  type: :development
101
100
  prerelease: false
102
- version_requirements: *20334040
101
+ version_requirements: *14142220
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: guard
105
- requirement: &20333260 !ruby/object:Gem::Requirement
104
+ requirement: &14141100 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
108
107
  - - ! '>='
@@ -110,10 +109,10 @@ dependencies:
110
109
  version: '0'
111
110
  type: :development
112
111
  prerelease: false
113
- version_requirements: *20333260
112
+ version_requirements: *14141100
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: guard-rspec
116
- requirement: &20331440 !ruby/object:Gem::Requirement
115
+ requirement: &14140460 !ruby/object:Gem::Requirement
117
116
  none: false
118
117
  requirements:
119
118
  - - ! '>='
@@ -121,10 +120,10 @@ dependencies:
121
120
  version: '0'
122
121
  type: :development
123
122
  prerelease: false
124
- version_requirements: *20331440
123
+ version_requirements: *14140460
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: guard-cucumber
127
- requirement: &20329440 !ruby/object:Gem::Requirement
126
+ requirement: &14139560 !ruby/object:Gem::Requirement
128
127
  none: false
129
128
  requirements:
130
129
  - - ! '>='
@@ -132,7 +131,7 @@ dependencies:
132
131
  version: '0'
133
132
  type: :development
134
133
  prerelease: false
135
- version_requirements: *20329440
134
+ version_requirements: *14139560
136
135
  description: Rails 3.1 engine which adds the ability to build roles from features
137
136
  you create.
138
137
  email:
@@ -141,30 +140,30 @@ executables: []
141
140
  extensions: []
142
141
  extra_rdoc_files: []
143
142
  files:
144
- - app/models/role.rb
145
- - app/models/feature.rb
146
- - app/models/feature_permission.rb
147
- - app/helpers/admin/roles_helper.rb
148
- - app/helpers/admin/features_helper.rb
149
143
  - app/views/admin/features/index.html.haml
144
+ - app/views/admin/roles/show.html.haml
150
145
  - app/views/admin/roles/new.html.haml
151
146
  - app/views/admin/roles/_form.html.haml
152
147
  - app/views/admin/roles/edit.html.haml
153
- - app/views/admin/roles/show.html.haml
154
148
  - app/views/admin/roles/index.html.haml
155
- - app/controllers/admin/roles_controller.rb
149
+ - app/helpers/admin/features_helper.rb
150
+ - app/helpers/admin/roles_helper.rb
156
151
  - app/controllers/admin/features_controller.rb
157
- - app/assets/stylesheets/admin/roles.css
152
+ - app/controllers/admin/roles_controller.rb
158
153
  - app/assets/stylesheets/admin/features.css
154
+ - app/assets/stylesheets/admin/roles.css
159
155
  - app/assets/javascripts/admin/roles.js
160
156
  - app/assets/javascripts/admin/features.js
161
- - config/routes.rb
157
+ - app/models/feature.rb
158
+ - app/models/feature_permission.rb
159
+ - app/models/role.rb
162
160
  - config/cucumber.yml
161
+ - config/routes.rb
162
+ - db/migrate/20111116174017_create_feature_permissions.rb
163
163
  - db/migrate/20111116151332_create_roles.rb
164
164
  - db/migrate/20111115210509_create_features.rb
165
- - db/migrate/20111116174017_create_feature_permissions.rb
166
- - lib/tasks/cucumber.rake
167
165
  - lib/tasks/guard.rake
166
+ - lib/tasks/cucumber.rake
168
167
  - lib/tasks/creature_feature_tasks.rake
169
168
  - lib/creature_feature.rb
170
169
  - lib/creature_feature/version.rb
@@ -172,7 +171,6 @@ files:
172
171
  - MIT-LICENSE
173
172
  - Rakefile
174
173
  - README.rdoc
175
- has_rdoc: true
176
174
  homepage: ''
177
175
  licenses: []
178
176
  post_install_message:
@@ -187,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
185
  version: '0'
188
186
  segments:
189
187
  - 0
190
- hash: -4057842884699446607
188
+ hash: 3954090576861834810
191
189
  required_rubygems_version: !ruby/object:Gem::Requirement
192
190
  none: false
193
191
  requirements:
@@ -196,10 +194,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
194
  version: '0'
197
195
  segments:
198
196
  - 0
199
- hash: -4057842884699446607
197
+ hash: 3954090576861834810
200
198
  requirements: []
201
199
  rubyforge_project:
202
- rubygems_version: 1.6.2
200
+ rubygems_version: 1.8.10
203
201
  signing_key:
204
202
  specification_version: 3
205
203
  summary: Role/Feature engine for Rails 3.1.