Class: GetFileUrl

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita_org/get_file_url.rb

Instance Method Summary collapse

Constructor Details

#initialize(id, file, mode) ⇒ GetFileUrl

Returns a new instance of GetFileUrl.



9
10
11
12
13
14
15
16
# File 'lib/qiita_org/get_file_url.rb', line 9

def initialize(id, file, mode)
  @id = id
  @file = file
  @mode = (mode == "qiita" || mode == "open")? "public" : mode
  search = SearchConfPath.new(Dir.pwd, Dir.home)
  @conf_dir = search.search_conf_path()
  set_config()
end

Instance Method Details

#access_qiita(access_token, qiita, path) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/qiita_org/get_file_url.rb', line 37

def access_qiita(access_token, qiita, path)
  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)
  return items
end

#get_file_urlObject



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/qiita_org/get_file_url.rb', line 25

def get_file_url()
  qiita = (@mode == "teams")? @teams_url : "https://qiita.com/"
  path = "api/v2/items/#{@id}"

  items = access_qiita(@access_token, qiita, path)

  file_url = items["body"].match(/\!\[#{@file}\]\(((.+))\)/)[2]
  return file_url

  #File.write("url_text.md", items["body"])
end

#set_configObject



18
19
20
21
22
23
# File 'lib/qiita_org/get_file_url.rb', line 18

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