class SublimeDSL::SublimeText::SettingSet::DSLReader
Public Class Methods
new(file = nil)
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 93 def initialize(file = nil) @setting_sets = [] @current_set = nil instance_eval File.read(file, encoding: 'utf-8'), file if file end
Public Instance Methods
_setting_sets()
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 99 def _setting_sets @setting_sets end
method_missing(sym, *args, &block)
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 103 def method_missing(sym, *args, &block) @current_set or raise Error, "'#{sym}' is invalid outside of a 'settings' block" args.empty? and raise Error, "no value for setting '#{sym}'" args.length > 1 and raise Error, "more than one value for setting '#{sym}'" @current_set.settings << Setting.new(sym.to_s, args.first) end
settings(name, &block)
click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 110 def settings(name, &block) @current_set and raise Error, "'settings' blocks cannot be nested" @current_set = SettingSet.new(name) instance_eval(&block) @setting_sets << @current_set @current_set = nil end