vigilante 1.0.0 → 1.0.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/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "rails", "3.0.3"
3
+ gem "rails", ">= 3.0.3"
4
4
 
5
5
  group :development, :test do
6
6
  gem "jeweler"
data/Gemfile.lock CHANGED
@@ -35,8 +35,8 @@ GEM
35
35
  abstract (>= 1.0.0)
36
36
  git (1.2.5)
37
37
  i18n (0.5.0)
38
- jeweler (1.5.2)
39
- bundler (~> 1.0.0)
38
+ jeweler (1.6.4)
39
+ bundler (~> 1.0)
40
40
  git (>= 1.2.5)
41
41
  rake
42
42
  mail (2.2.14)
@@ -64,7 +64,7 @@ GEM
64
64
  activesupport (= 3.0.3)
65
65
  rake (>= 0.8.7)
66
66
  thor (~> 0.14.4)
67
- rake (0.8.7)
67
+ rake (0.9.2)
68
68
  remarkable (4.0.0.alpha4)
69
69
  rspec (>= 2.0.0.alpha11)
70
70
  remarkable_activemodel (4.0.0.alpha4)
@@ -98,7 +98,7 @@ PLATFORMS
98
98
 
99
99
  DEPENDENCIES
100
100
  jeweler
101
- rails (= 3.0.3)
101
+ rails (>= 3.0.3)
102
102
  remarkable (>= 4.0.0.alpha4)
103
103
  remarkable_activemodel (>= 4.0.0.alpha4)
104
104
  remarkable_activerecord (>= 4.0.0.alpha4)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -10,9 +10,37 @@ class AbilitiesController < ApplicationController
10
10
  @ability = Ability.find(params[:id])
11
11
  end
12
12
 
13
+ def new
14
+ @ability = Ability.new
15
+ end
13
16
 
14
- private
17
+ def create
18
+ @ability = Ability.new(params[:ability])
19
+ if @ability.save
20
+ flash[:notice] = t('ability.created')
21
+ redirect_to :action => :index
22
+ else
23
+ render 'new'
24
+ end
25
+ end
26
+
27
+
28
+ def edit
29
+ @ability = Ability.find(params[:id])
30
+ end
31
+
32
+ def update
33
+ @ability = Ability.find(params[:id])
15
34
 
35
+ if @ability.update_attributes(params[:ability])
36
+ flash[:notice] = t('ability.saved')
37
+ redirect_to :action => :index
38
+ else
39
+ render 'edit'
40
+ end
41
+ end
42
+
43
+ private
16
44
 
17
45
 
18
46
  end
@@ -2,5 +2,8 @@ class Ability < ActiveRecord::Base
2
2
  has_many :ability_permissions
3
3
  has_many :permissions, :through => :ability_permissions
4
4
 
5
+ accepts_nested_attributes_for :permissions
6
+ accepts_nested_attributes_for :ability_permissions
7
+
5
8
  scope :that_need_extent, lambda { where('needs_extent=?', true)}
6
9
  end
@@ -1,4 +1,6 @@
1
1
  class AbilityPermission < ActiveRecord::Base
2
2
  belongs_to :permission
3
3
  belongs_to :ability
4
+
5
+ accepts_nested_attributes_for :permission
4
6
  end
@@ -0,0 +1,11 @@
1
+ .nested-fields.ability-permission-fields
2
+
3
+ .row-fluid
4
+ .span4
5
+ #permission_from_list
6
+ = f.association :permission, :collection => Permission.all(:order => 'allowed_action'), :prompt => 'Choose an existing permission', :label_method => :allowed_action
7
+ .span4
8
+ #actions-on-permission{:style => 'line-height: 20px; margin-top: 5px;'}
9
+ - if f.object.new_record?
10
+ = link_to_add_association 'or create a new permission', f, :permission
11
+ = link_to_remove_association "remove permission", f
@@ -0,0 +1,19 @@
1
+
2
+ = simple_form_for @ability, :html => {:class => 'form-horizontal' } do |f|
3
+ = f.input :name
4
+ = f.input :description
5
+
6
+ %h2 Allowed actions
7
+ #permissions
8
+ = f.simple_fields_for :ability_permissions do |abp|
9
+ = render 'ability_permission_fields', :f => abp
10
+
11
+ .control-group
12
+ .controls
13
+ = link_to_add_association 'add a permission', f, :ability_permissions
14
+
15
+ .control-group
16
+ .controls
17
+ = f.submit "Save", :class=>"btn btn-primary"
18
+ = link_to "Cancel", abilities_path, :class => 'btn'
19
+
@@ -0,0 +1,2 @@
1
+ .nested-fields
2
+ = f.input :allowed_action, :hint => 'posts[index], posts[all], *[index,show], *[all]'
@@ -0,0 +1,3 @@
1
+ %h1 Editing ability
2
+
3
+ = render 'form'
@@ -13,3 +13,5 @@
13
13
  %td=h ab.description
