7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/core/mixin/macro/network_settings.rb', line 7
def network_settings(_type)
define_method :network do
plugin_parent
end
define_method :network= do |network|
myself.plugin_parent = network
end
define_method :setting do |property, default = nil, format = false|
network.send("#{_type}_setting", plugin_provider, plugin_name, property, default, format)
end
define_method :search do |property, default = nil, format = false, = []|
network.send("search_#{_type}", plugin_provider, plugin_name, property, default, format, )
end
define_method :set_setting do |property, value = nil|
network.send("set_#{_type}_setting", plugin_provider, plugin_name, property, value)
end
define_method :delete_setting do |property|
network.send("delete_#{_type}_setting", plugin_provider, plugin_name, property)
end
define_method :[] do |name, default = nil, format = false|
search(name, default, format)
end
define_method :[]= do |name, value|
set_setting(name, value)
end
define_method :cache do
network.cache
end
define_method :cache_setting do |keys, default = nil, format = false|
cache.get([ _type, plugin_provider, plugin_name, keys ].flatten, default, format)
end
define_method :set_cache_setting do |keys, value|
cache.set([ _type, plugin_provider, plugin_name, keys ].flatten, value)
end
define_method :delete_cache_setting do |keys|
cache.delete([ _type, plugin_provider, plugin_name, keys ].flatten)
end
define_method :clear_cache do
cache.delete([ _type, plugin_provider, plugin_name ])
end
define_method :groups do
array(myself[:settings])
end
define_method :add_groups do |groups|
myself[:settings] = array(setting(:settings)) | array(groups)
end
define_method :remove_groups do |groups|
myself[:settings] = array(setting(:settings)) - array(groups)
end
end
|