Sha256: b8f4f8e36bd1adc46e9b8ebb0ef60f6d50c505aca1777e6a2ff0037700291457

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

require 'active_support/core_ext'
require 'nicoapi/core/base'


module NicoAPI
  class TagSearch
    include NicoAPI::Base

    def set(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)
      array = []

      array.push sort_param(sort)
      array.push order_param(order)
      array.push page_param(page)
      array.push "rss=2.0"

      array
    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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nicoapi-core-0.0.3.2 lib/nicoapi/core/tag_search.rb