class GDstruct::Creator
create a Ruby Hash/Array structure out of possibly several separated GDS definition strings
# file: data.gdstruct &persons persons, @schema person /* firstname lastname yearOfBirth */ : John | McArthur | 1987 : Berry | Miller | 1976
@example
require 'gdstruct' creator = GDstruct::Creator.new creator.include( <<-EOS ) @schema person( firstname, lastname, yearOfBirth ) EOS creator.include_file( 'data.gdstruct' ) creator.include( <<-EOS ) all mypersons *persons EOS res = creator.create # => res = {:persons=>[{:firstname=>"John", :lastname=>"McArthur", :yearOfBirth=>1987}, {:firstname=>"Berry", :lastname=>"Miller", :yearOfBirth=>1976}], # :all=>{:mypersons=>{:persons=>[{:firstname=>"John", :lastname=>"McArthur", :yearOfBirth=>1987}, {:firstname=>"Berry", :lastname=>"Miller", :yearOfBirth=>1976}]}}}
Public Class Methods
new()
click to toggle source
# File lib/gdstruct.rb, line 78 def initialize @gdsDefinition = "" end
Public Instance Methods
create( config = {} )
click to toggle source
# File lib/gdstruct.rb, line 94 def create( config = {} ) LDLgeneratedLanguage::Gds.parse( @gdsDefinition, config ) end
include( gds_definition )
click to toggle source
# File lib/gdstruct.rb, line 86 def include( gds_definition ) @gdsDefinition << gds_definition << "\n" end
include_file( file_name )
click to toggle source
# File lib/gdstruct.rb, line 90 def include_file( file_name ) @gdsDefinition << File.read( file_name ) << "\n" end
reset()
click to toggle source
# File lib/gdstruct.rb, line 82 def reset @gdsDefinition = "" end