petergate 1.3.6 → 1.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7738d62a44a4d241935d4e2b6c053201e0f90a82
4
- data.tar.gz: 485ec57583b8a3d57f03f1953169ec8c0ce3c2d7
3
+ metadata.gz: 86c0bcdf72ac723b0ec4d8038ed27b30a2756031
4
+ data.tar.gz: 4ddf671396394b93d2767e365ec68b79f58e873f
5
5
  SHA512:
6
- metadata.gz: c87b9b68f385ba26ad1ed5daaaea7f67d22b4ec143c168713b0aabd298ba7469ad9f63e5533cd9630998e9d291924a995712e2a1d3b716a963dc2ca1c1a22111
7
- data.tar.gz: 8306b66921e52f75716d4481c6420ccd3aa453f06efa80407eb52d2fa3e0c7b45c3e191e2819216a23e3cf1fbc190849c7d8e57c622769208009fe97fa8494b5
6
+ metadata.gz: 0d55d71d95b26112639009a4b1645da3a071774333adf5833251c62cb7340739d216c04ab3f0cbf80da948414f110ef669386f2970389545619d9896bb3bbb3a
7
+ data.tar.gz: 2e1ecdc2e95d9e76b87d220bf9575efbf8f9ca07823074162b1e383cd97fed56e19a8df77197d8c55c1d0dc1feefc2dae09b666d671d97a6cc72c55297f1e837
data/.gitignore CHANGED
@@ -6,6 +6,7 @@ Gemfile.lock
6
6
  /doc/
7
7
  /pkg/
8
8
  /spec/reports/
9
+ dummy/log/*
9
10
  dummy/tmp/*
10
11
  *.sqlite3
11
12
  *.bundle
data/README.md CHANGED
@@ -41,16 +41,29 @@ If you're using [devise](https://github.com/plataformatec/devise) you're in luck
41
41
 
42
42
  rails g petergate:install
43
43
  rake db:migrate
44
+
45
+ This will add a migration and insert petergate into your User model.
46
+
47
+ Usage
48
+ ------
49
+ #####User Model
50
+
51
+ Configure available roles by modifying this block at the top of your user.rb.
44
52
 
45
- This will add:
46
53
  ```ruby
47
- petergate(roles: [:admin], multiple: false) # default value is false
54
+ ############################################################################################
55
+ ## PeterGate Roles ##
56
+ ## The :user role is added by default and shouldn't be included in this list. ##
57
+ ## The :root_admin can access any page regardless of access settings. Use with caution! ##
58
+ ## The multiple option can be set to true if you need users to have multiple roles. ##
59
+ petergate(roles: [:admin, :editor], multiple: false) ##
60
+ ############################################################################################
48
61
  ```
49
- to your User model.
50
62
 
51
- Usage
52
- ------
63
+ Instance methods added to your User model include: `role, roles, roles=, available_roles`
53
64
 
65
+ #####Controllers
66
+
54
67
  Setup permissions in your controllers the same as you would for a before filter like so:
55
68
 
56
69
  ```ruby
@@ -17,11 +17,13 @@ module Petergate
17
17
  inject_into_file "app/models/user.rb", after: /^class\sUser < ActiveRecord::Base/ do
18
18
  <<-'RUBY'
19
19
 
20
- ################################################################################
21
- ## PeterGate Roles
22
- ## The :user role is added by default and shouldn't be included in this list.
23
- petergate(roles: [:admin, :company_admin])
24
- ################################################################################
20
+ ############################################################################################
21
+ ## PeterGate Roles ##
22
+ ## The :user role is added by default and shouldn't be included in this list. ##
23
+ ## The :root_admin can access any page regardless of access settings. Use with caution! ##
24
+ ## The multiple option can be set to true if you need users to have multiple roles. ##
25
+ petergate(roles: [:admin, :editor], multiple: false) ##
26
+ ############################################################################################
25
27
 
26
28
  RUBY
27
29
  end
@@ -57,7 +57,7 @@ module Petergate
57
57
  base.extend(ClassMethods)
58
58
  base.helper_method :logged_in?, :forbidden!
59
59
  base.before_filter do
60
- unless logged_in?(:admin)
60
+ unless logged_in?(:root_admin)
61
61
  message= defined?(check_access) ? check_access : true
62
62
  if message == false || message.is_a?(String)
63
63
  if user_signed_in?
@@ -1,3 +1,3 @@
1
1
  module Petergate
2
- VERSION = "1.3.6"
2
+ VERSION = "1.5.1"
3
3
  end
@@ -5,7 +5,7 @@ require_dependency "<%= namespaced_file_path %>/application_controller"
5
5
  <% module_namespacing do -%>
6
6
  class <%= controller_class_name %>Controller < ApplicationController
7
7
  before_action :set_<%= singular_table_name %>, only: [:show, :edit, :update, :destroy]
8
- access all: [:index, :show, :new, :edit, :create, :update, :destroy]
8
+ access all: [:index, :show, :new, :edit, :create, :update, :destroy], user: :all
9
9
 
10
10
  # GET <%= route_url %>
11
11
  def index
data/petergate.gemspec CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.files = `git ls-files -z`.split("\x0").delete_if{|p| p.include?("dummy/")}
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ["lib"]
19
+ spec.post_install_message = "NOTICE: As of version 1.5.0, the :admin role has been changed to :root_admin."
19
20
 
20
21
  spec.add_development_dependency "bundler", "~> 1.7"
21
22
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: petergate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Sloan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-10 00:00:00.000000000 Z
11
+ date: 2016-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,7 +80,8 @@ homepage: https://github.com/isaacsloan/petergate
80
80
  licenses:
81
81
  - MIT
82
82
  metadata: {}
83
- post_install_message:
83
+ post_install_message: 'NOTICE: As of version 1.5.0, the :admin role has been changed
84
+ to :root_admin.'
84
85
  rdoc_options: []
85
86
  require_paths:
86
87
  - lib