class Ez::Settings::Interface::Group
Constants
- OverwriteKeyError
Attributes
interface[R]
keys[R]
name[R]
options[R]
store[R]
Public Class Methods
new(name, interface, options = {}, &block)
click to toggle source
# File lib/ez/settings/interface/group.rb, line 13 def initialize(name, interface, options = {}, &block) @name = name @interface = interface @options = options @keys = [] instance_eval(&block) end
Public Instance Methods
key(key_name, params = {})
click to toggle source
# File lib/ez/settings/interface/group.rb, line 22 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_keys()
click to toggle source
# File lib/ez/settings/interface/group.rb, line 29 def ui_keys keys.select(&:ui?) end
Private Instance Methods
prevent_key_rewrite!(key_name)
click to toggle source
# File lib/ez/settings/interface/group.rb, line 39 def prevent_key_rewrite!(key_name) return unless keys.map(&:name).include?(key_name) raise OverwriteKeyError, "Key #{key_name} already registred in #{name} group" end