# File lib/blockenspiel/dsl_setup.rb, line 263 def dsl_attr_accessor(*names_) names_.each do |name_| unless name_.kind_of?(::String) || name_.kind_of?(::Symbol) raise ::TypeError, "#{name_.inspect} is not a symbol" end unless name_.to_s =~ /^[_a-zA-Z]\w+$/ raise ::NameError, "invalid attribute name #{name_.inspect}" end module_eval("def #{name_}(value_=::Blockenspiel::NO_VALUE); ::Blockenspiel::NO_VALUE.equal?(value_) ? @#{name_} : @#{name_} = value_; end\n") alias_method("#{name_}=", name_) dsl_method(name_) end end