class WsdlMapper::DomGeneration::DefaultCtrGenerator
Public Class Methods
new(generator)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 6 def initialize(generator) @generator = generator end
Public Instance Methods
generate(ttg, f, _result)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 10 def generate(ttg, f, _result) props = ttg.type.each_property.to_a attrs = ttg.type.each_attribute.to_a base_props, base_attrs = get_base_props(ttg.type), get_base_attrs(ttg.type) f.in_def 'initialize', *get_prop_kw_args((props + base_props).uniq(&:name)), *get_attr_kw_args((attrs + base_attrs).uniq(&:name)) do if ttg.type.base f.call :super, *get_prop_kw_assigns(base_props), *get_attr_kw_assigns(base_attrs) end f.assignments(*get_prop_assigns(props)) f.assignments(*get_attr_assigns(attrs)) end end
generate_simple(ttg, f, _result)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 25 def generate_simple(ttg, f, _result) attrs = ttg.type.each_attribute content_name = @generator.namer.get_content_name ttg.type f.in_def 'initialize', content_name.attr_name, *get_attr_kw_args(attrs) do f.assignments [content_name.var_name, content_name.attr_name] f.assignments(*get_attr_assigns(attrs)) end end
generate_wrapping(_ttg, f, _result, var_name, par_name)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 35 def generate_wrapping(_ttg, f, _result, var_name, par_name) f.in_def 'initialize', par_name do f.assignment var_name, par_name end end
Protected Instance Methods
get_attr_assigns(attrs)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 91 def get_attr_assigns(attrs) attrs.map do |a| name = @generator.namer.get_attribute_name a [name.var_name, name.attr_name] end end
get_attr_kw_args(attrs)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 76 def get_attr_kw_args(attrs) attrs.map do |a| name = @generator.namer.get_attribute_name a default = @generator.value_defaults_generator.generate_for_attribute a "#{name.attr_name}: #{default}" end end
get_attr_kw_assigns(attrs)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 61 def get_attr_kw_assigns(attrs) attrs.map do |a| name = @generator.namer.get_attribute_name a "#{name.attr_name}: #{name.attr_name}" end end
get_base_attrs(type)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 42 def get_base_attrs(type) return [] unless type.base return [] if type.base.is_a? WsdlMapper::Dom::SoapEncodingType type.base.each_attribute.to_a + get_base_attrs(type.base) end
get_base_props(type)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 48 def get_base_props(type) return [] unless type.base return [] if type.base.is_a? WsdlMapper::Dom::SoapEncodingType type.base.each_property.to_a + get_base_props(type.base) end
get_prop_assigns(props)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 84 def get_prop_assigns(props) props.map do |p| name = @generator.namer.get_property_name p [name.var_name, name.attr_name] end end
get_prop_kw_args(props)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 68 def get_prop_kw_args(props) props.map do |p| name = @generator.namer.get_property_name p default = @generator.value_defaults_generator.generate_for_property p "#{name.attr_name}: #{default}" end end
get_prop_kw_assigns(props)
click to toggle source
# File lib/wsdl_mapper/dom_generation/default_ctr_generator.rb, line 54 def get_prop_kw_assigns(props) props.map do |p| name = @generator.namer.get_property_name p "#{name.attr_name}: #{name.attr_name}" end end