14
14
  %td
15
15
  = link_to 'Show', ab
16
+
17
+ = link_to 'Create new', new_ability_path, :class => 'btn btn-mini' if is_allowed_to?(Ability, :create)
@@ -0,0 +1,3 @@
1
+ %h1 Creating a new ability
2
+
3
+ = render 'form'
@@ -1,71 +1,74 @@
1
- %table.resource_attributes
2
- %tr
3
- %th Name
4
- %td= @ability.name
5
- %tr
6
- %th Description
7
- %td= @ability.description
8
1
 
2
+ .span6
3
+ %table.table
4
+ %tr
5
+ %th Name
6
+ %td= @ability.name
7
+ %tr
8
+ %th Description
9
+ %td= @ability.description
9
10
 
10
- %h2 Allowed actions
11
11
 
12
+ %h2 Allowed actions
12
13
 
14
+ %table.table
15
+ - @ability.permissions.each do |perm|
16
+ %tr
17
+ %td= perm.allowed_action
13
18
 
14
- %table{:class => 'overview'}
15
- - @ability.permissions.each do |perm|
16
- %tr
17
- %td= perm.allowed_action
19
+ = link_to 'Edit', edit_ability_path(@ability), :class => 'btn btn-mini' if is_allowed_to?(@ability, :edit)
18
20
 
19
- #abilities_explanation.help_text
20
- %p
21
- Allowed actions are specified as follows:
21
+ .span4
22
+ #abilities_explanation.help_text.well
23
+ %p
24
+ Allowed actions are specified as follows:
22
25
 
23
- %ul
24
- %li
25
- %pre
26
- posts[index, show]
27
- %ul
28
- %li
29
- Only the things that are explicitly specified are allowed.
30
- This declares that on the
31
- %tt
32
- PostsController
33
- only
34
- %tt
35
- index
36
- and
37
- %tt
38
- show
39
- are allowed.
40
- %li
41
- %pre
42
- *[index, show, report]
43
- %ul
44
- %li
45
- We also allow wild-cards. Instead of a controller-name, we could write
46
- %tt
47
- *
48
- which would mean the specified actions would apply to all controllers.
49
- %li
50
- %pre
51
- posts[all]
52
- %ul
53
- %li
54
- If we write
55
- %tt
56
- all
57
- instead of a specific action or list of actions, then all actions are allowed for a given controller.
58
- In this case a user has the ability to access all actions inside the posts_controller.
59
- %li
60
- %pre
61
- *[all]
62
- %ul
63
- %li
64
- By extension, this means a user has the ability to access all actions from all controllers.
65
- %p
66
- When abilities are assigned to operators (authorisation), it is possible to specify the extent of the ability.
67
- So an
68
- %tt
69
- asp_admin
70
- 's permissions could only be valid on a few asps.
26
+ %ul
27
+ %li
28
+ %pre
29
+ posts[index, show]
30
+ %ul
31
+ %li
32
+ Only the things that are explicitly specified are allowed.
33
+ This declares that on the
34
+ %tt
35
+ PostsController
36
+ only
37
+ %tt
38
+ index
39
+ and
40
+ %tt
41
+ show
42
+ are allowed.
43
+ %li
44
+ %pre
45
+ *[index, show, report]
46
+ %ul
47
+ %li
48
+ We also allow wild-cards. Instead of a controller-name, we could write
49
+ %tt
50
+ *
51
+ which would mean the specified actions would apply to all controllers.
52
+ %li
53
+ %pre
54
+ posts[all]
55
+ %ul
56
+ %li
57
+ If we write
58
+ %tt
59
+ all
60
+ instead of a specific action or list of actions, then all actions are allowed for a given controller.
61
+ In this case a user has the ability to access all actions inside the posts_controller.
62
+ %li
63
+ %pre
64
+ *[all]
65
+ %ul
66
+ %li
67
+ By extension, this means a user has the ability to access all actions from all controllers.
68
+ %p
69
+ When abilities are assigned (authorisation), it is possible to specify the extent of the ability.
70
+ What this means depends on your website, but in case of e.g. a blog-host (like blogger), this means that a
71
+ %tt
72
+ author
73
+ 's permissions could only be valid on those blogs he owns or has access to.
71
74
 
