Module: Columbus3::LeafletRenderer
- Defined in:
- lib/columbus3/renderer/leaflet_renderer.rb
Overview
renderer controls the transformation of a V900 tracks into a displayable format, whatever this means
Class Method Summary collapse
-
.show(filename, files) ⇒ Object
apply the ERB in html/show.html.erb (which includes all the tracks to display) and save it in the current directory, under _show.html.
- .to_geojson_filename(filename) ⇒ Object
-
.to_leaflet(filename, force = false) ⇒ Object
make a v900 track into a leaflet layer cached to disk.
- .to_leaflet_layername(filename) ⇒ Object
- .to_varname(prefix, filename) ⇒ Object
Class Method Details
.show(filename, files) ⇒ Object
apply the ERB in html/show.html.erb (which includes all the tracks to display) and save it in the current directory, under _show.html
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/columbus3/renderer/leaflet_renderer.rb', line 11 def self.show filename, files template = File.join(File.dirname(__FILE__), "/../../html/show.html.erb") renderer = ERB.new(File.read(template)) # context: location of css and js + list of files to show bower_dir = File.join(File.dirname(__FILE__), "/../../../bower_components") @leaflet_providers = File.join(bower_dir, 'leaflet-providers/leaflet-providers.js') @leaflet_js = File.join(bower_dir, 'leaflet/dist/leaflet.js') @leaflet_css = File.join(bower_dir, 'leaflet/dist/leaflet.css') @files = files # generate and save to file File.open(filename, "w") do |file| file << renderer.result(binding) end end |
.to_geojson_filename(filename) ⇒ Object
50 51 52 |
# File 'lib/columbus3/renderer/leaflet_renderer.rb', line 50 def self.to_geojson_filename filename filename + ".js" end |
.to_leaflet(filename, force = false) ⇒ Object
make a v900 track into a leaflet layer cached to disk
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/columbus3/renderer/leaflet_renderer.rb', line 29 def self.to_leaflet filename, force = false target = to_geojson_filename filename if force or not File.exists? target # load the template template = File.join(File.dirname(__FILE__), "/../../html/track.js.erb") renderer = ERB.new(File.read(template)) # context: the track and the track's id @track = V900Track.new filename: filename @filename = filename # generate and save it to file File.open(target, "w") do |file| file << renderer.result(binding) end end end |