module StaticMaps::Params

Constants

ALLOWED
BASE_URL
DEFAULTS

Public Instance Methods

build_url(params) click to toggle source
# File lib/static_maps/params.rb, line 40
def build_url(params)
  url_safe(BASE_URL + concat_params(params))
end
concat_params(params) click to toggle source
# File lib/static_maps/params.rb, line 28
def concat_params(params)
  [].tap do |url|
    validated_params(params).each_with_index do |(k,v),i|
      url << "#{i==0 ? '?' : '&'}#{k}=#{v}"
    end
  end.join('')
end
filter_allowed(params) click to toggle source
# File lib/static_maps/params.rb, line 18
def filter_allowed(params)
  DEFAULTS.merge params.select {|k,v| ALLOWED.include? k}
end
url_safe(str) click to toggle source
# File lib/static_maps/params.rb, line 36
def url_safe(str)
  str.strip.gsub(/[ |]+/,' ' => '+', '|' => '%7C')
end
validated_params(params) click to toggle source
# File lib/static_maps/params.rb, line 22
def validated_params(params)
  {}.tap do |p|
    filter_allowed(params).map {|k,v| p[k] = Validations::validate(k,v)}
  end
end