abilities 4.0.0.1 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/Rakefile +1 -3
  5. data/lib/abilities/definitions.rb +3 -3
  6. data/lib/abilities/version.rb +1 -1
  7. metadata +12 -114
  8. data/test/dummy/Rakefile +0 -5
  9. data/test/dummy/app/assets/javascripts/application.js +0 -13
  10. data/test/dummy/app/assets/stylesheets/application.css +0 -15
  11. data/test/dummy/app/controllers/application_controller.rb +0 -5
  12. data/test/dummy/app/controllers/products_controller.rb +0 -10
  13. data/test/dummy/app/helpers/application_helper.rb +0 -2
  14. data/test/dummy/app/models/product.rb +0 -2
  15. data/test/dummy/app/models/user.rb +0 -2
  16. data/test/dummy/app/views/layouts/application.html.erb +0 -12
  17. data/test/dummy/app/views/products/show.html.erb +0 -6
  18. data/test/dummy/bin/bundle +0 -4
  19. data/test/dummy/bin/rails +0 -5
  20. data/test/dummy/bin/rake +0 -5
  21. data/test/dummy/bin/setup +0 -30
  22. data/test/dummy/config.ru +0 -4
  23. data/test/dummy/config/abilities.rb +0 -9
  24. data/test/dummy/config/application.rb +0 -25
  25. data/test/dummy/config/boot.rb +0 -5
  26. data/test/dummy/config/database.yml +0 -10
  27. data/test/dummy/config/database.yml.travis +0 -3
  28. data/test/dummy/config/environment.rb +0 -5
  29. data/test/dummy/config/environments/development.rb +0 -41
  30. data/test/dummy/config/environments/production.rb +0 -79
  31. data/test/dummy/config/environments/test.rb +0 -42
  32. data/test/dummy/config/initializers/assets.rb +0 -11
  33. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  34. data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
  35. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  36. data/test/dummy/config/initializers/inflections.rb +0 -16
  37. data/test/dummy/config/initializers/mime_types.rb +0 -4
  38. data/test/dummy/config/initializers/session_store.rb +0 -3
  39. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  40. data/test/dummy/config/locales/en.yml +0 -23
  41. data/test/dummy/config/routes.rb +0 -3
  42. data/test/dummy/config/secrets.yml +0 -22
  43. data/test/dummy/db/migrate/20140629203344_create_users.rb +0 -9
  44. data/test/dummy/db/migrate/20140629203412_create_products.rb +0 -7
  45. data/test/dummy/db/schema.rb +0 -30
  46. data/test/dummy/log/development.log +0 -116
  47. data/test/dummy/log/test.log +0 -1593
  48. data/test/dummy/public/404.html +0 -61
  49. data/test/dummy/public/422.html +0 -61
  50. data/test/dummy/public/500.html +0 -60
  51. data/test/dummy/public/favicon.ico +0 -0
  52. data/test/generator_test.rb +0 -18
  53. data/test/policy_test.rb +0 -62
  54. data/test/test_helper.rb +0 -13
  55. data/test/view_test.rb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2d2b3fe08754ba1f9e6d43a9eee1790dcc7ca1b2
4
- data.tar.gz: 4d4e9776d15a3ad3191a7cc248c85ebb920e45ac
3
+ metadata.gz: '02385ef924edfd9e1d8e8501dc7e6fdb1cf3a3fa'
4
+ data.tar.gz: 6ed43c0b838a38cefa66274b927628ff683ae4e2
5
5
  SHA512:
6
- metadata.gz: 9cf4e7e09dccbc087eef755e6dbba20d6e81a4123119a3219b2f44e25f38bb0a9ee2b7d7f25bc0e20f4bcd2c301b0d3904976860fd95f15bfb2af9fb285b127c
7
- data.tar.gz: 85631790ae7550bfddcb39eaeb7485e97ec69f4043258ba2f5bd39f360c67053956e1ceacc7d9a431c561eddd1da6a59e777b08da12e19a1189a8f1d9083b3b7
6
+ metadata.gz: d5b08572917c126bd3d7cff2fd42426893dcfaa6f263fddaf08926fa66e19167e7b573813e83cf25f520dd2dfaa8ba1d49d4cb521653007312247a1aff6e37c6
7
+ data.tar.gz: 47d803193d68334ccaa49cf11cfc2c41da5ab20f4ed2a36bb0f06ee8905d7bbd2951b80d8c6f402faaec6c8beae1600e168c0664afa279326dec31fcf741b515
@@ -1,4 +1,4 @@
1
- Copyright 2016 Mathías Montossi
1
+ Copyright 2017 Mathías Montossi
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -98,7 +98,7 @@ The helpers can? and cannot? are available in the controller views too:
98
98
 
