lib/gull/polygon.rb in gull-0.2.9 vs lib/gull/polygon.rb in gull-0.2.10
- old
+ new
@@ -1,17 +1,19 @@
module Gull
class Polygon
attr_accessor :coordinates
- def initialize polygon
- self.coordinates = polygon.split(" ").collect {|coords| coords.split(",").collect {|coord| coord.to_f} }
+ def initialize(polygon)
+ self.coordinates = polygon.split(' ').collect do |coords|
+ coords.split(',').collect(&:to_f)
+ end
end
def centroid
- low_x = 0
+ low_x = 0
low_y = 0
- high_x = 0
+ high_x = 0
high_y = 0
coordinates.each do |pair|
x_bounds = bounds pair.first, low_x, high_x
low_x = x_bounds.first
@@ -26,38 +28,39 @@
center_y = low_y + ((high_y - low_y) / 2)
[center_x, center_y]
end
- def image_url api_key, options={}
- opts = {
- :width => 640,
- :height => 640,
- :color => "0xff0000",
- :weight => 3,
- :fillcolor => "0xff000060",
- :maptype => "roadmap"
+ def image_url(api_key, options = {})
+ options = {
+ width: 640,
+ height: 640,
+ color: '0xff0000',
+ weight: 3,
+ fillcolor: '0xff000060',
+ maptype: 'roadmap'
}.merge(options)
- url_base = "http://maps.googleapis.com/maps/api/staticmap"
- "#{url_base}?size=#{opts[:width]}x#{opts[:height]}&maptype=#{opts[:maptype]}&path=color:#{opts[:color]}" +
- "|weight:#{opts[:weight]}|fillcolor:#{opts[:fillcolor]}|#{coordinates_piped}&key=#{api_key}"
+ url_base = 'http://maps.googleapis.com/maps/api/staticmap'
+ "#{url_base}?size=#{options[:width]}x#{options[:height]}" \
+ "&maptype=#{options[:maptype]}&path=color:#{options[:color]}" \
+ "|weight:#{options[:weight]}|fillcolor:#{options[:fillcolor]}" \
+ "|#{coordinates_piped}&key=#{api_key}"
end
- private
+ private
- def bounds point, low, high
- if point < low or low == 0
+ def bounds(point, low, high)
+ if point < low || low == 0
low = point
- elsif point > high or high == 0
+ elsif point > high || high == 0
high = point
end
[low, high]
end
def coordinates_piped
- coordinates.collect {|pair| pair.join "," }.join "|"
+ coordinates.collect { |pair| pair.join ',' }.join '|'
end
-
end
-end
\ No newline at end of file
+end