@@ -0,0 +1,7 @@
1
+ class CreateAbilityPermissions < ActiveRecord::Migration
2
+ def self.change
3
+ change_table :abilities do |t|
4
+ t.integer :importance
5
+ end
6
+ end
7
+ end
@@ -2,9 +2,25 @@ module Vigilante
2
2
  module Authorization
3
3
 
4
4
  def self.included(base)
5
+ current_user_method = VIGILANTE_CONFIG['current_user_method']
6
+
5
7
  base.helper_method :is_allowed_to?
6
- base.helper_method :get_current_operator_extent_of
7
- base.helper_method :get_current_operator_permissions_are_global?
8
+ base.helper_method "get_#{current_user_method}_extent_of".to_sym
9
+ base.helper_method "get_#{current_user_method}_permissions_are_global?".to_sym
10
+
11
+ define_method "get_#{current_user_method}_extent_of" do |controller_name, action|
12
+ get_protectee_permissions.get_extent_of(controller_name, action)
13
+ end
14
+
15
+ # needed? --> tells if the current_operator has only global permissions
16
+ define_method "get_#{current_user_method}_permissions_are_global?" do
17
+ get_protectee_permissions.are_only_global?
18
+ end
19
+
20
+ define_method "get_#{current_user_method}_permissions" do
21
+ get_protectee_permissions
22
+ end
23
+
8
24
  end
9
25
 
10
26
  # ******************************************************************
@@ -26,6 +42,19 @@ module Vigilante
26
42
  self.send(application_method) if application_method.present?
27
43
  end
28
44
 
45
+ # this will return the current user/operator/... that is guarded by vigilante
46
+ def get_protectee
47
+ current_user_method = VIGILANTE_CONFIG['current_user_method']
48
+
49
+ Rails.logger.debug "current_user_method = #{current_user_method}"
50
+
51
+ @protectee ||= self.send(current_user_method) if current_user_method.present?
52
+
53
+ Rails.logger.debug "Protectee = #{@protectee.user_name}"
54
+
55
+ @protectee
56
+ end
57
+
29
58
 
30
59
  # ******************************************************************
31
60
  # explicitely call the Vigilante filter in each controller that requires Vigilante protection :
@@ -40,7 +69,7 @@ module Vigilante
40
69
  def check_permissions(options={})
41
70
  logger.debug "CHECK PERMISSIONS"
42
71
  # a logged in operator can do ajax-requests
43
- return if current_operator.present? && request.xhr?
72
+ return if get_protectee.present? && request.xhr?
44
73
 
45
74
  controller_to_check = options[:as].nil? ? controller_name : options[:as]
46
75
 
@@ -83,23 +112,14 @@ module Vigilante
83
112
 
84
113
  def is_allowed_to?(controller_name, action, context=get_current_context_from_application)
85
114
  logger.debug "is_allowed_to? #{controller_name.inspect}##{action} [#{context.inspect}]"
86
- get_current_operator_permissions.is_allowed_by_context(controller_name, action, get_extent_from_context(context))
87
- end
88
-
89
-
90
- def get_current_operator_extent_of(controller_name, action)
91
- get_current_operator_permissions.get_extent_of(controller_name, action)
115
+ get_protectee_permissions.is_allowed_by_context(controller_name, action, get_extent_from_context(context))
92
116
  end
93
117
 
94
- # needed? --> tells if the current_operator has only global permissions
95
- def get_current_operator_permissions_are_global?
96
- get_current_operator_permissions.are_only_global?
97
- end
98
-
99
- def get_current_operator_permissions
118
+ def get_protectee_permissions
100
119
  @permits ||= session[:permits]
101
120
  if @permits.nil?
