Module: CanPlay
- Defined in:
- lib/can_play.rb,
lib/can_play/power.rb,
lib/can_play/config.rb,
lib/can_play/version.rb,
lib/can_play/resource.rb,
lib/can_play/class_method.rb,
lib/generators/can_play/install_generator.rb
Defined Under Namespace
Modules: ClassMethods, Config, Generators
Classes: AbstractResource, NameImportantGroup, Power, Resource, ResourceOverride, ResourcePermission
Constant Summary
collapse
- VERSION =
"0.4.0"
Class Method Summary
collapse
Class Method Details
.conjunct_resources(&block) ⇒ Object
30
31
32
33
34
35
|
# File 'lib/can_play.rb', line 30
def conjunct_resources(&block)
resources = CanPlay.override_resources[CanPlay.override_code].p2a + CanPlay.resources
resources = resources.uniq { |i| i.name }
resources = resources.select(&block) if block
resources
end
|
.find_by_name_and_code(name, code) ⇒ Object
25
26
27
28
|
# File 'lib/can_play.rb', line 25
def find_by_name_and_code(name, code)
resource = CanPlay.override_resources[code].p2a.find { |r| r.name.to_s == name.to_s }
resource || CanPlay.resources.find { |r| r.name.to_s == name.to_s }
end
|
.grouped_resources(&block) ⇒ Object
37
38
39
|
# File 'lib/can_play.rb', line 37
def grouped_resources(&block)
conjunct_resources(&block).multi_group_by(:my_module_name, :group)
end
|
.grouped_resources_with_chinese_desc(&block) ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/can_play.rb', line 45
def grouped_resources_with_chinese_desc(&block)
grouped_resources(&block).tap do |e|
e.each do |i, v|
v.each do |group, resources|
group.chinese_desc = begin
name = I18n.t("can_play.class_name.#{group.name.to_s.singularize}", default: '')
name = group.klass.model_name.human if name.blank?
name
end
resources.each do |resource|
resource.chinese_desc = I18n.t("can_play.authority_name.#{group.name.to_s.singularize}.#{resource.verb}", default: '').presence || I18n.t("can_play.authority_name.common.#{resource.verb}")
end
end
v.rehash
end
end
end
|
.included(base) ⇒ Object
21
22
23
|
# File 'lib/can_play.rb', line 21
def included(base)
base.extend ClassMethods
end
|
.splat_grouped_resources(&block) ⇒ Object
41
42
43
|
# File 'lib/can_play.rb', line 41
def splat_grouped_resources(&block)
conjunct_resources(&block).group_by(:group)
end
|
.splat_grouped_resources_with_chinese_desc(&block) ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/can_play.rb', line 63
def splat_grouped_resources_with_chinese_desc(&block)
splat_grouped_resources(&block).tap do |i|
i.each do |group, resources|
group[:chinese_desc] = begin
name = I18n.t("can_play.class_name.#{group.name.singularize}", default: '')
name = group.klass.model_name.human if name.blank?
name
end
resources.each do |resource|
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]}")
end
end
i.rehash
end
end
|