Sha256: 242f249fa86de3a0b964c7f82d76f28980727fdada9075c1321d5a71ef02289f
Contents?: true
Size: 1.95 KB
Versions: 2
Compression:
Stored size: 1.95 KB
Contents
require 'erb' require 'yaml' require 'columbus3/renderer/sanitizer' module Columbus3 # renderer controls the transformation of a V900 tracks into a displayable format, # whatever this means module LeafletRenderer # 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 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 # make a v900 track into a leaflet layer cached to disk 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 def self.to_geojson_filename filename filename + ".js" end def self.to_leaflet_layername filename to_varname "layer_", Sanitizer::sanitize(filename) end def self.to_varname prefix, filename prefix + Sanitizer::sanitize(filename) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
columbus3-0.5.1 | lib/columbus3/renderer/leaflet_renderer.rb |
columbus3-0.5.0 | lib/columbus3/renderer/leaflet_renderer.rb |