102
- @permits = current_operator.permits
121
+ Rails.logger.debug "determine permissions ... "
122
+ @permits = get_protectee.permits
103
123
  session[:permits] = @permits
104
124
  end
105
125
  @permits
@@ -130,20 +150,20 @@ module Vigilante
130
150
 
131
151
  # ******************************************************************
132
152
 
133
- def find_objects
134
- handle_context_for_nested_resources
135
- model = Kernel.const_get(model_name)
136
- objects = model.find_all_by_operator(current_operator, params)
137
- instance_variable_set "@#{model_name.underscore.pluralize}", objects
138
- end
139
-
140
-
141
- def find_object
142
- handle_context_for_nested_resources
143
- model = Kernel.const_get(model_name)
144
- object = model.find_by_operator(current_operator, params[:id], params)
145
- instance_variable_set "@#{model_name.underscore}", object
146
- end
153
+ #def find_objects
154
+ # handle_context_for_nested_resources
155
+ # model = Kernel.const_get(model_name)
156
+ # objects = model.find_all_by_operator(get_protectee, params)
157
+ # instance_variable_set "@#{model_name.underscore.pluralize}", objects
158
+ #end
159
+ #
160
+ #
161
+ #def find_object
162
+ # handle_context_for_nested_resources
163
+ # model = Kernel.const_get(model_name)
164
+ # object = model.find_by_operator(get_protectee, params[:id], params)
165
+ # instance_variable_set "@#{model_name.underscore}", object
166
+ #end
147
167
 
148
168
 
149
169
  # returns the model-name for this controller
@@ -19,7 +19,7 @@ module Vigilante
19
19
  # extent_params[:extent_type] = extent.class.name
20
20
  # end
21
21
 
22
- new_authorization = Authorization.create(:operator_id => self.id, :ability_id => ability.id)
22
+ new_authorization = ::Authorization.create(:operator_id => self.id, :ability_id => ability.id)
23
23
  unless extent.nil?
24
24
  new_authorization.add_extent(extent)
25
25
  end