99
99
  Any issue, pull request, comment of any kind is more than welcome!
100
100
 
101
- I will mainly ensure compatibility to PostgreSQL, AWS, Redis, Elasticsearch, FreeBSD and Memcached. 
101
+ I will mainly ensure compatibility to Rails, AWS, PostgreSQL, Redis, Elasticsearch and FreeBSD.
102
102
 
103
103
  ## Credits
104
104
 
data/Rakefile CHANGED
@@ -4,16 +4,14 @@ rescue LoadError
4
4
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
5
  end
6
6
 
7
- Bundler::GemHelper.install_tasks
7
+ require 'bundler/gem_tasks'
8
8
 
9
9
  require 'rake/testtask'
10
10
 
11
11
  Rake::TestTask.new(:test) do |t|
12
- t.libs << 'lib'
13
12
  t.libs << 'test'
14
13
  t.pattern = 'test/**/*_test.rb'
15
14
  t.verbose = false
16
- t.warning = false
17
15
  end
18
16
 
19
17
  task default: :test
@@ -9,7 +9,7 @@ module Abilities
9
9
  end
10
10
 
11
11
  def can?(action, resource)
12
- id = resource_id(resource)
12
+ id = normalize_id(resource)
13
13
  if id != :any && can?(action, :any)
14
14
  true
15
15
  elsif actions = registry[id]
@@ -40,7 +40,7 @@ module Abilities
40
40
  end
41
41
  resources.each do |resource|
42
42
  actions.each do |action|
43
- id = resource_id(resource)
43
+ id = normalize_id(resource)
44
44
  registry[id] ||= {}
45
45
  registry[id][action] = policy
46
46
  end
@@ -53,7 +53,7 @@ module Abilities
53
53
  @registry ||= {}
54
54
  end
55
55
 
56
- def resource_id(resource)
56
+ def normalize_id(resource)
57
57
  case resource
58
58
  when :any
59
59
  resource
@@ -1,5 +1,5 @@
1
1
  module Abilities
2
2
 
3
- VERSION = '4.0.0.1'
3
+ VERSION = '5.1.0'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abilities
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.1
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mmontossi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-14 00:00:00.000000000 Z
11
+ date: 2017-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 4.2.0
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: 4.3.0
19
+ version: '5.1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 4.2.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: 4.3.0
26
+ version: '5.1'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: pg
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '0.18'
33
+ version: '0.21'
40
34
  type: :development
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '0.18'
40
+ version: '0.21'
47
41
  description: Authorization dsl to manage permissions in rails.
48
42
  email:
49
- - mmontossi@gmail.com
43
+ - mmontossi@museways.com
50
44
  executables: []
51
45
  extensions: []
52
46
  extra_rdoc_files: []
@@ -63,54 +57,6 @@ files:
63
57
  - lib/abilities/version.rb
64
58
  - lib/generators/abilities/install/install_generator.rb
65
59
  - lib/generators/abilities/install/templates/configuration.rb
