authorize_if 0.0.2 → 0.1.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
2
  SHA1:
3
- metadata.gz: 57156e1bc123cd5c21ac7d8b0103a8eb32fbde03
4
- data.tar.gz: f13d7d247b7a517f016e1a469f9856f033a2ed4b
3
+ metadata.gz: 96b46c082a1f9ef7b714d8e5800205ce7f3a652f
4
+ data.tar.gz: 02f069b094970c505ef2e633da6bfdeb9bffb175
5
5
  SHA512:
6
- metadata.gz: 1990ed7061f41529ab1994cb713605ec0221c2ff7b59b0a9605236feeea26682612490549affd8fd98e208276400eebcb7b3e8a8007f12d3a4e4b246a2fa4936
7
- data.tar.gz: ccdd44c902ecec0df0b154511ed2074262d6f5954ad9832e1af59eeb64e2ccd393ebdfc357c5eaa969710193094a6178497e228716914e32a24aceb57a53168d
6
+ metadata.gz: fb1024b01ca4ad1ef7e4f61bc1673efa0b9a9500b4a0147754cfbc0ee6fe575345ef630ebb00d05493b24005bc1fb98491557c1cbdb602e243db7846622a2456
7
+ data.tar.gz: 1e1c27faadcb4e876151197f41efb065bde6c7067273e1b6f14178dfa717410d30a874e9e38eceb3bc673d9bd5cdd0475e81e382c40ee5375777ba541d9d7d38
@@ -0,0 +1,20 @@
1
+ Copyright 2016 Vladimir Rybas
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # authorize_if [![Gem Version](https://badge.fury.io/rb/authorize_if.svg)](https://badge.fury.io/rb/authorize_if) [![Build Status](https://travis-ci.org/vrybas/authorize_if.svg?branch=master)](https://travis-ci.org/vrybas/authorize_if) [![Code Climate](https://codeclimate.com/github/vrybas/authorize_if/badges/gpa.svg)](https://codeclimate.com/github/vrybas/authorize_if)
2
2
 
3
3
  Minimalistic authorization library for Ruby on Rails applications. It
4
- defines controller methods `authorize_if` and `authorize`, which accept
5
- inline or pre-defined authorization rules and raise exception if rule
6
- evaluates to `false`.
4
+ defines controller methods `authorize_if` and `authorize`, which
5
+ evaluate inline or pre-defined authorization rules and raise exception
6
+ if rule evaluates to `false`.
7
7
 
8
8
  ## API documentation
9
9
 
@@ -16,11 +16,13 @@ evaluates to `false`.
16
16
  ##### [`authorize`](#authorize) - authorization using pre-defined authorization rules
17
17
  * [Organizing authorization rules](#organizing-authorization-rules)
18
18
 
19
- ##### [`Installation`](#installation)
19
+ ##### [`Installation`](#installation-1)
20
20
 
21
- ##### [`Contributing`](#contributing)
21
+ ##### [`Contributing`](#contributing-1)
22
22
 
23
- ##### [`License`](#license)
23
+ ##### [`License`](#license-1)
24
+
25
+ - - -
24
26
 
25
27
  ## `authorize_if`
26
28
 
@@ -68,18 +70,19 @@ class ArticlesController < ApplicationController
68
70
  # ...
69
71
 
70
72
  rescue AuthorizeIf::NotAuthorizedError
71
- head 403
73
+ head 404
72
74
 
73
75
  end
74
76
  end
75
77
  ```
76
78
 
77
- or with `rescue_from` in `ApplicaitonController`:
79
+ or with `rescue_from` in `ApplicationController`:
78
80
 
79
81
  ```ruby
80
82
  class ApplicationController < ActionController::Base
81
83
  rescue_from AuthorizeIf::NotAuthorizedError do |exception|
82
- head 403
84
+ head 404
85
+
83
86
  end
84
87
  end
85
88
  ```
@@ -100,7 +103,6 @@ class ArticlesController < ApplicationController
100
103
  exception.message = "You are not authorized!"
101
104
 
102
105
  exception.context[:request_ip] = "192.168.1.1"
103
- exception.context[:user_agent] = "Gecko"
104
106
  end
105
107
  # ...
106
108
  end
@@ -115,9 +117,6 @@ class ApplicationController < ActionController::Base
115
117
 
116
118
  exception.context[:request_ip]
117
119
  # => "192.168.1.1"
118
-
119
- exception.context[:user_agent]
120
- # => "Gecko"
121
120
  end
122
121
  end
123
122
  ```
@@ -214,11 +213,9 @@ end
214
213
  ```
215
214
 
216
215
  ```ruby
217
- class ArticlesController
218
- module AuthorizationRules
219
- def authorize_index?
220
- current_user.present?
221
- end
216
+ module AuthorizationRules
217
+ def authorize_index?
218
+ current_user.present?
222
219
  end
223
220
  end
224
221
  ```
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
11
  rdoc.title = 'AuthorizeIf'
12
12
  rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
13
+ rdoc.rdoc_files.include('README.md')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
@@ -19,7 +19,7 @@ end
19
19
 
20
20
 
21
21
 
22
- Bundler::GemHelper.install_tasks
22
+ require 'bundler/gem_tasks'
23
23
 
24
24
  require 'rake/testtask'
25
25
 
@@ -138,12 +138,9 @@ module AuthorizeIf
138
138
  rule_method_name = "authorize_#{action_name}?"
139
139
 
140
140
  unless self.respond_to?(rule_method_name, true)
141
- msg = [
142
- "No authorization rule defined for action",
143
- "#{controller_name}##{action_name}.",
144
- "Please define method ##{rule_method_name} for",
145
- self.class.name
146
- ].join(' ')
141
+ msg = "No authorization rule defined for action"\
142
+ " #{controller_name}##{action_name}."\
143
+ " Please define method ##{rule_method_name} for #{self.class.name}"
147
144
 
148
145
  raise(MissingAuthorizationRuleError, msg)
149
146
  end
@@ -152,6 +149,8 @@ module AuthorizeIf
152
149
  end
153
150
  end
154
151
 
155
- ActiveSupport.on_load :action_controller do
156
- include AuthorizeIf
152
+ if defined?(ActiveSupport)
153
+ ActiveSupport.on_load :action_controller do
154
+ include AuthorizeIf
155
+ end
157
156
  end
@@ -1,3 +1,3 @@
1
1
  module AuthorizeIf
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authorize_if
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Rybas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-12 00:00:00.000000000 Z
11
+ date: 2016-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 4.2.5
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 4.2.5
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rspec-rails
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +45,7 @@ executables: []
59
45
  extensions: []
60
46
  extra_rdoc_files: []
61
47
  files:
62
- - LICENSE
48
+ - MIT-LICENSE
63
49
  - README.md
64
50
  - Rakefile
65
51
  - lib/authorize_if.rb
data/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 Vladimir Rybas
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.