class Soybean::Generators::ClassGenerator
Public Instance Methods
def_attr(attrname, writable = true, varname = nil)
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 5 def def_attr(attrname, writable = true, varname = nil) unless safevarname?(varname || attrname) raise ArgumentError.new("#{varname || attrname} seems to be unsafe") end @attrdef << [attrname, writable, varname] end
def_classvar(var, value)
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 12 def def_classvar(var, value) var = var.sub(/\A@@/, "") unless safevarname?(var) raise ArgumentError.new("#{var} seems to be unsafe") end @classvar << [var.underscore, value] end
def_method(name, *params)
click to toggle source
Calls superclass method
# File lib/soybean/generators/class_generator.rb, line 20 def def_method(name, *params) return if name == 'initialize' super name, *params end
dump()
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 25 def dump buf = "" unless @requirepath.empty? buf << dump_requirepath end buf << dump_emptyline unless buf.empty? package = @name.split(/::/)[0..-2] buf << dump_package_def(package) unless package.empty? #buf << dump_comment if @comment buf << dump_class_def spacer = false unless @classvar.empty? spacer = true buf << dump_classvar end unless @const.empty? buf << dump_emptyline if spacer spacer = true buf << dump_const end unless @innermodule.empty? buf << dump_emptyline # always add 1 empty line spacer = true buf << dump_innermodule end unless @code.empty? buf << dump_emptyline if spacer spacer = true buf << dump_code end unless @attrdef.empty? buf << dump_emptyline if spacer spacer = true buf << dump_attributes end buf << accessors unless @methoddef.empty? buf << dump_emptyline if spacer spacer = true buf << dump_methods end buf << dump_class_def_end buf << dump_package_def_end(package) unless package.empty? buf.gsub(/^\s+$/, '') end
Private Instance Methods
accessors()
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 83 def accessors @attrdef.map do |attrname, writeable, varname| format("soap_attribute #{varname.to_sym.inspect}\n", 2) end.join end
dump_attribute(attrname, writable, varname)
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 89 def dump_attribute(attrname, writable, varname) "" end
dump_attributes()
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 93 def dump_attributes "" end
dump_class_def()
click to toggle source
# File lib/soybean/generators/class_generator.rb, line 73 def dump_class_def name = @name.to_s.split(/::/) if @baseclass "class #{name.last} < #{@baseclass}\n" else "class #{name.last}\n" << " include Soybean::ComplexType\n\n" end end