data/vigilante.gemspec ADDED
@@ -0,0 +1,152 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "vigilante"
8
+ s.version = "1.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Nathan Van der Auwera"]
12
+ s.date = "2013-09-16"
13
+ s.description = "Vigilante is a db-backed authorisation, completely configurable and dynamic; where permissions can be limited to extents."
14
+ s.email = "nathan@dixis.com"
15
+ s.extra_rdoc_files = [
16
+ "README.markdown"
17
+ ]
18
+ s.files = [
19
+ ".document",
20
+ ".travis.yml",
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "History.md",
24
+ "MIT-LICENSE",
25
+ "README.markdown",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "app/controllers/abilities_controller.rb",
29
+ "app/models/ability.rb",
30
+ "app/models/ability_permission.rb",
31
+ "app/models/authorization.rb",
32
+ "app/models/authorization_extent.rb",
33
+ "app/models/permission.rb",
34
+ "app/models/permission_hash.rb",
35
+ "app/views/abilities/_ability_permission_fields.html.haml",
36
+ "app/views/abilities/_form.html.haml",
37
+ "app/views/abilities/_permission_fields.html.haml",
38
+ "app/views/abilities/edit.html.haml",
39
+ "app/views/abilities/index.html.haml",
40
+ "app/views/abilities/new.html.haml",
41
+ "app/views/abilities/show.html.haml",
42
+ "lib/config/vigilante_config.yml",
43
+ "lib/db/migrate/20101028091755_create_permissions.rb",
44
+ "lib/db/migrate/20101028091859_create_abilities.rb",
45
+ "lib/db/migrate/20101028091927_create_ability_permissions.rb",
46
+ "lib/db/migrate/20101028092014_create_authorizations.rb",
47
+ "lib/db/migrate/20101124131334_add_extent_flag_to_ability.rb",
48
+ "lib/db/migrate/20101129084538_add_authorization_extent.rb",
49
+ "lib/db/migrate/20101129084620_remove_extent_from_authorization.rb",
50
+ "lib/db/migrate/20130829160700_add_importance_to_abilities.rb",
51
+ "lib/generators/vigilante/install/install_generator.rb",
52
+ "lib/generators/vigilante/install/templates/create_abilities.rb",
53
+ "lib/generators/vigilante/install/templates/create_ability_permissions.rb",
54
+ "lib/generators/vigilante/install/templates/create_authorization_extents.rb",
55
+ "lib/generators/vigilante/install/templates/create_authorizations.rb",
56
+ "lib/generators/vigilante/install/templates/create_permissions.rb",
57
+ "lib/generators/vigilante/install/templates/vigilante_config.yml",
58
+ "lib/vigilante.rb",
59
+ "lib/vigilante/active_record_extensions.rb",
60
+ "lib/vigilante/authorization.rb",
61
+ "lib/vigilante/controller_extension.rb",
62
+ "lib/vigilante/finder_helper.rb",
63
+ "lib/vigilante/watched_operator.rb",
64
+ "spec/controllers/application_controller_spec.rb",
65
+ "spec/controllers/blogs_controller_spec.rb",
66
+ "spec/dummy/Rakefile",
67
+ "spec/dummy/app/controllers/application_controller.rb",
68
+ "spec/dummy/app/controllers/blogs_controller.rb",
69
+ "spec/dummy/app/helpers/application_helper.rb",
70
+ "spec/dummy/app/models/author.rb",
71
+ "spec/dummy/app/models/blog.rb",
72
+ "spec/dummy/app/models/post.rb",
73
+ "spec/dummy/app/views/layouts/application.html.erb",
74
+ "spec/dummy/config.ru",
75
+ "spec/dummy/config/application.rb",
76
+ "spec/dummy/config/boot.rb",
77
+ "spec/dummy/config/database.yml",
78
+ "spec/dummy/config/environment.rb",
79
+ "spec/dummy/config/environments/development.rb",
80
+ "spec/dummy/config/environments/production.rb",
81
+ "spec/dummy/config/environments/test.rb",
82
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
83
+ "spec/dummy/config/initializers/inflections.rb",
84
+ "spec/dummy/config/initializers/mime_types.rb",
85
+ "spec/dummy/config/initializers/secret_token.rb",
86
+ "spec/dummy/config/initializers/session_store.rb",
87
+ "spec/dummy/config/locales/en.yml",
88
+ "spec/dummy/config/routes.rb",
89
+ "spec/dummy/config/vigilante_config.yml",
90
+ "spec/dummy/db/migrate/20101028091755_create_permissions.rb",
91
+ "spec/dummy/db/migrate/20101028091859_create_abilities.rb",
92
+ "spec/dummy/db/migrate/20101028091927_create_ability_permissions.rb",
93
+ "spec/dummy/db/migrate/20101028092014_create_authorizations.rb",
94
+ "spec/dummy/db/migrate/20101124131334_add_extent_flag_to_ability.rb",
95
+ "spec/dummy/db/migrate/20101129084538_add_authorization_extent.rb",
96
+ "spec/dummy/db/migrate/20101129084620_remove_extent_from_authorization.rb",
97
+ "spec/dummy/db/migrate/20110118120344_create_blogs.rb",
98
+ "spec/dummy/db/migrate/20110118120421_create_posts.rb",
99
+ "spec/dummy/db/migrate/20110118120448_create_authors.rb",
100
+ "spec/dummy/db/schema.rb",
101
+ "spec/dummy/db/seeds.rb",
102
+ "spec/dummy/db/seeds/initial_watchman_permissions.rb",
103
+ "spec/dummy/public/404.html",
104
+ "spec/dummy/public/422.html",
105
+ "spec/dummy/public/500.html",
106
+ "spec/dummy/public/favicon.ico",
107
+ "spec/dummy/public/javascripts/application.js",
108
+ "spec/dummy/public/javascripts/controls.js",
109
+ "spec/dummy/public/javascripts/dragdrop.js",
110
+ "spec/dummy/public/javascripts/effects.js",
111
+ "spec/dummy/public/javascripts/prototype.js",
112
+ "spec/dummy/public/javascripts/rails.js",
113
+ "spec/dummy/public/stylesheets/.gitkeep",
114
+ "spec/dummy/script/rails",
115
+ "spec/models/ability_permission_spec.rb",
116
+ "spec/models/ability_spec.rb",
117
+ "spec/models/author_spec.rb",
118
+ "spec/models/authorization_extent_spec.rb",
119
+ "spec/models/authorization_spec.rb",
120
+ "spec/models/permission_hash_spec.rb",
121
+ "spec/models/permission_spec.rb",
122
+ "spec/spec_helper.rb",
123
+ "spec/vigilante_spec.rb",
124
+ "vigilante.gemspec"
125
+ ]
126
+ s.homepage = "http://github.com/vigilante"
127
+ s.require_paths = ["lib"]
128
+ s.rubygems_version = "1.8.25"
129
+ s.summary = "Context-based, db-backed authorisation for your rails3 apps"
130
+
131
+ if s.respond_to? :specification_version then
132
+ s.specification_version = 3
133
+
134
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
135
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.3"])
136
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
137
+ s.add_development_dependency(%q<rspec-rails>, [">= 2.4.0"])
138
+ s.add_development_dependency(%q<rails>, [">= 3.0.0"])
139
+ else
140
+ s.add_dependency(%q<rails>, [">= 3.0.3"])
141
+ s.add_dependency(%q<jeweler>, [">= 0"])
142
+ s.add_dependency(%q<rspec-rails>, [">= 2.4.0"])
143
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
144
+ end
145
+ else
146
+ s.add_dependency(%q<rails>, [">= 3.0.3"])
147
+ s.add_dependency(%q<jeweler>, [">= 0"])
148
+ s.add_dependency(%q<rspec-rails>, [">= 2.4.0"])
149
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
150
+ end
151
+ end
152
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vigilante
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,23 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-17 00:00:00.000000000 +02:00
13
- default_executable:
12
+ date: 2013-09-16 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rails
17
- requirement: &25338980 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
- - - =
19
+ - - ! '>='
21
20
  - !ruby/object:Gem::Version
