class GMaps
Attributes
directives[RW]
map[RW]
name[W]
Public Class Methods
[](*args)
click to toggle source
# File lib/gmaps.rb, line 7 def [](*args) GMaps.new(*args) end
new(options={})
click to toggle source
# File lib/gmaps.rb, line 14 def initialize(options={}) @map = options @directives = [] end
Public Instance Methods
method_missing(m, *args)
click to toggle source
# File lib/gmaps.rb, line 19 def method_missing(m, *args) @directives << {name: m, args: args} end
name()
click to toggle source
# File lib/gmaps.rb, line 23 def name @name ||= @map[:div] ? @map[:div].gsub(/[#\.]/, '') : 'map' end
to_js()
click to toggle source
# File lib/gmaps.rb, line 28 def to_js ("var #{name} = GMaps(#{{div: '#map'}.merge!(@map)._to_s19});\n" + @directives.map{ |directive| func = directive[:name] args = directive[:args] "#{name}.#{func}(#{args.map{|e| e._to_s19}.join(', ')})" }.join(";\n")).html_safe end
to_s()
click to toggle source
# File lib/gmaps.rb, line 37 def to_s {map: @map, directives: @directives}._to_s19 end