Sha256: 9cad52996b9fa15d9902c8bf808eb6c7c5f90518758aba5ae977f2a2fbd21845
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
require "date" require "cgi" module Picasa module Utils def safe_retrieve(hash, *keys) result = retrieve(hash, keys) if result.kind_of?(Hash) && result.has_key?('$t') && result.keys.size == 1 result['$t'] else result end end def retrieve(hash, keys) return if !hash.kind_of?(Hash) || !hash.has_key?(keys.first) if keys.size == 1 hash[keys.first] elsif keys.size > 1 Utils.retrieve(hash[keys.first], keys[1..-1]) end end def map_to_integer(value) value && value.to_i end def map_to_date(value) value && DateTime.parse(value) end def map_to_boolean(value) return unless value case value when "true" then true when "false" then false end end def inline_query(query) query.map do |key, value| dasherized = key.to_s.gsub("_", "-") "#{CGI.escape(dasherized)}=#{CGI.escape(value.to_s)}" end.join("&") end module_function :safe_retrieve, :retrieve, :map_to_integer, :map_to_boolean, :map_to_date, :inline_query end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
picasa-0.6.1 | lib/picasa/utils.rb |
picasa-0.6.0 | lib/picasa/utils.rb |