class Georama::Url
Public Class Methods
new(url)
click to toggle source
# File lib/georama/url.rb, line 5 def initialize(url) raise ArgumentError, "Expected a valid maps url, got nil" if url.nil? @url_string = URI.encode(url) raise ArgumentError, "Not a valid url" unless Georama::Parser.is_valid_url?(@url_string) raise ArgumentError, "Not a valid maps url" unless Georama::Parser.is_google_maps_url?(@url_string) @parsed_url = URI.parse(@url_string) end
Public Instance Methods
coordinates()
click to toggle source
# File lib/georama/url.rb, line 17 def coordinates @coordinates ||= Georama::Parser.get_coordinates(coordinates_component) end
latitude()
click to toggle source
# File lib/georama/url.rb, line 21 def latitude coordinates[:latitude] end
longitude()
click to toggle source
# File lib/georama/url.rb, line 25 def longitude coordinates[:longitude] end
metadata()
click to toggle source
# File lib/georama/url.rb, line 29 def metadata @metadata ||= Georama::Parser.get_metadata(coordinates_component) end
place()
click to toggle source
# File lib/georama/url.rb, line 37 def place return nil unless type == :place @place ||= URI.unescape(path_components[2].gsub("+", " ")) end
type()
click to toggle source
# File lib/georama/url.rb, line 13 def type @type ||= Georama::Parser.url_type(@parsed_url.path) end
zoom()
click to toggle source
# File lib/georama/url.rb, line 33 def zoom metadata[:zoom] end
Private Instance Methods
coordinates_component()
click to toggle source
# File lib/georama/url.rb, line 44 def coordinates_component @coordinates_component ||= case type when :general path_components[1] when :place path_components[3] end end
path_components()
click to toggle source
# File lib/georama/url.rb, line 53 def path_components @path_components ||= @parsed_url.path.split("/")[1..-1] end