class WsdlMapper::Generation::DefaultFormatter
Default implementation for the ruby formatter interface. This class should be considered as a reference for custom implementations. All public methods are mandatory.
Public Class Methods
new(io)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 6 def initialize(io) @io = io @i = 0 end
Public Instance Methods
assignment(var_name, value)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 190 def assignment(var_name, value) statement "#{var_name} = #{value}" end
assignments(*assigns)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 194 def assignments(*assigns) assigns.each do |(var_name, value)| assignment var_name, value end blank_line end
attr_accessors(*attrs)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 93 def attr_accessors(*attrs) return if attrs.empty? attrs = attrs.map { |a| ":#{a}" } attrs.each do |attr| statement "attr_accessor #{attr}" end blank_line end
attr_readers(*attrs)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 30 def attr_readers(*attrs) return if attrs.empty? attrs = attrs.map { |a| ":#{a}" } attrs.each do |attr| statement "attr_reader #{attr}" end blank_line end
begin_class(name)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 124 def begin_class(name) statement "class #{name}" inc_indent end
begin_def(name, *args)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 146 def begin_def(name, *args) blank_line statement method_definition(name, args) inc_indent end
begin_module(name)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 103 def begin_module(name) statement "module #{name}" inc_indent end
begin_modules(names)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 108 def begin_modules(names) names.each do |name| begin_module name end end
begin_sub_class(name, super_name)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 129 def begin_sub_class(name, super_name) statement "class #{name} < #{super_name}" inc_indent end
blank_comment()
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 24 def blank_comment statement '#' @blank_line = true self end
blank_line()
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 17 def blank_line # Prevent double blank lines append "\n" unless @blank_line @blank_line = true self end
Also aliased as: after_requires, after_constants
block(statement, block_args) { || ... }
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 64 def block(statement, block_args) indent buf = statement.dup buf << ' do' args = block_args.join ', ' buf << " |#{args}|" if block_args.any? @io << buf next_statement inc_indent yield self.end end
block_assignment(var_name, statement, block_args, &block)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 77 def block_assignment(var_name, statement, block_args, &block) block "#{var_name} = #{statement}", block_args, &block end
call(name, *args)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 56 def call(name, *args) if args.empty? statement name else statement "#{name}(#{args * ', '})" end end
end()
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 201 def end dec_indent if @blank_line @io.seek -1, IO::SEEK_CUR end statement 'end' end
end_modules(names)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 114 def end_modules(names) names.each { self.end } end
in_class(name) { || ... }
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 134 def in_class(name) begin_class name yield self.end end
in_def(name, *args) { || ... }
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 152 def in_def(name, *args) begin_def name, *args yield self.end end
in_modules(names) { || ... }
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 118 def in_modules(names) begin_modules names yield end_modules names end
in_sub_class(name, super_name) { || ... }
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 140 def in_sub_class(name, super_name) begin_sub_class name, super_name yield self.end end
literal_array(name, values)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 158 def literal_array(name, values) if values.empty? statement "#{name} = []" return end statement "#{name} = [" inc_indent values[0..-2].each do |value| statement "#{value}," end statement values.last dec_indent statement ']' end
literal_hash(name, key_values)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 174 def literal_hash(name, key_values) if key_values.empty? statement "#{name} = {}" return end statement "#{name} = {" inc_indent key_values[0..-2].each do |value| statement "#{value}," end statement key_values.last dec_indent statement '}' end
next_statement()
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 11 def next_statement append "\n" @blank_line = false self end
require(path)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 81 def require(path) statement "require #{path.inspect}" end
requires(*paths)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 85 def requires(*paths) return unless paths.any? paths.each do |path| require path end after_requires end
statement(statement)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 43 def statement(statement) indent @io << statement next_statement end
statements(*statements)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 49 def statements(*statements) statements.each do |s| statement s end blank_line end
Private Instance Methods
append(str)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 216 def append(str) @io << str self end
dec_indent(n = 1)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 231 def dec_indent(n = 1) @i -= n self end
inc_indent(n = 1)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 226 def inc_indent(n = 1) @i += n self end
indent()
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 221 def indent @io << ' ' * @i self end
method_definition(name, args)
click to toggle source
# File lib/wsdl_mapper/generation/default_formatter.rb, line 210 def method_definition(name, args) s = "def #{name}" s << "(#{args * ', '})" unless args.empty? s end