Sha256: b017086073ffbeab07ee87047dbf14d2529f55f9ca1ea89b29fbcbfd26dd2a2a

Contents?: true

Size: 1.03 KB

Versions: 5

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)
          unless test_item.present?
            raise "Invalid #{x} for ServerTypeAlias #{server_alias.name}: #{test_item}"
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
earth-0.4.4 lib/earth/computation/server_type_alias/data_miner.rb
earth-0.4.3 lib/earth/computation/server_type_alias/data_miner.rb
earth-0.4.2 lib/earth/computation/server_type_alias/data_miner.rb
earth-0.4.1 lib/earth/computation/server_type_alias/data_miner.rb
earth-0.4.0 lib/earth/computation/server_type_alias/data_miner.rb