Sha256: 8d901c252ad50020ba4979d8fd48c7bb06a98d99118b746c0da16c8604c8c83f
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'fathom')) require 'open-uri' class Fathom::YAMLImport < Import def import_plausible_ranges assert_yaml_content plausible_ranges = extract_plausible_ranges [PlausibleRange, plausible_ranges] end def import_data_nodes assert_yaml_content data_nodes = extract_data_nodes [DataNode, data_nodes] end protected def assert_yaml_content return @yaml_content if @yaml_content begin file_contents = open(self.content).read raise ArgumentError, "Unable to extract YAML data out of the contents." unless file_contents rescue file_contents = self.content end @yaml_content = YAML.load(file_contents) end def extract_plausible_ranges @yaml_content.inject([]) do |list, array| name, value = array.first, array.last if value.is_a?(Hash) value = OptionsHash.new(value) list << value.merge(:name => name) if value[:min] and value[:max] end list end end def extract_data_nodes @yaml_content.inject([]) do |list, array| name, value = array.first, array.last list << {:name => name, :values => value} if value.is_a?(Array) list end end end if __FILE__ == $0 include Fathom # TODO: Is there anything you want to do to run this file on its own? # YAMLImport.new end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fathom-0.1.0 | lib/fathom/import/yaml_import.rb |