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