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