class Qiita2Evernote::Cli
Public Instance Methods
init()
click to toggle source
# File lib/qiita2evernote/cli.rb, line 10 def init require 'io/console' puts "What is your qiita API token?" puts " - If you have not API token, let's get it from [https://qiita.com/settings/applications]." print "your id: " qiita_id = STDIN.gets.chop || "" qiita_id = ENV["QIITA_ID"] if qiita_id.empty? print "token: " qiita_token = STDIN.gets.chop || "" qiita_token = ENV["QIITA_TOKEN"] if qiita_token.empty? puts "" puts "What is your evernote token?" puts " - If you have not token, let's get it from [https://www.evernote.com/api/DeveloperToken.action]." print "token: " evernote_token = STDIN.gets.chop || "" evernote_token = ENV["EVERNOTE_TOKEN"] if evernote_token.empty? print "note store: " evernote_note_store = STDIN.gets.chop || "" evernote_note_store = ENV["EVERNOTE_NOTE_STORE"] if evernote_note_store.empty? puts "" puts "Evernote default notebook" print "default notebook: " evernote_defulat_notebook = STDIN.gets.chop || "" evernote_defulat_notebook = ENV["EVERNOTE_DEFAULT_NOTEBOOK"] if evernote_defulat_notebook.empty? File.open(".env", 'w') do |f| f.write("QIITA_ID=\"#{qiita_id}\"\n") unless qiita_id.empty? f.write("QIITA_TOKEN=\"#{qiita_token}\"\n") unless qiita_token.empty? f.write("EVERNOTE_TOKEN=\"#{evernote_token}\"\n") unless evernote_token.empty? f.write("EVERNOTE_NOTE_STORE=\"#{evernote_note_store}\"\n") unless evernote_note_store.empty? f.write("EVERNOTE_DEFAULT_NOTEBOOK=\"#{evernote_defulat_notebook}\"\n") unless evernote_defulat_notebook.empty? end end
notebooks()
click to toggle source
# File lib/qiita2evernote/cli.rb, line 56 def notebooks # Get your note store object note_store = evernote.evernote_client # List all of the notebooks in the user's account notebooks = note_store.listNotebooks(ENV["EVERNOTE_TOKEN"]) puts "Found #{notebooks.size} notebooks:" notebooks.sort_by{|n| n.name}.each do |notebook| puts " * #{notebook.name}" end end
q2e()
click to toggle source
# File lib/qiita2evernote/cli.rb, line 69 def q2e # Get your note store object note_store_client = evernote.evernote_client # Get your qiita stock items items = qiita.stock_items(ENV["QIITA_ID"]) # Get your default notebook object notebooks = note_store_client.listNotebooks(ENV["EVERNOTE_TOKEN"]) default_note_book = notebooks.find{|n| n.name == ENV["EVERNOTE_DEFAULT_NOTEBOOK"]} error = [] items.each do |item| begin if evernote.same_title_note_exist?(item['title']) puts "#{item['title']} is exist. skip." next end note = evernote.create_note( item['title'], evernote.to_enml_from(item['rendered_body']), default_note_book.guid) evernote.upload_evernote(note) rescue => e error << Qiita2Evernote::Error.new(item, e) next end puts "Created #{item['title']} in evernote." sleep 0.2 end error.each do |e| e.out end end
stocks()
click to toggle source
# File lib/qiita2evernote/cli.rb, line 47 def stocks items = qiita.stock_items(ENV["QIITA_ID"]) items.each do |item| p item["title"] end end
Private Instance Methods
evernote()
click to toggle source
# File lib/qiita2evernote/cli.rb, line 110 def evernote @evernote ||= Qiita2Evernote::Client::Evernote.new(ENV["EVERNOTE_TOKEN"], ENV['EVERNOTE_NOTE_STORE']) end
qiita()
click to toggle source
# File lib/qiita2evernote/cli.rb, line 107 def qiita @qiita ||= Qiita2Evernote::Client::Qiita.new(ENV["QIITA_TOKEN"]) end