can_play 0.2.6 → 0.2.7
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/lib/can_play/version.rb +1 -1
- data/lib/can_play.rb +19 -14
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9fd62b816fcaf89f3a9b08af34ffb0319f162901
|
|
4
|
+
data.tar.gz: ee11cda4ba4c8cbc4885acff43ac1b000a846eaa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 740264f9348de73902ad021f27e4d347d849cc7102c1aceb7442c3c25347e9233c369a539e748073cec06c348b225cdca0358c806b992c6407837340ccfef744
|
|
7
|
+
data.tar.gz: a4e2f01374e35124bf2f61675e9f28bd49da9df9f7b169ab80e5566fafce3bb87573092c88bf9eb82ec561d2fc3a887d7a266dc8d84de001697a8bc7f149f155
|
data/lib/can_play/version.rb
CHANGED
data/lib/can_play.rb
CHANGED
|
@@ -25,23 +25,23 @@ module CanPlay
|
|
|
25
25
|
resource || CanPlay.resources.find { |r| r.name.to_s == name.to_s }
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
def conjunct_resources(block
|
|
28
|
+
def conjunct_resources(&block)
|
|
29
29
|
resources = CanPlay.override_resources[CanPlay.override_code].p2a + CanPlay.resources
|
|
30
30
|
resources = resources.uniq { |i| i.name }
|
|
31
31
|
resources = resources.select(&block) if block
|
|
32
32
|
resources
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
def grouped_resources(block
|
|
35
|
+
def grouped_resources(&block)
|
|
36
36
|
conjunct_resources(block).multi_group_by(:module_name, :group)
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
def splat_grouped_resources(block
|
|
40
|
-
conjunct_resources(block).multi_group_by(:group)
|
|
39
|
+
def splat_grouped_resources(&block)
|
|
40
|
+
conjunct_resources(&block).multi_group_by(:group)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def grouped_resources_with_chinese_desc(&block)
|
|
44
|
-
grouped_resources(block).tap do |e|
|
|
44
|
+
grouped_resources(&block).tap do |e|
|
|
45
45
|
e.each do |i, v|
|
|
46
46
|
v.each do |group, resources|
|
|
47
47
|
group.chinese_desc = begin
|
|
@@ -59,7 +59,7 @@ module CanPlay
|
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
def splat_grouped_resources_with_chinese_desc(&block)
|
|
62
|
-
splat_grouped_resources(block).tap do |i|
|
|
62
|
+
splat_grouped_resources(&block).tap do |i|
|
|
63
63
|
i.each do |group, resources|
|
|
64
64
|
group[:chinese_desc] = begin
|
|
65
65
|
name = I18n.t("can_play.class_name.#{group.name.singularize}", default: '')
|
|
@@ -97,16 +97,19 @@ module CanPlay
|
|
|
97
97
|
end
|
|
98
98
|
|
|
99
99
|
# 为每个 resource 添加一个 group, 方便管理
|
|
100
|
-
def group(
|
|
101
|
-
|
|
100
|
+
def group(*args, &block)
|
|
101
|
+
opts = args.extract_options!.with_indifferent_access
|
|
102
|
+
clazz = args.first
|
|
103
|
+
if clazz.is_a?(Module)
|
|
104
|
+
name = clazz.try(:table_name).presence || clazz.to_s.underscore.gsub('/', '_').pluralize
|
|
105
|
+
group = NameImportantOpenStruct.new(name: name, klass: clazz)
|
|
106
|
+
elsif clazz.blank? && opts.key?(:name)
|
|
102
107
|
opts = opts.with_indifferent_access
|
|
103
108
|
group = NameImportantOpenStruct.new(name: opts.delete(:name).to_s, klass: opts.delete(:klass))
|
|
104
|
-
elsif opts.is_a?(Module)
|
|
105
|
-
name = opts.try(:table_name).presence || opts.to_s.underscore.gsub('/', '_').pluralize
|
|
106
|
-
group = NameImportantOpenStruct.new(name: name, klass: opts)
|
|
107
109
|
else
|
|
108
|
-
|
|
110
|
+
raise "group klass need set"
|
|
109
111
|
end
|
|
112
|
+
group.opts = OpenStruct.new opts
|
|
110
113
|
self.groups << group
|
|
111
114
|
self.groups = groups.uniq(&:name)
|
|
112
115
|
self.current_group = group
|
|
@@ -119,8 +122,9 @@ module CanPlay
|
|
|
119
122
|
CanPlay::Power.power(name||current_group.name, &block)
|
|
120
123
|
end
|
|
121
124
|
|
|
122
|
-
def collection(verb_or_verbs, opts={}
|
|
125
|
+
def collection(verb_or_verbs, opts={}, &block)
|
|
123
126
|
raise "Need define group first" if current_group.nil?
|
|
127
|
+
opts = OpenStruct.new opts
|
|
124
128
|
group = current_group
|
|
125
129
|
behavior = nil
|
|
126
130
|
if block
|
|
@@ -141,8 +145,9 @@ module CanPlay
|
|
|
141
145
|
end
|
|
142
146
|
end
|
|
143
147
|
|
|
144
|
-
def member(verb_or_verbs, opts={}
|
|
148
|
+
def member(verb_or_verbs, opts={}, &block)
|
|
145
149
|
raise "Need define group first" if current_group.nil?
|
|
150
|
+
opts = OpenStruct.new opts
|
|
146
151
|
group = current_group
|
|
147
152
|
behavior = nil
|
|
148
153
|
if block
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: can_play
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- happyming9527
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-09-
|
|
11
|
+
date: 2015-09-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -137,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
137
137
|
version: '0'
|
|
138
138
|
requirements: []
|
|
139
139
|
rubyforge_project:
|
|
140
|
-
rubygems_version: 2.4.
|
|
140
|
+
rubygems_version: 2.4.6
|
|
141
141
|
signing_key:
|
|
142
142
|
specification_version: 4
|
|
143
143
|
summary: a permission system.
|