Sha256: 71fd9a51057a53cd9a6276370f5b418d9613aff3c39d75dafa39dd8d5d1381ea

Contents?: true

Size: 1.15 KB

Versions: 6

Compression:

Stored size: 1.15 KB

Contents

class YouTubeG
  module Request #:nodoc:  
    class UserSearch < BaseSearch #:nodoc:      
      attr_reader :max_results                     # max_results
      attr_reader :order_by                        # orderby, ([relevance], viewCount, published, rating)
      attr_reader :offset                          # start-index

      def initialize(params, options={})
        @max_results, @order_by, @offset = nil
        @url = base_url

        if params == :favorites
          @url << "#{options[:user]}/favorites" 
          set_instance_variables(options)
        elsif params[:user] && options[:favorites]
          @url << "#{params[:user]}/favorites"
          set_instance_variables(params)
          return
        elsif params[:user]
          @url << "#{params[:user]}/uploads"
          set_instance_variables(params)
        end
        
        @url << build_query_params(to_youtube_params)
      end

      private

      def base_url
        super << "users/"
      end

      def to_youtube_params
        {
          'max-results' => @max_results,
          'orderby' => @order_by,
          'start-index' => @offset
        }
      end
    end
    
  end
end

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
agiley-youtube-g-0.6.3 lib/youtube_g/request/user_search.rb
agiley-youtube-g-0.6.2 lib/youtube_g/request/user_search.rb
natedaiger-youtube-g-0.6.1 lib/youtube_g/request/user_search.rb
natedaiger-youtube-g-0.6.0 lib/youtube_g/request/user_search.rb
natedaiger-youtube-g-0.5.1 lib/youtube_g/request/user_search.rb
mintdigital-youtube-g-0.5.1 lib/youtube_g/request/user_search.rb