maybee 0.0.3 → 0.0.4

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 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: []