Sha256: 59b865e111f689b9933c9de195b9e8115636143b855d717ef2613ed89dcea3c4
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
module ScaffoldParser module Scaffolders class XSD class Parser module Handlers class SubmodelMethod include BaseMethod include Utils attr_accessor :submodel_class def initialize(source, submodel_class = nil) @source = source @submodel_class = submodel_class || source.type.camelize end def method_body "submodel_at(#{submodel_class}, '#{source.name}')" end def to_h_with_attrs_method "hash[:#{method_name}] = #{method_name}.to_h_with_attrs if has? '#{source.name}'" end def to_builder f = StringIO.new f.puts "if data.key? :#{method_name}" f.puts " root << #{submodel_class}.new('#{source.name}', data[:#{source.name.underscore}]).builder" f.puts 'end' f.string.strip end def sequence(_) Sequence.new self end def choice(_) Choice.new self end def all(_) All.new self end def schema(_) STACK end def to_at_method AtMethod.new(source) end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scaffold_parser-0.6.0 | lib/scaffold_parser/scaffolders/xsd/parser/handlers/submodel_method.rb |