Module: Idonethis::UseCases::New

Defined in:
lib/idonethis/use_cases/new.rb

Class Method Summary collapse

Class Method Details

.apply(credential, args = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/idonethis/use_cases/new.rb', line 4

def apply(credential, args={})
  log       = args[:log]      || fail("You need to supply :internet adapter")
  internet  = args[:internet] || fail("You need to supply :internet adapter")
  team      = args[:team]
  date      = args[:date]
  
  log.call "args: #{args}"
  log.call "overriding team <#{credential[:team]}> with <#{team}>"

  body = { 
      "raw_text"  => args[:message], 
      "team"      => (team || credential[:team])
  }

  if date
    date = Calendar.yesterday.to_s if date == 'yesterday'
    body = body.merge({"done_date" => Calendar.day_string(Time.parse(date))})
  end
  
  log.call body
  
  parse internet.post(
    Idonethis::Index.dones,
    { "Authorization" => "Token #{credential[:token]}", accept: "application/json"},
    body
  )
end

.usageObject



32
33
34
# File 'lib/idonethis/use_cases/new.rb', line 32

def usage
  %Q{new -m "Birthday shopping + sushi lunch" --date 1-Oct-2015}
end