petergate 1.8.0 → 3.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6e3e7f6b21e4e2741e2f6532608aa4d474d3b06c
4
- data.tar.gz: bc189e9b546e61b2f4286ed926ca215154a98d0a
2
+ SHA256:
3
+ metadata.gz: b89a0c9300610e05daeef353a8ac93f1b6507fc08217d821fffe763eab01d438
4
+ data.tar.gz: ed4b17af73fd19a1d23ab2618b9c4c2704fe01bcd1f1a3f1ac4e79fd6a31bf42
5
5
  SHA512:
6
- metadata.gz: 28a273b2501a589505919929ff370547865f5404ca39f99bb1f21632c0ba51b679e3fe0043684143737a925852cddef3634ff387c49f574a4cdc5980282cc529
7
- data.tar.gz: 6476a7d81f6f4669fbc50f4134bd7095adca0549ee293e38e1b73b08fc32610a69cdcd530f3817c2991f3c5d5549e260296e3512a874ad7d0e887961c7dcaaf1
6
+ metadata.gz: d98025f72708b72fa33acb530adb39402c58248e6cdbdda544fe289d0c70f3bfdd746f129a97d267969ce15697d105cb5fa445f58016dc1a3441ce65a8143cfe
7
+ data.tar.gz: 004f27cd0ff637921b2b4167f522497e4fbcd5b7b2147a797efa82fff6e68ff4785f15d4b3dc01a8cc24f59dbb572f4a7f3b8176b9d2732993380cf8fcb1c032
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 3.0.1
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "2.3.1"
3
+ - "2.5.1"
4
4
  before_script: "bundle install && cd dummy && rake db:create && rake db:migrate"
5
5
  script: "bundle exec rake test"
data/Gemfile CHANGED
@@ -1,18 +1,17 @@
1
1
  source 'https://rubygems.org'
2
- ruby '2.3.1'
2
+ ruby '3.0.1'
3
3
 
4
4
  # Specify your gem's dependencies in petergate.gemspec
5
5
  gemspec
6
6
  # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
7
- gem 'rails', '4.1.9'
7
+ gem 'rails', '~> 6.0.3.4'
8
+
8
9
  # Use sqlite3 as the database for Active Record
9
10
  gem 'sqlite3'
10
11
  # Use SCSS for stylesheets
11
- gem 'sass-rails', '~> 4.0.3'
12
+ gem 'sass-rails', '~> 5.0.4'
12
13
  # Use Uglifier as compressor for JavaScript assets
13
14
  gem 'uglifier', '>= 1.3.0'
14
- # Use CoffeeScript for .js.coffee assets and views
15
- gem 'coffee-rails', '~> 4.0.0'
16
15
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
17
16
  # gem 'therubyracer', platforms: :ruby
18
17
 
@@ -20,7 +19,7 @@ gem 'coffee-rails', '~> 4.0.0'
20
19
  gem 'jquery-rails'
21
20
  # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
22
21
  gem 'turbolinks'
23
- gem "minitest-rails"
22
+ gem "minitest-rails", "~> 6.0.1"
24
23
  gem "minitest-reporters"
25
24
  # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
26
25
  gem 'jbuilder', '~> 2.0'
@@ -28,7 +27,6 @@ gem 'jbuilder', '~> 2.0'
28
27
  gem 'sdoc', '~> 0.4.0', group: :doc
29
28
 
30
29
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
31
- gem 'spring', group: :development
32
30
  gem 'devise'
33
31
 
