Sha256: 8110e73fb85dd97ea1f1b2eee763918dfe6d2743f6aeef52bfabae85bd5c91ef

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

ServerTypeAlias.class_eval do
  data_miner do
    schema Earth.database_options do
      string 'name'
      string 'server_type_name'
      string 'platform_name'
    end
    
    import "a list of server type aliases and their characteristics",
           :url => 'https://spreadsheets.google.com/pub?key=0AkCJNpm9Ks6JdDdkVlBzSUYweFN0OHBreEN6YTdTZ3c&hl=en&single=true&gid=0&output=csv' do
      key   'name', :field_name => 'alias'
      store 'server_type_name'
      store 'platform_name'
    end
    
    # FIXME TODO verify that server type name appears in server_types
    # FIXME TODO verify that platform name appears in computation_platforms
    
    verify "Server type name and platform name should never be missing" do
      ServerTypeAlias.all.each do |server_alias|
        [:server_type_name, :platform_name].each do |x|
          test_item = server_alias.send(x)
          if test_item.nil?
            raise "Invalid #{x} for ServerTypeAlias #{server_alias.name}: #{test_item}"
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
earth-0.3.15 lib/earth/computation/server_type_alias/data_miner.rb
earth-0.3.14 lib/earth/computation/server_type_alias/data_miner.rb
earth-0.3.13 lib/earth/computation/server_type_alias/data_miner.rb