class Todo::Src::Idonthis

Constants

URL

Public Instance Methods

include?(item) click to toggle source
# File lib/todo/src/idonethis.rb, line 9
def include?(item)
  texts.include?(item.text) or ids.include?(item.id)
end
write(lines) click to toggle source
# File lib/todo/src/idonethis.rb, line 13
def write(lines)
  lines.each { |line| post(line) }
end

Private Instance Methods

fetch() click to toggle source
# File lib/todo/src/idonethis.rb, line 31
def fetch
  JSON.parse(get.body)['results'] || []
end
get() click to toggle source
# File lib/todo/src/idonethis.rb, line 35
def get
  Http.new(URL, headers: headers, params: params).get
end
headers() click to toggle source
# File lib/todo/src/idonethis.rb, line 43
def headers
  { 'Authorization' => "Token #{config[:token]}" }
end
ids() click to toggle source
# File lib/todo/src/idonethis.rb, line 23
def ids
  items.map(&:id).compact
end
items() click to toggle source
# File lib/todo/src/idonethis.rb, line 27
def items
  @items ||= fetch.map { |item| Item.new(nil, item['raw_text']) }
end
params() click to toggle source
# File lib/todo/src/idonethis.rb, line 47
def params
  { owner: config[:username], team: config[:team], done_date_after: opts[:after], page_size: 100 }
end
post(text) click to toggle source
# File lib/todo/src/idonethis.rb, line 39
def post(text)
  Http.new(URL, headers: headers).post(raw_text: text, team: config[:team])
end
texts() click to toggle source
# File lib/todo/src/idonethis.rb, line 19
def texts
  items.map(&:text)
end