grape-cancan 0.0.1 → 0.0.2
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 +4 -4
- data/README.md +1 -1
- data/lib/grape/cancan.rb +22 -4
- data/lib/grape/cancan/version.rb +1 -1
- metadata +13 -15
- data/lib/grape/cancan/authorizer.rb +0 -10
- data/lib/grape/cancan/helpers.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34714b17e347b036572b0167cf8a550319b4fbf7
|
4
|
+
data.tar.gz: 17667b2a66979de84ef5b36d3a312e7d5b1716bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89c43f7809c5dff5fe1e56d30993f9216ba9be96397f9128d15aa8fdc308b54361c5b9677a4aa249b04533aaef85399dfa9f972684ea2e8b146ba4dcdcf585a4
|
7
|
+
data.tar.gz: f9855032826bc43bad8438fd5caf06e31cb5ff8b32361d82ede73113a92ac733bcb17f3331b9d253cea8202aeaa8697043c17ec94911021075c43f24c68292ed
|
data/README.md
CHANGED
@@ -22,7 +22,7 @@ __NOTE:__ The [cancan](https://github.com/ryanb/cancan) gem by Ryan Bates is no
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
This gem adds the __can?__, __cannot?__, and __authorize!__ helper methods to all Grape API endpoints. This gem expects you to have a __current_user__ helper.
|
25
|
+
This gem adds the __current_ability__, __can?__, __cannot?__, and __authorize!__ helper methods to all Grape API endpoints. This gem expects you to have a __current_user__ helper.
|
26
26
|
|
27
27
|
```ruby
|
28
28
|
class Users < Grape::API
|
data/lib/grape/cancan.rb
CHANGED
@@ -3,10 +3,28 @@ require 'grape/cancan/version'
|
|
3
3
|
|
4
4
|
module Grape
|
5
5
|
module CanCan
|
6
|
-
|
7
|
-
|
6
|
+
module API
|
7
|
+
# Convienience method to authorize every route
|
8
|
+
def authorize_routes!
|
9
|
+
before { authorize_route! }
|
10
|
+
end
|
11
|
+
end
|
8
12
|
|
9
|
-
|
10
|
-
|
13
|
+
module Endpoint
|
14
|
+
# Returns an instance of the CanCan ability
|
15
|
+
def current_ability
|
16
|
+
@current_ability ||= ::Ability.new(current_user)
|
17
|
+
end
|
18
|
+
delegate :can?, :cannot?, :authorize!, to: :current_ability
|
19
|
+
|
20
|
+
# Call authorize using the :authorize key on the route
|
21
|
+
def authorize_route!
|
22
|
+
opts = env['api.endpoint'].options[:route_options]
|
23
|
+
authorize!(*opts[:authorize]) if opts.key?(:authorize)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
Grape::API.extend Grape::CanCan::API
|
28
|
+
Grape::Endpoint.send :include, Grape::CanCan::Endpoint
|
11
29
|
end
|
12
30
|
end
|
data/lib/grape/cancan/version.rb
CHANGED
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-cancan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Zane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grape
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.6.0
|
20
20
|
type: :runtime
|
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: 0.6.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: cancancan
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.7'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.7'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '10.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '10.0'
|
69
69
|
description: Authorize your Grape API with CanCan
|
@@ -73,7 +73,7 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
-
|
76
|
+
- .gitignore
|
77
77
|
- Gemfile
|
78
78
|
- LICENSE.txt
|
79
79
|
- README.md
|
@@ -81,8 +81,6 @@ files:
|
|
81
81
|
- grape-cancan.gemspec
|
82
82
|
- lib/grape-cancan.rb
|
83
83
|
- lib/grape/cancan.rb
|
84
|
-
- lib/grape/cancan/authorizer.rb
|
85
|
-
- lib/grape/cancan/helpers.rb
|
86
84
|
- lib/grape/cancan/version.rb
|
87
85
|
homepage: https://github.com/rzane/grape-cancan
|
88
86
|
licenses:
|
@@ -94,12 +92,12 @@ require_paths:
|
|
94
92
|
- lib
|
95
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
96
94
|
requirements:
|
97
|
-
- -
|
95
|
+
- - '>='
|
98
96
|
- !ruby/object:Gem::Version
|
99
97
|
version: '0'
|
100
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
99
|
requirements:
|
102
|
-
- -
|
100
|
+
- - '>='
|
103
101
|
- !ruby/object:Gem::Version
|
104
102
|
version: '0'
|
105
103
|
requirements: []
|
data/lib/grape/cancan/helpers.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
module Grape
|
2
|
-
module CanCan
|
3
|
-
module Helpers
|
4
|
-
delegate :can?, :cannot?, :authorize!, to: :current_ability
|
5
|
-
|
6
|
-
# Returns an instance of the CanCan ability
|
7
|
-
def current_ability
|
8
|
-
@current_ability ||= ::Ability.new(current_user)
|
9
|
-
end
|
10
|
-
|
11
|
-
# Call authorize using the :authorize key on the route
|
12
|
-
def authorize_route!
|
13
|
-
opts = env['api.endpoint'].options[:route_options]
|
14
|
-
return unless opts.key?(:authorize)
|
15
|
-
authorize!(*opts[:authorize])
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|