Class: Ez::Settings::Interface::Group

Inherits:
Object
  • Object
show all
Defined in:
lib/ez/settings/interface/group.rb

Constant Summary collapse

OverwriteKeyError =
Class.new(StandardError)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, interface, options = {}, &block) ⇒ Group

Returns a new instance of Group.



11
12
13
14
15
16
17
18
# File 'lib/ez/settings/interface/group.rb', line 11

def initialize(name, interface, options = {}, &block)
  @name      = name
  @interface = interface
  @options   = options
  @keys      = []

  instance_eval(&block)
end

Instance Attribute Details

#interfaceObject (readonly)

Returns the value of attribute interface.



9
10
11
# File 'lib/ez/settings/interface/group.rb', line 9

def interface
  @interface
end

#keysObject (readonly)

Returns the value of attribute keys.



9
10
11
# File 'lib/ez/settings/interface/group.rb', line 9

def keys
  @keys
end

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/ez/settings/interface/group.rb', line 9

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



9
10
11
# File 'lib/ez/settings/interface/group.rb', line 9

def options
  @options
end

#store(backend) ⇒ Object (readonly)

Returns the value of attribute store.



9
10
11
# File 'lib/ez/settings/interface/group.rb', line 9

def store
  @store
end

Instance Method Details

#key(key_name, params = {}) ⇒ Object



20
21
22
23
24
25
# File 'lib/ez/settings/interface/group.rb', line 20

def key(key_name, params = {})
  prevent_key_rewrite!(key_name)

  keys << Interface::Key.new(key_name, params.merge(group: name, interface: interface))
  keys
end

#ui_keysObject



27
28
29
# File 'lib/ez/settings/interface/group.rb', line 27

def ui_keys
  keys.select(&:ui?)
end