66
- - test/dummy/Rakefile
67
- - test/dummy/app/assets/javascripts/application.js
68
- - test/dummy/app/assets/stylesheets/application.css
69
- - test/dummy/app/controllers/application_controller.rb
70
- - test/dummy/app/controllers/products_controller.rb
71
- - test/dummy/app/helpers/application_helper.rb
72
- - test/dummy/app/models/product.rb
73
- - test/dummy/app/models/user.rb
74
- - test/dummy/app/views/layouts/application.html.erb
75
- - test/dummy/app/views/products/show.html.erb
76
- - test/dummy/bin/bundle
77
- - test/dummy/bin/rails
78
- - test/dummy/bin/rake
79
- - test/dummy/bin/setup
80
- - test/dummy/config.ru
81
- - test/dummy/config/abilities.rb
82
- - test/dummy/config/application.rb
83
- - test/dummy/config/boot.rb
84
- - test/dummy/config/database.yml
85
- - test/dummy/config/database.yml.travis
86
- - test/dummy/config/environment.rb
87
- - test/dummy/config/environments/development.rb
88
- - test/dummy/config/environments/production.rb
89
- - test/dummy/config/environments/test.rb
90
- - test/dummy/config/initializers/assets.rb
91
- - test/dummy/config/initializers/backtrace_silencers.rb
92
- - test/dummy/config/initializers/cookies_serializer.rb
93
- - test/dummy/config/initializers/filter_parameter_logging.rb
94
- - test/dummy/config/initializers/inflections.rb
95
- - test/dummy/config/initializers/mime_types.rb
96
- - test/dummy/config/initializers/session_store.rb
97
- - test/dummy/config/initializers/wrap_parameters.rb
98
- - test/dummy/config/locales/en.yml
99
- - test/dummy/config/routes.rb
100
- - test/dummy/config/secrets.yml
101
- - test/dummy/db/migrate/20140629203344_create_users.rb
102
- - test/dummy/db/migrate/20140629203412_create_products.rb
103
- - test/dummy/db/schema.rb
104
- - test/dummy/log/development.log
105
- - test/dummy/log/test.log
106
- - test/dummy/public/404.html
107
- - test/dummy/public/422.html
108
- - test/dummy/public/500.html
109
- - test/dummy/public/favicon.ico
110
- - test/generator_test.rb
111
- - test/policy_test.rb
112
- - test/test_helper.rb
113
- - test/view_test.rb
114
60
  homepage: https://github.com/mmontossi/abilities
115
61
  licenses:
116
62
  - MIT
@@ -123,7 +69,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
69
  requirements:
124
70
  - - ">="
125
71
  - !ruby/object:Gem::Version
126
- version: 2.1.0
72
+ version: '0'
127
73
  required_rubygems_version: !ruby/object:Gem::Requirement
128
74
  requirements:
129
75
  - - ">="
@@ -131,56 +77,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
77
  version: '0'
132
78
  requirements: []
133
79
  rubyforge_project:
134
- rubygems_version: 2.5.1
80
+ rubygems_version: 2.6.11
135
81
  signing_key:
136
82
  specification_version: 4
137
83
  summary: Abilities for rails.
