module Picasa::Utils

Public Class Methods

array_wrap(object) click to toggle source

Ported from activesupport gem

# File lib/picasa/utils.rb, line 26
def array_wrap(object)
  if object.nil?
    []
  elsif object.respond_to?(:to_ary)
    object.to_ary || [object]
  else
    [object]
  end
end
inline_query(query) click to toggle source
# File lib/picasa/utils.rb, line 56
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
map_to_boolean(value) click to toggle source
# File lib/picasa/utils.rb, line 48
def map_to_boolean(value)
  return unless value
  case value
    when "true"  then true
    when "false" then false
  end
end
map_to_date(value) click to toggle source
# File lib/picasa/utils.rb, line 44
def map_to_date(value)
  value && DateTime.parse(value)
end
map_to_float(value) click to toggle source
# File lib/picasa/utils.rb, line 40
def map_to_float(value)
  value && value.to_f
end
map_to_integer(value) click to toggle source
# File lib/picasa/utils.rb, line 36
def map_to_integer(value)
  value && value.to_i
end
retrieve(hash, keys) click to toggle source
# File lib/picasa/utils.rb, line 15
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
safe_retrieve(hash, *keys) click to toggle source
# File lib/picasa/utils.rb, line 6
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

Private Instance Methods

array_wrap(object) click to toggle source

Ported from activesupport gem

# File lib/picasa/utils.rb, line 26
def array_wrap(object)
  if object.nil?
    []
  elsif object.respond_to?(:to_ary)
    object.to_ary || [object]
  else
    [object]
  end
end
inline_query(query) click to toggle source
# File lib/picasa/utils.rb, line 56
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
map_to_boolean(value) click to toggle source
# File lib/picasa/utils.rb, line 48
def map_to_boolean(value)
  return unless value
  case value
    when "true"  then true
    when "false" then false
  end
end
map_to_date(value) click to toggle source
# File lib/picasa/utils.rb, line 44
def map_to_date(value)
  value && DateTime.parse(value)
end
map_to_float(value) click to toggle source
# File lib/picasa/utils.rb, line 40
def map_to_float(value)
  value && value.to_f
end
map_to_integer(value) click to toggle source
# File lib/picasa/utils.rb, line 36
def map_to_integer(value)
  value && value.to_i
end
retrieve(hash, keys) click to toggle source
# File lib/picasa/utils.rb, line 15
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
safe_retrieve(hash, *keys) click to toggle source
# File lib/picasa/utils.rb, line 6
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