Sha256: 446b62ff19c12aaedb8005da2800f341c4a0c651c361f8029086902349a48707

Contents?: true

Size: 1.82 KB

Versions: 2

Compression:

Stored size: 1.82 KB

Contents

require "picasa/presenter/base"

module Picasa
  module Presenter
    class TagList < Base
      # @return [Presenter::Author]
      def author
        @author ||= Author.new(parsed_body["author"][0])
      end

      # @return [Array<Presenter::Tag>]
      def entries
        @entries ||= safe_retrieve(parsed_body, "entry").map { |entry| Tag.new(entry) }
      end
      alias :tags :entries

      # @return [Array<Presenter::Link>]
      def links
        @links ||= safe_retrieve(parsed_body, "link").map { |link| Link.new(link) }
      end

      # @return [String]
      def title
        @title ||= safe_retrieve(parsed_body, "title")
      end

      # @return [DateTime]
      def updated
        @updated ||= map_to_date(safe_retrieve(parsed_body, "updated"))
      end

      # @return [String]
      def icon
        @icon ||= safe_retrieve(parsed_body, "icon")
      end

      # @return [String]
      def generator
        @generator ||= safe_retrieve(parsed_body, "generator", "$t")
      end

      # @return [Integer]
      def total_results
        @total_results ||= map_to_integer(safe_retrieve(parsed_body, "openSearch$totalResults"))
      end

      # @return [Integer]
      def start_index
        @start_index ||= map_to_integer(safe_retrieve(parsed_body, "openSearch$startIndex"))
      end

      # @return [Integer]
      def items_per_page
        @items_per_page ||= map_to_integer(safe_retrieve(parsed_body, "openSearch$itemsPerPage"))
      end

      # @return [String]
      def user
        @user ||= safe_retrieve(parsed_body, "gphoto$user")
      end

      # @return [String]
      def nickname
        @nickname ||= safe_retrieve(parsed_body, "gphoto$nickname")
      end

      # @return [String]
      def thumbnail
        @thumbnail ||= safe_retrieve(parsed_body, "gphoto$thumbnail")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
picasa-0.6.1 lib/picasa/presenter/tag_list.rb
picasa-0.6.0 lib/picasa/presenter/tag_list.rb