Class: DbConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/ip2location_ruby/database_config.rb

Constant Summary collapse

COLUMNS =
{ 
  :COUNTRY                  => [0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,  2, 2, 2,  2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
  :REGION                   => [0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3,  3, 3, 3,  3, 3, 3, 3, 3, 3, 3, 3, 3, 3],
  :CITY                     => [0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,  4, 4, 4,  4, 4, 4, 4, 4, 4, 4, 4, 4, 4],
  :ISP                      => [0, 0, 3, 0, 5, 0, 7, 5, 7, 0, 8, 0,  9, 0, 9,  0, 9, 0, 9, 7, 9, 0, 9, 7, 9],
  :LATITUDE                 => [0, 0, 0, 0, 0, 5, 5, 0, 5, 5, 5, 5,  5, 5, 5,  5, 5, 5, 5, 5, 5, 5, 5, 5, 5],
  :LONGITUDE                => [0, 0, 0, 0, 0, 6, 6, 0, 6, 6, 6, 6,  6, 6, 6,  6, 6, 6, 6, 6, 6, 6, 6, 6, 6],
  :DOMAIN                   => [0, 0, 0, 0, 0, 0, 0, 6, 8, 0, 9, 0, 10, 0, 10, 0, 10, 0, 10, 8, 10, 0, 10, 8, 10],
  :ZIPCODE                  => [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,  7, 0, 7,  7, 7, 0, 7, 0, 7, 7, 7, 0, 7],
  :TIMEZONE                 => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,  8, 7, 8,  8, 8, 7, 8, 0, 8, 8, 8, 0, 8],
  :NETSPEED                 => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 8, 11, 0, 11,8, 11, 0, 11, 0, 11, 0, 11],
  :IDDCODE                  => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  9, 12, 0, 12, 0, 12, 9, 12, 0, 12],
  :AREACODE                 => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  10 ,13 ,0, 13, 0, 13, 10, 13, 0, 13],
  :WEATHERSTATIONCODE       => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 9, 14, 0, 14, 0, 14, 0, 14],
  :WEATHERSTATIONNAME       => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 10, 15, 0, 15, 0, 15, 0, 15],
  :MCC                      => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 9, 16, 0, 16, 9, 16],
  :MNC                      => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 10,17, 0, 17, 10, 17],
  :MOBILEBRAND              => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 11,18, 0, 18, 11, 18],
  :ELEVATION                => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 0, 0, 11, 19, 0, 19],
  :USAGETYPE                => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0, 12, 20]
}

Class Method Summary collapse

Class Method Details

.setup_database(db_index) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/ip2location_ruby/database_config.rb', line 24

def self.setup_database(db_index)
  # strip all 0 value & downcase keys
 cols = COLUMNS.inject({}) {|memo, (key, value)|
  (memo[key.to_s.downcase.to_sym] = value[db_index] if value[db_index] > 0)
  memo
 }
 # order by value
 col_array = cols.sort_by {|key,value| value}
end