Sha256: ccb1564ebde668e735a70fa31ff9d7629710401fbaee0aba8fc8dc6aa678628b
Contents?: true
Size: 1.87 KB
Versions: 1
Compression:
Stored size: 1.87 KB
Contents
require "picasa/api/base" module Picasa module API class Tag < Base # Returns tag list - when album_id is not specified, list of user tags will be returned # # @param [Hash] options additional options included in request # @option options [String] :album_id retrieve tags for given album # @option options [String] :photo_id retrieve tags for given photo (album_id must be provided) # # @return [Presenter::TagList] def list(options = {}) album_id = options[:album_id] photo_id = options[:photo_id] raise(ArgumentError, "You must specify album_id when providing photo_id") if photo_id && !album_id path = "/data/feed/api/user/#{user_id}" path << "/albumid/#{album_id}" if album_id path << "/photoid/#{photo_id}" if photo_id uri = URI.parse(path) parsed_body = Connection.new(credentials).get(uri.path, options.merge(:kind => "tag")) Presenter::TagList.new(parsed_body["feed"]) end # Creates a tag for a photo. # # @param [Hash] # @option options [String] :album_id id pof album # @option options [String] :photo_id id of photo # @option options [String] :title name of tag # # @return [Presenter::Tag] def create(params = {}) album_id = params.delete(:album_id) || raise(ArgumentError, "You must specify album_id") photo_id = params.delete(:photo_id) || raise(ArgumentError, "You must specify photo_id") params[:title] || raise(ArgumentError, "You must specify title") path = "/data/feed/api/user/#{user_id}/albumid/#{album_id}/photoid/#{photo_id}" template = Template.new("new_tag", params) uri = URI.parse(path) parsed_body = Connection.new(credentials).post(uri.path, template.render) Presenter::Tag.new(parsed_body["entry"]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
picasa-0.5.1 | lib/picasa/api/tag.rb |