class AccessibleSeedYaml::Table
This class is wrapper of seed.
Functions: - Fetch seed data by record unit. - Stored original seed string. It can fetch anytime.
Attributes
original_seed[R]
Public Class Methods
new(seed)
click to toggle source
@param [String] seed for data source.
# File lib/accessible_seed_yaml/table.rb, line 14 def initialize(seed) @original_seed = seed end
Public Instance Methods
records()
click to toggle source
@return [Array of AccessibleSeedYaml::Record
] seed data. It split by record unit. @example
<source data> data1: id: 1 name: "one" data2: id: 2 name: "two" <return> [ #<AccessibleSeedYaml::Record:0x007f91552770c0 @original_seed="data1:\n id: 1\n name: \"one\"\n", @seed_data_by_hash={"data1"=>{"id"=>1, "name"=>"one"}}>, #<AccessibleSeedYaml::Record:0x007f915526c238 @original_seed="data2:\n id: 2\n name: \"two\"\n", @seed_data_by_hash={"data2"=>{"id"=>2, "name"=>"two"}}>, ]
# File lib/accessible_seed_yaml/table.rb, line 38 def records setup_records if @records.nil? @records end
to_s()
click to toggle source
@return [String] seed data by yaml string.
# File lib/accessible_seed_yaml/table.rb, line 44 def to_s self.original_seed end
Private Instance Methods
fetch_first_record!(seed)
click to toggle source
# File lib/accessible_seed_yaml/table.rb, line 64 def fetch_first_record!(seed) record_boader = seed.index(record_boader_regexp) if record_boader.nil? return seed.slice!(0..-1) end seed.slice!(0..record_boader) end
record_boader_regexp()
click to toggle source
# File lib/accessible_seed_yaml/table.rb, line 74 def record_boader_regexp /\n[^ ]/ end
setup_records()
click to toggle source
# File lib/accessible_seed_yaml/table.rb, line 50 def setup_records @records = [] seed = @original_seed.dup loop do if seed.empty? break end record = Record.new(fetch_first_record!(seed)) @records << record end end