atm 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/bin/atm CHANGED
@@ -2,42 +2,4 @@
2
2
 
3
3
  require 'atm'
4
4
 
5
- include ATM
6
-
7
- case ARGV.first
8
-
9
- when "c", "console"
10
- ARGV.shift
11
- require 'irb'
12
- require 'irb/completion'
13
- IRB.start
14
-
15
- when "all"
16
- ATM::Task.all.each do |task|
17
- print "#{task.due} #{task.name}\n"
18
- end
19
-
20
- when nil, "now", "today"
21
- tasks = ATM::Task.all
22
-
23
- range_start = Time.new.beginning_of_day
24
- range_end = range_start + 1.day
25
-
26
- tasks.each do |task|
27
- if not task.due or ( range_start <= task.due and task.due < range_end )
28
- due = " "*5
29
- if task.due and task.due != ""
30
- if task.has_due_time
31
- due = task.due.localtime.strftime("%H:%M")
32
- else
33
- due = "today"
34
- end
35
- end
36
- print "#{due} #{task.name}\n"
37
- end
38
- end
39
-
40
- else
41
- print "TODO usage\n"
42
-
43
- end
5
+ ATM::CLI.run 'atm/cli', 'today'
data/lib/atm.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'atm/cli'
1
2
  require 'atm/ext'
2
3
  require 'atm/list'
3
4
  require 'atm/rtm'
@@ -0,0 +1,13 @@
1
+ module ATM
2
+ module CLI
3
+ def CLI.run(basedir, default = nil)
4
+ begin
5
+ command = ARGV.shift || default
6
+ throw LoadError unless /^\w*$/ =~ command
7
+ require basedir + '/' + command
8
+ rescue LoadError, ArgumentError
9
+ require basedir + '/usage'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ require 'atm'
2
+
3
+ ATM::Task.all.each do |task|
4
+ print "#{task.due} #{task.name}\n"
5
+ end
@@ -0,0 +1,7 @@
1
+ require 'atm'
2
+ require 'irb'
3
+ require 'irb/completion'
4
+
5
+ include ATM
6
+
7
+ IRB.start
@@ -0,0 +1,3 @@
1
+ require 'atm/cli'
2
+
3
+ ATM::CLI.run 'atm/cli/list'
@@ -0,0 +1,10 @@
1
+ require 'atm'
2
+
3
+ name = ARGV.join(' ')
4
+
5
+ if /./ =~ name
6
+ list = ATM::List.new :name => name
7
+ list.save!
8
+ else
9
+ print "Need to specify a name\n"
10
+ end
@@ -0,0 +1 @@
1
+ print "Command not found.\n"
@@ -0,0 +1,20 @@
1
+ require 'atm'
2
+
3
+ tasks = ATM::Task.all
4
+
5
+ range_start = Time.new.beginning_of_day
6
+ range_end = range_start + 1.day
7
+
8
+ tasks.each do |task|
9
+ if not task.due or ( range_start <= task.due and task.due < range_end )
10
+ due = " "*5
11
+ if task.due and task.due != ""
12
+ if task.has_due_time
13
+ due = task.due.localtime.strftime("%H:%M")
14
+ else
15
+ due = "today"
16
+ end
17
+ end
18
+ print "#{due} #{task.name}\n"
19
+ end
20
+ end
@@ -0,0 +1 @@
1
+ print "Command not found.\n"
@@ -2,7 +2,7 @@ require 'atm'
2
2
 
3
3
  module ATM
4
4
  class List
5
- attr_reader :taskseries, :id
5
+ attr_reader :taskseries, :id, :name
6
6
 
7
7
  def List.all
8
8
  lists = RTM.tasks.get_list.tasks.list.in_array
@@ -12,14 +12,28 @@ module ATM
12
12
  end
13
13
 
14
14
  def initialize(obj)
15
+ load_values obj
16
+ end
17
+
18
+ def load_values(obj)
15
19
  obj = Hashie::Mash.new obj
16
20
  @id = obj.id
21
+ @name = obj.name
17
22
  @taskseries = obj.taskseries.in_array.map do |t|
18
23
  t.list = self
19
24
  Taskseries.new t
20
25
  end
21
26
  end
22
27
 
28
+ def save!
29
+ if @id.nil?
30
+ rsp = RTM.lists.add :name => name
31
+ load_values rsp.list
32
+ else
33
+ throw NotImplementedError
34
+ end
35
+ end
36
+
23
37
  def delete!
24
38
  @taskseries.each do |task|
25
39
  taskseries.delete!
@@ -1,3 +1,3 @@
1
1
  module ATM
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-30 00:00:00.000000000 Z
12
+ date: 2012-07-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie
@@ -43,6 +43,14 @@ files:
43
43
  - atm.gemspec
44
44
  - bin/atm
45
45
  - lib/atm.rb
46
+ - lib/atm/cli.rb
47
+ - lib/atm/cli/all.rb
48
+ - lib/atm/cli/console.rb
49
+ - lib/atm/cli/list.rb
50
+ - lib/atm/cli/list/new.rb
51
+ - lib/atm/cli/list/usage.rb
52
+ - lib/atm/cli/today.rb
53
+ - lib/atm/cli/usage.rb
46
54
  - lib/atm/ext.rb
47
55
  - lib/atm/list.rb
48
56
  - lib/atm/rtm.rb