Sha256: 9a56eba35ee020a8ba59631afd50ea1e4b1b7b258430448cf0dfad8a1d484ca1

Contents?: true

Size: 1.54 KB

Versions: 15

Compression:

Stored size: 1.54 KB

Contents

require "net/https"
require "json"
require "open-uri"
require "colorize"
require "qiita_org/search_conf_path.rb"

class QiitaList
  def initialize(mode)
    @mode = mode
    search = SearchConfPath.new(Dir.pwd, Dir.home)
    @conf_dir = search.search_conf_path()
    set_config()
    select_path()
    access_qiita()
    view_list()
  end

  def set_config()
    conf_path = File.join(@conf_dir, ".qiita.conf")
    conf = JSON.load(File.read(conf_path))
    @access_token = conf["access_token"]
    @teams_url = conf["teams_url"]
  end

  # select path
  def select_path()
    case @mode
    when "teams"
      @qiita = @teams_url
      @path = "api/v2/items?page=1&per_page=100"
    else
      @qiita = "https://qiita.com/"
      @path = "api/v2/authenticated_user/items?page=1&per_page=100"
    end
  end

  # access qiita
  def access_qiita()
    uri = URI.parse(@qiita + @path)

    headers = { "Authorization" => "Bearer #{@access_token}",
      "Content-Type" => "application/json" }

    response = URI.open(
                        "#{uri}",
                        "Authorization" => "#{headers["Authorization"]}",
                        )
    @items = JSON.parse(response.read)
  end

  def view_list()
    @items.each do |item|
      puts "title: #{item["title"]}"
      puts "Author: #{item["user"]["id"]}" if @mode == "teams"
      puts "URL: #{item["url"]}"
      body = item["body"]
      source = body.match(/- \**source\** ~(.+)/)
      if source != nil
        puts "Source: ~#{source[1]}"
      end
      puts ""
    end
#    p @items[0]["user"]["id"]
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
qiita_org-0.1.22 lib/qiita_org/list.rb
qiita_org-0.1.21 lib/qiita_org/list.rb
qiita_org-0.1.20 lib/qiita_org/list.rb
qiita_org-0.1.19 lib/qiita_org/list.rb
qiita_org-0.1.18 lib/qiita_org/list.rb
qiita_org-0.1.17 lib/qiita_org/list.rb
qiita_org-0.1.16 lib/qiita_org/list.rb
qiita_org-0.1.15 lib/qiita_org/list.rb
qiita_org-0.1.14 lib/qiita_org/list.rb
qiita_org-0.1.13 lib/qiita_org/list.rb
qiita_org-0.1.12 lib/qiita_org/list.rb
qiita_org-0.1.11 lib/qiita_org/list.rb
qiita_org-0.1.10 lib/qiita_org/list.rb
qiita_org-0.1.9 lib/qiita_org/list.rb
qiita_org-0.1.8 lib/qiita_org/list.rb