9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/ez/settings/accessors.rb', line 9
def [](interface_name, group_name = nil, key_name = nil)
interface = interface(interface_name)
not_registered_interface!(interface_name) unless interface
if only_interface?(interface, group_name, key_name)
interface
else
group = group(interface, group_name)
not_registered_group!(interface_name, group_name) unless group
if interface_and_group?(interface, group_name, key_name)
group(interface, group_name)
else
begin
store(interface, group).send(key_name.to_sym)
rescue NoMethodError
not_registered_key!(interface_name, group_name, key_name)
end
end
end
end
|