138
- test_files:
139
- - test/dummy/app/assets/javascripts/application.js
140
- - test/dummy/app/assets/stylesheets/application.css
141
- - test/dummy/app/controllers/application_controller.rb
142
- - test/dummy/app/controllers/products_controller.rb
143
- - test/dummy/app/helpers/application_helper.rb
144
- - test/dummy/app/models/product.rb
145
- - test/dummy/app/models/user.rb
146
- - test/dummy/app/views/layouts/application.html.erb
147
- - test/dummy/app/views/products/show.html.erb
148
- - test/dummy/bin/bundle
149
- - test/dummy/bin/rails
150
- - test/dummy/bin/rake
151
- - test/dummy/bin/setup
152
- - test/dummy/config/abilities.rb
153
- - test/dummy/config/application.rb
154
- - test/dummy/config/boot.rb
155
- - test/dummy/config/database.yml
156
- - test/dummy/config/database.yml.travis
157
- - test/dummy/config/environment.rb
158
- - test/dummy/config/environments/development.rb
159
- - test/dummy/config/environments/production.rb
160
- - test/dummy/config/environments/test.rb
161
- - test/dummy/config/initializers/assets.rb
162
- - test/dummy/config/initializers/backtrace_silencers.rb
163
- - test/dummy/config/initializers/cookies_serializer.rb
164
- - test/dummy/config/initializers/filter_parameter_logging.rb
165
- - test/dummy/config/initializers/inflections.rb
166
- - test/dummy/config/initializers/mime_types.rb
167
- - test/dummy/config/initializers/session_store.rb
168
- - test/dummy/config/initializers/wrap_parameters.rb
169
- - test/dummy/config/locales/en.yml
170
- - test/dummy/config/routes.rb
171
- - test/dummy/config/secrets.yml
172
- - test/dummy/config.ru
173
- - test/dummy/db/migrate/20140629203344_create_users.rb
174
- - test/dummy/db/migrate/20140629203412_create_products.rb
175
- - test/dummy/db/schema.rb
176
- - test/dummy/log/development.log
177
- - test/dummy/log/test.log
178
- - test/dummy/public/404.html
179
- - test/dummy/public/422.html
180
- - test/dummy/public/500.html
181
- - test/dummy/public/favicon.ico
182
- - test/dummy/Rakefile
183
- - test/generator_test.rb
184
- - test/policy_test.rb
185
- - test/test_helper.rb
186
- - test/view_test.rb
84
+ test_files: []
@@ -1,5 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
- Rails.application.load_tasks
@@ -1,13 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require_tree .
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any styles
10
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
- * file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */
@@ -1,5 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- # Prevent CSRF attacks by raising an exception.
3
- # For APIs, you may want to use :null_session instead.
4
- protect_from_forgery with: :exception
5
- end
@@ -1,10 +0,0 @@
1
- class ProductsController < ApplicationController
2
-
3
- attr_accessor :current_user
4
-
5
- def show
6
- @current_user = User.new
7
- @product = Product.new
8
- end
9
-
10
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,2 +0,0 @@
1
- class Product < ActiveRecord::Base
2
- end
@@ -1,2 +0,0 @@
1
- class User < ActiveRecord::Base
2
- end
@@ -1,12 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Dummy</title>
5
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
- <%= yield %>
11
- </body>
12
- </html>
@@ -1,6 +0,0 @@
1
- <% if can?(:touch, @product) %>
2
- <a href="#">Touch</a>
3
- <% end %>
4
- <% if cannot?(:destroy, @product) %>
5
- <a href="#">Destroy</a>
6
- <% end %>
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
4
- load Gem.bin_path('bundler', 'bundle')
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- APP_PATH = File.expand_path('../../config/application', __FILE__)
4
- require_relative '../config/boot'
5
- require 'rails/commands'
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require_relative '../config/boot'
4
- require 'rake'
5
- Rake.application.run
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'pathname'
4
-
5
- # path to your application root.
6
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
7
-
8
- Dir.chdir APP_ROOT do
9
- # This script is a starting point to setup your application.
10
- # Add necessary setup steps to this file:
11
-
12
- puts '== Installing dependencies =='
13
- system 'gem install bundler --conservative'
14
- system 'bundle check || bundle install'
15
-
16
- # puts "\n== Copying sample files =="
17
- # unless File.exist?('config/database.yml')
18
- # system 'cp config/database.yml.sample config/database.yml'
19
- # end
20
-
21
- puts "\n== Preparing database =="
22
- system 'bin/rake db:setup'
23
-
24
- puts "\n== Removing old logs and tempfiles =="
25
- system 'rm -f log/*'
26
- system 'rm -rf tmp/cache'
27
-
28
- puts "\n== Restarting application server =="
29
- system 'touch tmp/restart.txt'
30
- end
@@ -1,4 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require ::File.expand_path('../config/environment', __FILE__)
4
- run Rails.application
@@ -1,9 +0,0 @@
1
- Abilities.define do
2
- can :touch, :any
3
- can :manage, User do |user|
4
- user == self
5
- end
6
- can :create, [Product, User]
7
- can %i(view list), Product
8
- cannot :detroy, Product unless admin?
9
- end
@@ -1,25 +0,0 @@
1
- require File.expand_path('../boot', __FILE__)
2
-
3
- require 'rails/all'
4
-
5
- Bundler.require(*Rails.groups)
6
- require 'abilities'
7
-
8
- module Dummy
9
- class Application < Rails::Application
10
- # Settings in config/environments/* take precedence over those specified here.
11
- # Application configuration should go into files in config/initializers
12
- # -- all .rb files in that directory are automatically loaded.
13
-
14
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
15
- # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
16
- # config.time_zone = 'Central Time (US & Canada)'
17
-
18
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
19
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
20
- # config.i18n.default_locale = :de
21
-
22
- # Do not swallow errors in after_commit/after_rollback callbacks.
23
- config.active_record.raise_in_transactional_callbacks = true
24
- end
25
- end