can_play 0.2.6 → 0.2.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: bffbc9843de69ebd8720ee793bd41aaa11891134
4
- data.tar.gz: c841a03382c818458f1f6b2e0b52daf404b11527
3
+ metadata.gz: 9fd62b816fcaf89f3a9b08af34ffb0319f162901
4
+ data.tar.gz: ee11cda4ba4c8cbc4885acff43ac1b000a846eaa
5
5
  SHA512:
6
- metadata.gz: 05b2ff862ad23c979c357d940aea2bdb7d38dca8d8c67783c78273008c9f1307cb1c0bc4c2ef2403448c34a6aa4a99facbeaa350108f133b87e7233840a9546e
7
- data.tar.gz: afa43502a9fde559dfeff5da14a783a0857bb2c9451f520d3c28256a63aace729f17f4e5ed7866ea4c0a31e3ae91483b051703e05b624c39715bb3fa734697cf
6
+ metadata.gz: 740264f9348de73902ad021f27e4d347d849cc7102c1aceb7442c3c25347e9233c369a539e748073cec06c348b225cdca0358c806b992c6407837340ccfef744
7
+ data.tar.gz: a4e2f01374e35124bf2f61675e9f28bd49da9df9f7b169ab80e5566fafce3bb87573092c88bf9eb82ec561d2fc3a887d7a266dc8d84de001697a8bc7f149f155
@@ -1,3 +1,3 @@
1
1
  module CanPlay
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
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=nil)
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=nil)
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=nil)
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(opts, &block)
101
- if opts.is_a?(Hash)
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
- # do nothing
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={}.with_indifferent_access, &block)
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={}.with_indifferent_access, &block)
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.6
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-17 00:00:00.000000000 Z
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.8
140
+ rubygems_version: 2.4.6
141
141
  signing_key:
142
142
  specification_version: 4
143
143
  summary: a permission system.