public
Description: ASCENDS Data Visualization
Homepage:
Clone URL: git://github.com/schleyfox/ascends_viz.git
ascends_viz / models / emitter.rb
100644 28 lines (24 sloc) 0.733 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Emitter < ActiveRecord::Base
 
  def self.from_file(file)
    return nil unless File.exists?(file)
    params, state, e = {}
    open(file,"r") do |f|
      until state
        line = f.readline
        state = line if line.size == 3
      end
      until f.eof?
        line = f.readline.split(",")
        next unless line.size > 1
        params = {:name => line[0], :lat => line[1], :lon => line[2],
                  :energy_source => line[3].strip, :energy_source_secondary => nil,
                  :capacity => line[5], :state => state.strip }
        params[:energy_source_secondary] = line[4].strip if line[4]
        e = Emitter.create(params)
      end
    end
  end
 
  def pos_to_tuple
    [lon,lat, 0]
  end
 
end