maybee 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2dfbeb4d9aa45293000c8093ce88ae7158d1f394
4
+ data.tar.gz: aca1003f778e2b31a3afaedace825477f6f5a74a
5
+ SHA512:
6
+ metadata.gz: 877a3a378f30f5841d498d50d482ac6eb5a195626090216cdcdb620c86e80cef3d35da19b3b64f157f8ad685f1631ecd5ca815936c41b02847ce94a664677948
7
+ data.tar.gz: 5ccc3c96d46b71637ffbfcced0113fa93ef10f085086352badbec9e0bce69e88dba8b9fa1a3c35879cf2e2e53b02fa2c141f4e367909cb67722235faf72e677a
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Gem Version](https://badge.fury.io/rb/maybee.png)](http://badge.fury.io/rb/maybee) [![Code Climate](https://codeclimate.com/github/mtgrosser/maybee.png)](https://codeclimate.com/github/mtgrosser/maybee)
2
+
1
3
  # maybee
2
4
 
3
5
  Simple Model-Based Authorization for Rails.
@@ -222,4 +224,4 @@ end
222
224
  class SubFoo < Foo
223
225
  allows_to :view, :exclusive => true
224
226
  end
225
- ```
227
+ ```
@@ -2,17 +2,16 @@ module Maybee
2
2
 
3
3
  module AuthorizationObject
4
4
 
5
- def self.included(base)
6
- base.extend ClassMethods
7
- base.class_attribute :authorizations
8
- base.authorizations = {}
9
- base.class_eval do
10
- attr_accessor :authorization_subject
11
- if base.include?(ActiveRecord::Callbacks)
12
- before_create { authorize?(:create) }
13
- before_update { authorize?(:update) }
14
- before_destroy { authorize?(:destroy) }
15
- end
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ class_attribute :authorizations
9
+ self.authorizations = {}
10
+ attr_accessor :authorization_subject
11
+ if include?(ActiveRecord::Callbacks)
12
+ before_create { authorize?(:create) }
13
+ before_update { authorize?(:update) }
14
+ before_destroy { authorize?(:destroy) }
16
15
  end
17
16
  end
18
17
 
@@ -31,6 +30,10 @@ module Maybee
31
30
  options = accesses.extract_options!
32
31
  allows options.merge(:to => accesses)
33
32
  end
33
+
34
+ def allows_crud(options = {})
35
+ allows_to :create, :update, :destroy, options.reverse_merge(allow_nil: true)
36
+ end
34
37
  end
35
38
 
36
39
  def allow?(access, subject = authorization_subject)
@@ -1,3 +1,3 @@
1
1
  module Maybee
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
data/lib/maybee.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  require 'active_record'
2
2
  require 'active_support'
3
+ require 'active_support/concern'
4
+
3
5
  require 'i18n'
4
6
 
5
7
  require 'maybee/version'
@@ -9,10 +11,7 @@ require 'maybee/authorization_subject'
9
11
  require 'maybee/i18n'
10
12
 
11
13
  module Maybee
12
-
13
- def self.included(base) # :nodoc:
14
- base.extend ClassMethods
15
- end
14
+ extend ActiveSupport::Concern
16
15
 
17
16
  module ClassMethods
18
17
 
@@ -34,4 +33,3 @@ module Maybee
34
33
  end
35
34
 
36
35
  ActiveRecord::Base.class_eval { include Maybee }
37
-
metadata CHANGED
@@ -1,93 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maybee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Matthias Grosser
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-07-05 00:00:00.000000000 Z
11
+ date: 2013-07-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: i18n
16
- requirement: &2151917460 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0.5'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *2151917460
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.5'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: activerecord
27
- requirement: &2151916700 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ~>
31
32
  - !ruby/object:Gem::Version
32
33
  version: 3.2.3
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *2151916700
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 3.2.3
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: activesupport
38
- requirement: &2151915940 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ~>
42
46
  - !ruby/object:Gem::Version
43
47
  version: 3.2.3
44
48
  type: :runtime
45
49
  prerelease: false
46
- version_requirements: *2151915940
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 3.2.3
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: sqlite3
49
- requirement: &2151915340 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *2151915340
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: simplecov
60
- requirement: &2151914680 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - ! '>='
73
+ - - '>='
64
74
  - !ruby/object:Gem::Version
65
75
  version: '0'
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *2151914680
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rake
71
- requirement: &2151913920 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
- - - ! '>='
87
+ - - '>='
75
88
  - !ruby/object:Gem::Version
76
89
  version: 0.8.7
77
90
  type: :development
78
91
  prerelease: false
79
- version_requirements: *2151913920
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.8.7
80
97
  - !ruby/object:Gem::Dependency
81
98
  name: debugger
82
- requirement: &2151913340 !ruby/object:Gem::Requirement
83
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
84
100
  requirements:
85
- - - ! '>='
101
+ - - '>='
86
102
  - !ruby/object:Gem::Version
87
103
  version: '0'
88
104
  type: :development
89
105
  prerelease: false
90
- version_requirements: *2151913340
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
91
111
  description: A simple, yet flexible approach to model-based authorization
92
112
  email: mtgrosser@gmx.net
93
113
  executables: []
@@ -107,27 +127,27 @@ files:
107
127
  - CHANGELOG
108
128
  - Rakefile
109
129
  homepage: http://rubygems.org/gems/maybee
110
- licenses: []
130
+ licenses:
131
+ - MIT
132
+ metadata: {}
111
133
  post_install_message:
112
134
  rdoc_options: []
113
135
  require_paths:
114
136
  - lib
115
137
  required_ruby_version: !ruby/object:Gem::Requirement
116
- none: false
117
138
  requirements:
118
- - - ! '>='
139
+ - - '>='
119
140
  - !ruby/object:Gem::Version
120
141
  version: '0'
121
142
  required_rubygems_version: !ruby/object:Gem::Requirement
122
- none: false
123
143
  requirements:
124
- - - ! '>='
144
+ - - '>='
125
145
  - !ruby/object:Gem::Version
126
146
  version: '0'
127
147
  requirements: []
128
148
  rubyforge_project:
129
- rubygems_version: 1.8.11
149
+ rubygems_version: 2.0.0
130
150
  signing_key:
131
- specification_version: 3
151
+ specification_version: 4
132
152
  summary: Simple Model-Based Authorization for Rails
133
153
  test_files: []