22
21
  version: 3.0.3
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *25338980
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.3
26
30
  - !ruby/object:Gem::Dependency
27
31
  name: jeweler
28
- requirement: &25338480 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
29
33
  none: false
30
34
  requirements:
31
35
  - - ! '>='
@@ -33,10 +37,15 @@ dependencies:
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
- version_requirements: *25338480
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
37
46
  - !ruby/object:Gem::Dependency
38
47
  name: rspec-rails
39
- requirement: &25337960 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
40
49
  none: false
41
50
  requirements:
42
51
  - - ! '>='
@@ -44,10 +53,15 @@ dependencies:
44
53
  version: 2.4.0
45
54
  type: :development
46
55
  prerelease: false
47
- version_requirements: *25337960
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.4.0
48
62
  - !ruby/object:Gem::Dependency
49
63
  name: rails
50
- requirement: &25337440 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
51
65
  none: false
52
66
  requirements:
53
67
  - - ! '>='
@@ -55,7 +69,12 @@ dependencies:
55
69
  version: 3.0.0
56
70
  type: :development
57
71
  prerelease: false
58
- version_requirements: *25337440
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 3.0.0
59
78
  description: Vigilante is a db-backed authorisation, completely configurable and dynamic;
60
79
  where permissions can be limited to extents.
61
80
  email: nathan@dixis.com
@@ -80,7 +99,12 @@ files:
80
99
  - app/models/authorization_extent.rb
81
100
  - app/models/permission.rb
82
101
  - app/models/permission_hash.rb
102
+ - app/views/abilities/_ability_permission_fields.html.haml
103
+ - app/views/abilities/_form.html.haml
104
+ - app/views/abilities/_permission_fields.html.haml
105
+ - app/views/abilities/edit.html.haml
83
106
  - app/views/abilities/index.html.haml
107
+ - app/views/abilities/new.html.haml
84
108
  - app/views/abilities/show.html.haml
85
109
  - lib/config/vigilante_config.yml
86
110
  - lib/db/migrate/20101028091755_create_permissions.rb
@@ -90,13 +114,14 @@ files:
90
114
  - lib/db/migrate/20101124131334_add_extent_flag_to_ability.rb
91
115
  - lib/db/migrate/20101129084538_add_authorization_extent.rb
92
116
  - lib/db/migrate/20101129084620_remove_extent_from_authorization.rb
117
+ - lib/db/migrate/20130829160700_add_importance_to_abilities.rb
93
118
  - lib/generators/vigilante/install/install_generator.rb
94
119
  - lib/generators/vigilante/install/templates/create_abilities.rb
