class SublimeDSL::SublimeText::CommandSet::DSLReader
Public Class Methods
new(file = nil)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 77 def initialize(file = nil) @command_sets = [] @current_set = nil instance_eval File.read(file, encoding: 'utf-8'), file if file end
Public Instance Methods
_command_sets()
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 83 def _command_sets @command_sets end
commands(name, &block)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 87 def commands(name, &block) @current_set and raise Error, "'commands' blocks cannot be nested" @current_set = CommandSet.new(name) instance_eval(&block) @command_sets << @current_set @current_set = nil end
item(caption, cmd)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 95 def item(caption, cmd) @current_set or raise Error, "'item' is invalid outside of a 'commands' block" cmd.error and raise Error, "item '#{caption}': #{cmd.error}" @current_set.items << Item.new(caption, cmd) end
method_missing(sym, *args, &block)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 101 def method_missing(sym, *args, &block) @current_set or raise Error, "'#{sym}' is invalid outside of a 'commands' block" Command.from_method_missing(sym, args) end