petergate 1.8.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []