Sha256: 1de751247ade6ab99a1313e7560749db78e25b618a15db67582960d0f86af4f3

Contents?: true

Size: 1.35 KB

Versions: 26

Compression:

Stored size: 1.35 KB

Contents

require 'active_support/core_ext'
require 'nicoquery/api/base'


module NicoQuery
  module Api
    class TagSearchRss < NicoQuery::Api::Base

      def initialize(tag: tag, sort: sort, order: order, page: page)
        @dynamic_segment = tag
        @params_array = params_array(sort, order, page)
      end

      private
      def host
        'www.nicovideo.jp'
      end

      def static_segment
        'tag'
      end

      def params_array(sort, order, page)
        [
          sort_param(sort),
          order_param(order),
          page_param(page),
          format,
          "numbers=1", # it enables to catch view/comment/mylist cum.
        ]
      end

      def format
        "rss=2.0"
      end

      def sort_param(sort)
        sort_string = case sort
        when :commented_at then nil
        when :view_count   then 'v'
        when :comment_num  then 'r'
        when :mylist_count then 'm'
        when :published_at then 'f'
        when :length       then 'l'
        else nil
        end

        sort_string.present? ? "sort=#{sort_string}" : ''
      end

      def order_param(order)
        order_string = case order
        when :asc  then 'order=a'
        when :desc  then 'order=d'
        else nil
        end

        order_string.presence || ''
      end

      def page_param(page)
        "page=#{page}"
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
nicoquery-0.1.8.11 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.10 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.9 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.8 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.7 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.6 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.5 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.4 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.3 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8.2 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.8 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.7 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.6.1 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.6 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.5 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.4 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.3 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.2 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.1 lib/nicoquery/api/tag_search_rss.rb
nicoquery-0.1.0 lib/nicoquery/api/tag_search_rss.rb