class Keyremac::Root
Attributes
root_item[R]
Public Class Methods
new()
click to toggle source
# File lib/keyremac/base.rb, line 102 def initialize @root_item = Item.new 'root_item' Keyremac::Focus.focus.clear Keyremac::Focus.focus << @root_item @children = [] end
Public Instance Methods
app(only, **options, &block)
click to toggle source
@param [String] only @option options same as item method @return [Item]
# File lib/keyremac/base.rb, line 127 def app(only, **options, &block) options[:app] = only item(**options, &block) end
dump(xml = nil)
click to toggle source
# File lib/keyremac/dump.rb, line 90 def dump(xml = nil) xml ||= Builder::XmlMarkup.new(indent: 2) xml.instruct! xml.root do @root_item.dump xml @children.each { |child| child.dump(xml) } end end
item(app: nil, inputsource: nil, &block)
click to toggle source
@param [String] app only tag @param [String] inputsource inputsource_only tag yield [] children @return [Item]
# File lib/keyremac/base.rb, line 113 def item(app: nil, inputsource: nil, &block) Item.new.tap { |item| item.only_ app if app item.inputsource_only_ inputsource if inputsource @children << item Keyremac::Focus.set_focus item do item.instance_eval(&block) end } end