34
32
  # Use ActiveModel has_secure_password
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  [![Petergate](https://github.com/elorest/petergate/blob/master/dummy/public/petergate.png)](https://github.com/elorest/petergate)
2
2
 
3
- [![Build Status](https://travis-ci.org/elorest/petergate.svg)](https://travis-ci.org/elorest/petergate)
3
+ [![Build Status](https://travis-ci.org/elorest/petergate.svg)](https://travis-ci.org/dburnsii/petergate)
4
4
  [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/isaacsloan/petergate?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
5
  [![Gem Version](https://badge.fury.io/rb/petergate.svg)](http://badge.fury.io/rb/petergate)
6
6
 
@@ -33,7 +33,6 @@ and called User.
33
33
 
34
34
  If you're using [devise](https://github.com/plataformatec/devise) you're in luck, otherwise you'll have to add following methods to your project:
35
35
 
36
- user_signed_in?
37
36
  current_user
38
37
  after_sign_in_path_for(current_user)
39
38
  authenticate_user!
@@ -38,6 +38,7 @@ module Petergate
38
38
  end
39
39
 
40
40
  def inherited(subclass)
41
+ super
41
42
  subclass.instance_variable_set("@_controller_rules", instance_variable_get("@_controller_rules"))
42
43
  subclass.instance_variable_set("@_controller_message", instance_variable_get("@_controller_message"))
43
44
  end
@@ -80,7 +81,7 @@ module Petergate
80
81
 
81
82
  h.merge({k => special_values})
82
83
  end
83
- # Allows Array's of keys for he same hash.
84
+ # Allows Array's of keys for the same hash.
84
85
  rules = rules.inject({}){|h, (k, v)| k.class == Array ? h.merge(Hash[k.map{|kk| [kk, v]}]) : h.merge(k => v) }
85
86
  end
86
87
 
@@ -89,7 +90,7 @@ module Petergate
89
90
  allowances = [rules[:all]]
90
91
  current_user.roles.each do |role|
91
92
  allowances << rules[role]
92
- end if logged_in?(:user)
93
+ end if user_logged_in?
93
94
  allowances.flatten.compact.include?(action_name.to_sym)
94
95
  end
95
96
 
@@ -97,25 +98,33 @@ module Petergate
97
98
  current_user && current_user.has_roles?(*roles)
98
99
  end
99
100
 
101
+ def user_logged_in?
102
+ !!current_user
103
+ end
104
+
100
105
  def custom_message
101
106
  defined?(self.class.controller_message) ? self.class.controller_message : 'Permission Denied'
102
107
  end
103
108
 
104
109
  def unauthorized!
105
110
  respond_to do |format|
106
- format.any(:js, :json, :xml) { render nothing: true, status: :unauthorized }
111
+ format.any(:js, :json, :xml) do
112
+ head(:unauthorized)
113
+ end
107
114
  format.html do
108
- authenticate_user!
115
+ return authenticate_user!
109
116
  end
110
117
  end
111
118
  end
112
119
 
113
120
  def forbidden!(msg = nil)
114
121
  respond_to do |format|
115
- format.any(:js, :json, :xml) { render nothing: true, status: :forbidden }
122
+ format.any(:js, :json, :xml) do
123
+ head(:forbidden)
124
+ end
116
125
  format.html do
117
- destination = current_user.present? ? request.referrer || after_sign_in_path_for(current_user) : root_path
118
- redirect_to destination, notice: (msg || custom_message)
126
+ destination = current_user.present? ? request.headers['Referrer'] || after_sign_in_path_for(current_user) : root_path
127
+ redirect_to destination, notice: (msg || request.headers['msg'] || custom_message)
119
128
  end
120
129
  end
121
130
  end
@@ -1,3 +1,3 @@
1
1
  module Petergate
2
- VERSION = "1.8.0"
2
+ VERSION = "3.0.0"
3
3
  end
data/petergate.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
  spec.post_install_message = "NOTICE: As of version 1.5.0, the :admin role has been changed to :root_admin."
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.7"
22
- spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_development_dependency "bundler", "> 1.7"
22
+ spec.add_development_dependency "rake", "~> 12.3"
23
23
  spec.add_dependency 'activerecord', "> 4.0.0"
24
24
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: petergate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Sloan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-06 00:00:00.000000000 Z
11
+ date: 2021-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '12.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activerecord
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -97,9 +97,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  requirements: []
100
- rubyforge_project:
101
- rubygems_version: 2.5.1
102
- signing_key:
100
+ rubygems_version: 3.2.15
101
+ signing_key:
103
102
  specification_version: 4
104
103
  summary: Authorization system allowing verbose easy read controller syntax.
105
104
  test_files: []