Class: Gmaps4rails::JsBuilder::Datum
- Inherits:
-
Object
- Object
- Gmaps4rails::JsBuilder::Datum
- Defined in:
- lib/gmaps4rails/js_builder.rb
Instance Method Summary collapse
- #create_direction_js ⇒ Object
- #create_js ⇒ Object
- #create_standard_js ⇒ Object
-
#initialize(gmap_id, name, hash) ⇒ Datum
constructor
A new instance of Datum.
- #set_configuration_variables ⇒ Object
- #set_direction_variables ⇒ Object
Constructor Details
#initialize(gmap_id, name, hash) ⇒ Datum
Returns a new instance of Datum.
96 97 98 99 |
# File 'lib/gmaps4rails/js_builder.rb', line 96 def initialize(gmap_id, name, hash) @gmap_id, @name, @js = gmap_id, name, Array.new @element_info = OpenStruct.new(hash) end |
Instance Method Details
#create_direction_js ⇒ Object
117 118 119 120 121 122 123 124 |
# File 'lib/gmaps4rails/js_builder.rb', line 117 def create_direction_js @js << "#{@gmap_id}.direction_conf.origin = '#{data["from"]}';" @js << "#{@gmap_id}.direction_conf.destination = '#{data["to"]}';" set_direction_variables @js << "#{@gmap_id}.create_direction();" end |
#create_js ⇒ Object
101 102 103 104 105 106 107 |
# File 'lib/gmaps4rails/js_builder.rb', line 101 def create_js if @name.to_sym == :direction create_direction_js else create_standard_js end end |
#create_standard_js ⇒ Object
109 110 111 112 113 114 115 |
# File 'lib/gmaps4rails/js_builder.rb', line 109 def create_standard_js @js << "#{@gmap_id}.#{@name} = #{data};" set_configuration_variables @js << "#{@gmap_id}.create_#{@name}();" end |
#set_configuration_variables ⇒ Object
126 127 128 129 130 131 132 133 134 135 |
# File 'lib/gmaps4rails/js_builder.rb', line 126 def set_configuration_variables return unless .each do |option_key, option_value| @js << if option_key.to_sym == :raw "#{@gmap_id}.#{@name}_conf.#{option_key} = #{option_value};" else "#{@gmap_id}.#{@name}_conf.#{option_key} = #{option_value.to_json};" end end end |
#set_direction_variables ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'lib/gmaps4rails/js_builder.rb', line 137 def set_direction_variables return unless .each do |option_key, option_value| if option_key.to_sym == :waypoints waypoints = Array.new option_value.each do |waypoint| waypoints << { "location" => waypoint, "stopover" => true }.to_json end @js << "#{@gmap_id}.direction_conf.waypoints = [#{waypoints * (",")}];" else @js << "#{@gmap_id}.direction_conf.#{option_key} = #{option_value.to_json};" end end end |