class ScaffoldParser::Scaffolders::XSD::Parser::Handlers::SubmodelMethod
Attributes
submodel_class[RW]
Public Class Methods
new(source, submodel_class = nil)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 12 def initialize(source, submodel_class = nil) @source = source @submodel_class = submodel_class || source.type&.split(':')&.map(&:camelize)&.join('::') end
Public Instance Methods
all(_)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 57 def all(_) All.new self end
at()
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 19 def at if source.name [source.xmlns_prefix, "#{source.name}"].compact.join(':') elsif source.ref source.ref end end
choice(_)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 53 def choice(_) Choice.new self end
method_body()
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 27 def method_body "submodel_at(#{submodel_class}, '#{at}')" end
name_with_prefix()
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 31 def name_with_prefix [source.xmlns_prefix, "#{method_name}"].compact.join(':') end
schema(_)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 61 def schema(_) STACK end
sequence(_)
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 49 def sequence(_) Sequence.new self end
to_at_method()
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 65 def to_at_method AtMethod.new(source) end
to_builder()
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 39 def to_builder f = StringIO.new f.puts "if data.key? :#{method_name}" f.puts " root << #{submodel_class}.new('#{at}', data[:#{method_name}]).builder" f.puts 'end' f.string.strip end
to_h_method()
click to toggle source
# File lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb, line 35 def to_h_method "hash[:#{method_name}] = #{method_name}.to_h if has? '#{at}'" end