95
120
  - lib/generators/vigilante/install/templates/create_ability_permissions.rb
96
121
  - lib/generators/vigilante/install/templates/create_authorization_extents.rb
97
122
  - lib/generators/vigilante/install/templates/create_authorizations.rb
98
123
  - lib/generators/vigilante/install/templates/create_permissions.rb
99
- - lib/generators/vigilante/install/templates/watchman_config.yml
124
+ - lib/generators/vigilante/install/templates/vigilante_config.yml
100
125
  - lib/vigilante.rb
101
126
  - lib/vigilante/active_record_extensions.rb
102
127
  - lib/vigilante/authorization.rb
@@ -163,7 +188,7 @@ files:
163
188
  - spec/models/permission_spec.rb
164
189
  - spec/spec_helper.rb
165
190
  - spec/vigilante_spec.rb
166
- has_rdoc: true
191
+ - vigilante.gemspec
167
192
  homepage: http://github.com/vigilante
168
193
  licenses: []
169
194
  post_install_message:
@@ -178,7 +203,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
203
  version: '0'
179
204
  segments:
180
205
  - 0
181
- hash: -2071793374933855899
206
+ hash: -1531748600046147713
182
207
  required_rubygems_version: !ruby/object:Gem::Requirement
183
208
  none: false
184
209
  requirements:
@@ -187,50 +212,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
212
  version: '0'
188
213
  requirements: []
189
214
  rubyforge_project:
190
- rubygems_version: 1.6.2
215
+ rubygems_version: 1.8.25
191
216
  signing_key:
192
217
  specification_version: 3
193
218
  summary: Context-based, db-backed authorisation for your rails3 apps
194
- test_files:
195
- - spec/controllers/application_controller_spec.rb
196
- - spec/controllers/blogs_controller_spec.rb
197
- - spec/dummy/app/controllers/application_controller.rb
198
- - spec/dummy/app/controllers/blogs_controller.rb
199
- - spec/dummy/app/helpers/application_helper.rb
200
- - spec/dummy/app/models/author.rb
201
- - spec/dummy/app/models/blog.rb
202
- - spec/dummy/app/models/post.rb
203
- - spec/dummy/config/application.rb
204
- - spec/dummy/config/boot.rb
205
- - spec/dummy/config/environment.rb
206
- - spec/dummy/config/environments/development.rb
207
- - spec/dummy/config/environments/production.rb
208
- - spec/dummy/config/environments/test.rb
209
- - spec/dummy/config/initializers/backtrace_silencers.rb
210
- - spec/dummy/config/initializers/inflections.rb
211
- - spec/dummy/config/initializers/mime_types.rb
212
- - spec/dummy/config/initializers/secret_token.rb
213
- - spec/dummy/config/initializers/session_store.rb
214
- - spec/dummy/config/routes.rb
215
- - spec/dummy/db/migrate/20101028091755_create_permissions.rb
216
- - spec/dummy/db/migrate/20101028091859_create_abilities.rb
217
- - spec/dummy/db/migrate/20101028091927_create_ability_permissions.rb
218
- - spec/dummy/db/migrate/20101028092014_create_authorizations.rb
219
- - spec/dummy/db/migrate/20101124131334_add_extent_flag_to_ability.rb
220
- - spec/dummy/db/migrate/20101129084538_add_authorization_extent.rb
221
- - spec/dummy/db/migrate/20101129084620_remove_extent_from_authorization.rb
222
- - spec/dummy/db/migrate/20110118120344_create_blogs.rb
223
- - spec/dummy/db/migrate/20110118120421_create_posts.rb
224
- - spec/dummy/db/migrate/20110118120448_create_authors.rb
225
- - spec/dummy/db/schema.rb
226
- - spec/dummy/db/seeds.rb
227
- - spec/dummy/db/seeds/initial_watchman_permissions.rb
228
- - spec/models/ability_permission_spec.rb
229
- - spec/models/ability_spec.rb
230
- - spec/models/author_spec.rb
231
- - spec/models/authorization_extent_spec.rb
232
- - spec/models/authorization_spec.rb
233
- - spec/models/permission_hash_spec.rb
234
- - spec/models/permission_spec.rb
235
- - spec/spec_helper.rb
236
- - spec/vigilante_spec.rb
219
+ test_files: []