module Qiita::NekosogiStocker

Constants

PAGE_UNIT
VERSION

Public Class Methods

stock(user_id, debug_not_stock = false) click to toggle source
# File lib/qiita_nekosogi_stocker/qiita_nekosogi_stocker.rb, line 8
def stock(user_id, debug_not_stock = false)
  Dotenv.load
  client = Qiita::Client.new(access_token: ENV['access_token'])
  page = 1
  ltsvs = []
  loop {
    response = client.list_user_items(user_id, per_page: PAGE_UNIT, page: page)
    response.body.each do |item|
      next if stock?(client, item['id'])
      client.stock_item(item['id']) unless debug_not_stock
      ltsvs = append_ltsvs(ltsvs, item)
    end
    page += 1
    break unless response.next_page_url
  }
  return '' if ltsvs.size == 0
  ltsvs.map { |e|"title: #{e[:title]}     url: #{e[:url]}" }.join("\n")
end

Private Class Methods

append_ltsvs(ltsvs, item) click to toggle source
# File lib/qiita_nekosogi_stocker/qiita_nekosogi_stocker.rb, line 34
def append_ltsvs(ltsvs, item)
  ltsv = {}
  ltsv[:id] = item['id']
  ltsv[:title] = item['title']
  ltsv[:url] = item['url']
  ltsvs << ltsv
  ltsvs
end
stock?(client, item_id) click to toggle source
# File lib/qiita_nekosogi_stocker/qiita_nekosogi_stocker.rb, line 29
def stock?(client, item_id)
  response = client.get_item_stock(item_id)
  response.status == 204
end