can_play 0.1.6 → 0.1.7

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: 3fbbcdcfbceff8da3ea0f8d1a8484d73bc814894
4
- data.tar.gz: 04b2983c9fc11afab1c095f471999c42bf2b07df
3
+ metadata.gz: 8db571961dec8a0961cbf0dd67df32594d359bea
4
+ data.tar.gz: ac36569098a265b085976a90ba0cc6e94bd87807
5
5
  SHA512:
6
- metadata.gz: d1b74feb74f1f6241033a43b4389b3cfcf77dcb83b25b2b4a68677ecc684a7be4de3d9ad7a5ed27c2857e7e85f753f54f977e8ca92386e81ca171fc50a7ff19e
7
- data.tar.gz: 3d84f0d8b560f66e7272017bed18157dfba01d8d212d1f14c54f6ac4a3f927c84a882b2657f1c93055c2f65b307dc6ff054bcf236e78e57304447054fdbb72bf
6
+ metadata.gz: 0b16d85c6c569228fe69503ee4136b9ccc4b3cb16825080465290289086a2ce8b21e5079b2fa5a21652dc5f3b93737e219e0d27af9da698e5d52e6545ec92984
7
+ data.tar.gz: e0ffd71bda7a7caa0644ce655cd079692af1f5d2b6325359e7bb945123d0e3c50ab4a17e1d212e7e4b3db5a8e2be926a2331daecd3cec495428908785d94a3a1
@@ -7,7 +7,7 @@ class Ability
7
7
  CanPlay::Config.role_class_name.constantize.all.each do |role|
8
8
  next unless user.role?(role.name)
9
9
  role.send(CanPlay::Config.role_resources_middle_class_name.underscore.pluralize).each do |role_resource|
10
- resource = CanPlay::Config.resource_class_name.constantize.find_by_name(role_resource.resource_name)
10
+ resource = CanPlay.find_by_name(role_resource.resource_name)
11
11
  next unless resource
12
12
  if resource[:type] == 'collection'
13
13
  if resource[:behavior]
@@ -1,3 +1,3 @@
1
1
  module CanPlay
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
data/lib/can_play.rb CHANGED
@@ -7,27 +7,60 @@ require "can_play/ability"
7
7
  require "can_play/controller"
8
8
 
9
9
  module CanPlay
10
+ mattr_accessor :resources
11
+ @@resources = []
12
+
13
+ class << self
14
+ def included(base)
15
+ base.class_eval do
16
+ @groups = []
17
+ @current_group = nil
18
+ end
19
+ base.extend ClassMethods
20
+ end
10
21
 
11
- extend ActiveSupport::Concern
22
+ def find_by_name(name)
23
+ CanPlay.resources.find { |r| r[:name] == name }
24
+ end
25
+
26
+ def grouped_resources
27
+ @grouped_resources ||= CanPlay.resources.group_by { |i| i[:group] }
28
+ end
12
29
 
13
- included do
14
- @groups = []
15
- @current_group = nil
16
- @resources = []
30
+ def my_resources
31
+ CanPlay.resources
32
+ end
33
+
34
+ def grouped_resources_with_chinese_desc
35
+ grouped_resources.tap do |i|
36
+ i.each do |group, resources|
37
+ group[:chinese_desc] = begin
38
+ name = I18n.t("can_play.class_name.#{group[:name].singularize}", default: '')
39
+ name = group[:klass].model_name.human if name.blank?
40
+ name
41
+ end
42
+ resources.each do |resource|
43
+ resource[:chinese_desc] = I18n.t("can_play.authority_name.#{group[:name].singularize}.#{resource[:verb]}", default: '').presence || I18n.t("can_play.authority_name.common.#{resource[:verb]}")
44
+ end
45
+ end
46
+ i.rehash
47
+ end
48
+ end
17
49
  end
18
50
 
19
51
  module Config
20
- mattr_accessor :user_class_name, :role_class_name, :role_resources_middle_class_name, :resource_class_name
52
+ mattr_accessor :user_class_name, :role_class_name, :role_resources_middle_class_name
21
53
  @@user_class_name = 'User'
22
54
  @@role_class_name = 'Role'
23
55
  @@role_resources_middle_class_name = 'RoleResource'
24
- @@resource_class_name = 'Resource'
25
56
 
26
57
  def self.setup
27
58
  yield self
28
59
  end
29
60
  end
30
61
 
62
+
63
+
31
64
  module ClassMethods
32
65
 
33
66
  # 为每个 resource 添加一个 group, 方便管理
@@ -110,36 +143,8 @@ module CanPlay
110
143
  type: type,
111
144
  behavior: behavior
112
145
  }.with_indifferent_access
113
- @resources.keep_if { |i| i[:name] != name }
114
- @resources << resource
115
- end
116
-
117
- def find_by_name(name)
118
- @resources.find { |r| r[:name] == name }
119
- end
120
-
121
- def grouped_resources
122
- @grouped_resources ||= @resources.group_by { |i| i[:group] }
123
- end
124
-
125
- def my_resources
126
- @resources
127
- end
128
-
129
- def grouped_resources_with_chinese_desc
130
- grouped_resources.tap do |i|
131
- i.each do |group, resources|
132
- group[:chinese_desc] = begin
133
- name = I18n.t("can_play.class_name.#{group[:name].singularize}", default: '')
134
- name = group[:klass].model_name.human if name.blank?
135
- name
136
- end
137
- resources.each do |resource|
138
- resource[:chinese_desc] = I18n.t("can_play.authority_name.#{group[:name].singularize}.#{resource[:verb]}", default: '').presence || I18n.t("can_play.authority_name.common.#{resource[:verb]}")
139
- end
140
- end
141
- i.rehash
142
- end
146
+ CanPlay.resources.keep_if { |i| i[:name] != name }
147
+ CanPlay.resources << resource
143
148
  end
144
149
  end
145
150
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: can_play
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - happyming9527
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  requirements: []
125
125
  rubyforge_project:
126
- rubygems_version: 2.4.6
126
+ rubygems_version: 2.4.8
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: a permission system.