milkmaid 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,7 +8,7 @@ GEM
8
8
  fattr (2.2.0)
9
9
  git (1.2.5)
10
10
  gli (1.3.3)
11
- httparty (0.8.0)
11
+ httparty (0.8.1)
12
12
  multi_json
13
13
  multi_xml
14
14
  jeweler (1.6.4)
@@ -1,20 +1,16 @@
1
-
2
1
  = Milkmaid
3
-
4
2
  Milkmaid is a command-line client for Remember the Milk.
5
3
 
6
4
  ==Features
7
- * View a list of incomplete tasks, and their due dates
5
+ * View a list of incomplete tasks, their due dates, and their priorities by list
8
6
  * Complete a task
9
7
  * Postpone a task
10
8
  * Add a new task, setting properties using the Smart Add feature
11
9
 
12
10
  == Installing
13
-
14
- $ gem install milkmaid
11
+ $ gem install milkmaid
15
12
 
16
13
  == Authorizing
17
-
18
14
  Before you can connect to your tasks you must authorize the client.
19
15
 
20
16
  1. $ milkmaid auth start
@@ -24,58 +20,43 @@ Before you can connect to your tasks you must authorize the client.
24
20
  Now you are ready to work with your tasks.
25
21
 
26
22
  == Commands
23
+ Use the -h option to view a list of commands and options for each command.
27
24
 
28
- View a list of incomplete tasks and get task numbers. You will need a task
29
- number to do things to tasks like completing or postponing them. The task
30
- number appears at the beginning.
31
-
32
- $ milkmaid list
33
-
34
-
35
- Complete a task
36
-
37
- $ milkmaid complete <task number>
38
-
39
-
40
- Postpone a task
41
-
42
- $ milkmaid postpone <task number>
25
+ $ milkmaid -h
26
+ $ milkmaid task -h
43
27
 
28
+ == Working with tasks and lists
29
+ Whenever you want to reference a task or list, such as when completing a task or
30
+ viewing tasks within a specific list you must first view the tasks or lists in order
31
+ to load their ID numbers and assign them to a much easier to use local ID.
44
32
 
45
- Delete a task
46
-
47
- $ milkmaid delete <task number>
48
-
49
- Add a task (Use single quotes to contain the task name)
50
-
51
- Adding a task supports Remember the Milk's Smart Add feature. With it you
52
- can set properties such as the due date, priority, etc.
53
-
54
- $ milkmaid add '<task name>'
33
+ $ milkmaid list
34
+ $ milkmaid task
55
35
 
56
36
  == Version history
37
+ === 0.3.0
38
+ * See a list of available lists with the list command
39
+ * View incomplete tasks by list with the -l option
40
+ * Updated command structure. Use the -h option to see commands.
41
+ * Friendly message when unable to connect to server
57
42
 
58
43
  === 0.2.1
59
-
60
44
  * Fixed auth scenarios
61
45
 
62
-
63
46
  === 0.2.0
64
-
65
47
  * New delete command
66
48
  * Friendlier usage information
67
49
 
68
50
  === 0.1.1
69
-
70
51
  * Fixed an issue when listing tasks with recurrences that were completed
71
52
 
72
53
  === 0.1.0
73
-
74
54
  * Initial version
75
55
 
56
+ == Contact me
57
+ Follow me on twitter: @mariusgrigoriu
76
58
 
77
59
  == Contributing to Milkmaid
78
-
79
60
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
80
61
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
81
62
  * Fork the project
@@ -85,7 +66,6 @@ $ milkmaid add '<task name>'
85
66
  * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
86
67
 
87
68
  == Copyright
88
-
89
69
  Copyright (c) 2011 Marius Grigoriu. See LICENSE.txt for
90
70
  further details.
91
71
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
@@ -10,6 +10,22 @@ def milkmaid
10
10
  @milkmaid ||= Milkmaid.new
11
11
  end
12
12
 
13
+ def handle_exceptions
14
+ begin
15
+ yield
16
+ rescue RTM::NoTokenException
17
+ puts "Authentication token not found. Run `#{__FILE__} auth start`"
18
+ rescue Milkmaid::TaskNotFound
19
+ puts "Task ##{params['tasknum'].value} not found. Run `#{__FILE__} task` " +
20
+ "to load a list of tasks."
21
+ rescue Milkmaid::ListNotFound
22
+ puts "List ##{params['listnum'].value} not found. Run `#{__FILE__} list` " +
23
+ "to load lists."
24
+ rescue Errno::ETIMEDOUT
25
+ puts "Unable to connect to the server. Please try again later."
26
+ end
27
+ end
28
+
13
29
  Main {
14
30
  description "Milkmaid command-line client for Remember the Milk\n" +
15
31
  "If this is your first time running this, use the auth command to connect to your account."
@@ -19,20 +35,39 @@ Main {
19
35
  end
20
36
 
21
37
  mode :list do
22
- description "Lists all inactive tasks. Tasks that repeat are marked with a (R).\n" +
38
+ description "Display the available lists."
39
+
40
+ def run
41
+ handle_exceptions do
42
+ milkmaid.lists.each_with_index { |list, i| puts "#{i+1}: #{list['name']}" }
43
+ end
44
+ end
45
+ end
46
+
47
+ mode :task do
48
+ description "Lists inactive tasks. Tasks that repeat are marked with a (R).\n" +
23
49
  "If there is a due date, it appears to the right of the task. Tasks are color\n" +
24
50
  "coded by priority the same when viewed on the web. Tasks due today are in bold\n" +
25
51
  "while tasks that are overdue are underlined.\n" +
26
52
  "Use this command to assign a number to tasks so you may perform other actions."
27
-
53
+
54
+ option('listnum','l') {
55
+ argument :optional
56
+ cast :int
57
+ description <<-EOD
58
+ Show tasks that belong to the given list. Use the number as printed by the
59
+ list command.
60
+ EOD
61
+ }
62
+
28
63
  def run
29
- begin
30
- milkmaid.incomplete_tasks.each_with_index do |taskseries, i|
31
- task = Milkmaid::last_task taskseries
32
- text = "#{i+1}: #{taskseries['name']}"
33
- text << "(R)" unless taskseries['rrule'].nil?
34
- text << " #{Time.parse(Milkmaid::last_task(taskseries)['due']).getlocal.strftime(
35
- "%A %b %d, %Y %I:%M %p")}" unless task['due'].empty?
64
+ handle_exceptions do
65
+ milkmaid.incomplete_tasks(params['listnum'].value).each_with_index do |ts, i|
66
+ task = Milkmaid::last_task ts
67
+ text = "#{i+1}: #{ts['name']}"
68
+ text << "(R)" unless ts['rrule'].nil?
69
+ text << " #{Time.parse(Milkmaid::last_task(ts)['due']).getlocal.strftime(
70
+ "%A %b %d, %Y %I:%M %p")}" unless task['due'].empty?
36
71
  color = {
37
72
  '1'=>[234, 82, 0],
38
73
  '2'=>[0, 96, 191],
@@ -49,83 +84,57 @@ Main {
49
84
  end unless task['due'].empty?
50
85
  puts Paint[text, color[task['priority']], mode1, mode2]
51
86
  end
52
- rescue RTM::NoTokenException
53
- puts "Authentication token not found. Run `#{__FILE__} auth start`"
54
87
  end
55
88
  end
56
- end
89
+
90
+ mode :complete do
91
+ description "Marks a task as complete."
57
92
 
58
- mode :complete do
59
- description "Marks a task as complete."
93
+ argument(:tasknum) {
94
+ cast :int
95
+ description "The number of the task as printed by the list command."
96
+ }
60
97
 
61
- argument(:tasknum) {
62
- cast :int
63
- description "The number of the task as printed by the list command."
64
- }
65
-
66
- def run
67
- begin
68
- milkmaid.complete_task params['tasknum'].value
69
- rescue Milkmaid::TaskNotFound
70
- puts "Task ##{params['tasknum'].value} not found. Run `#{__FILE__} list` " +
71
- "to load a list of tasks."
72
- rescue RTM::NoTokenException
73
- puts "Authentication token not found. Run `#{__FILE__} auth start`"
98
+ def run
99
+ handle_exceptions { milkmaid.complete_task params['tasknum'].value }
74
100
  end
75
101
  end
76
- end
77
102
 
78
- mode :postpone do
79
- description "Extends the due date of a task."
103
+ mode :postpone do
104
+ description "Extends the due date of a task."
80
105
 
81
- argument(:tasknum) {
82
- cast :int
83
- description "The number of the task as printed by the list command."
84
- }
106
+ argument(:tasknum) {
107
+ cast :int
108
+ description "The number of the task as printed by the list command."
109
+ }
85
110
 
86
- def run
87
- begin
88
- milkmaid.postpone_task params['tasknum'].value
89
- rescue Milkmaid::TaskNotFound
90
- puts "Task ##{params['tasknum'].value} not found. Run `#{__FILE__} list` " +
91
- "to load a list of tasks."
92
- rescue RTM::NoTokenException
93
- puts "Authentication token not found. Run `#{__FILE__} auth start`"
111
+ def run
112
+ handle_exceptions { milkmaid.postpone_task params['tasknum'].value }
94
113
  end
95
114
  end
96
- end
97
115
 
98
- mode :delete do
99
- description "Gets rid of a task."
116
+ mode :delete do
117
+ description "Gets rid of a task."
100
118
 
101
- argument(:tasknum) {
102
- cast :int
103
- description "The number of the task as printed by the list command."
104
- }
119
+ argument(:tasknum) {
120
+ cast :int
121
+ description "The number of the task as printed by the list command."
122
+ }
105
123
 
106
- def run
107
- begin
108
- milkmaid.delete_task params['tasknum'].value
109
- rescue Milkmaid::TaskNotFound
110
- puts "Task ##{params['tasknum'].value} not found. Run `#{__FILE__} list` " +
111
- "to load a list of tasks."
112
- rescue RTM::NoTokenException
113
- puts "Authentication token not found. Run `#{__FILE__} auth start`"
124
+ def run
125
+ handle_exceptions { milkmaid.delete_task params['tasknum'].value }
114
126
  end
115
127
  end
116
- end
117
128
 
118
- mode :add do
119
- argument(:taskname)
129
+ mode :add do
130
+ argument(:taskname)
120
131
 
121
- def run
122
- begin
123
- milkmaid.add_task params['taskname'].value
124
- rescue RTM::NoTokenException
125
- puts "Authentication token not found. Run `#{__FILE__} auth start`"
132
+ def run
133
+ handle_exceptions { milkmaid.add_task params['taskname'].value }
126
134
  end
127
135
  end
128
136
  end
137
+
129
138
 
130
139
  mode :auth do
131
140
  description "Auth commands are used to connect Milkmaid to your account."
@@ -157,4 +166,12 @@ Main {
157
166
  end
158
167
  end
159
168
  end
169
+
170
+ mode :clean do
171
+ description "Cleans cached data out of the config file."
172
+
173
+ def run
174
+ milkmaid.clean
175
+ end
176
+ end
160
177
  }
@@ -15,10 +15,27 @@ class Milkmaid
15
15
  end
16
16
  end
17
17
 
18
- def incomplete_tasks
18
+ def lists
19
+ entries = @rtm.lists.get_list['lists']['list'].as_array
20
+ list_ids = entries.map { |list| list['id'] }
21
+ @config[:lists] = list_ids
22
+ save_config
23
+ entries
24
+ end
25
+
26
+ def incomplete_tasks(list=nil)
27
+ params = {}
28
+ unless list.nil?
29
+ if @config[:lists]
30
+ list = @config[:lists][list-1]
31
+ params[:list_id] = list unless list.nil?
32
+ end
33
+ raise ListNotFound if params.empty?
34
+ end
19
35
  entries = []
20
36
  list_id = nil
21
- @rtm.tasks.get_list['tasks']['list'].as_array.each do |items|
37
+ @rtm.tasks.get_list(params)['tasks']['list'].
38
+ as_array.each do |items|
22
39
  list_id = items['id']
23
40
  if !items['taskseries'].nil?
24
41
  items['taskseries'].as_array.each do |taskseries|
@@ -43,10 +60,10 @@ class Milkmaid
43
60
  result
44
61
  end
45
62
  end
46
- entries.each_with_index do |taskseries, i|
47
- @config["#{i+1}list_id"] = taskseries['list_id']
48
- @config["#{i+1}taskseries_id"] = taskseries['id']
49
- @config["#{i+1}task_id"] = Milkmaid::last_task(taskseries)['id']
63
+ @config[:tasks] = entries.map do |taskseries|
64
+ {:list_id => taskseries['list_id'],
65
+ :taskseries_id => taskseries['id'],
66
+ :task_id => Milkmaid::last_task(taskseries)['id']}
50
67
  end
51
68
  save_config
52
69
  entries
@@ -83,28 +100,31 @@ class Milkmaid
83
100
  save_config
84
101
  end
85
102
 
103
+ def clean
104
+ @config.delete_if { |k| k != :token }
105
+ save_config
106
+ end
107
+
86
108
  class TaskNotFound < StandardError
87
109
  end
88
110
 
111
+ class ListNotFound < StandardError
112
+ end
113
+
114
+ private
89
115
  def self.last_task(taskseries)
90
116
  taskseries['task'].as_array.last
91
117
  end
92
118
 
93
- private
94
119
  def save_config
95
120
  File.open(@config_file, 'w') { |f| YAML.dump(@config, f) }
96
121
  end
97
122
 
98
123
  def check_task_ids(tasknum)
99
- raise TaskNotFound if @config["#{tasknum}list_id"].nil? ||
100
- @config["#{tasknum}taskseries_id"].nil? ||
101
- @config["#{tasknum}task_id"].nil?
124
+ raise TaskNotFound if @config[:tasks].nil? || @config[:tasks][tasknum-1].nil?
102
125
  end
103
126
 
104
127
  def call_rtm_api(method, tasknum)
105
- @rtm.tasks.send method, :list_id=>@config["#{tasknum}list_id"],
106
- :taskseries_id=>@config["#{tasknum}taskseries_id"],
107
- :task_id=>@config["#{tasknum}task_id"],
108
- :timeline=>@timeline
128
+ @rtm.tasks.send method, @config[:tasks][tasknum-1].merge(:timeline=>@timeline)
109
129
  end
110
130
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "milkmaid"
8
- s.version = "0.2.1"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marius Grigoriu"]
12
- s.date = "2011-10-03"
12
+ s.date = "2011-10-10"
13
13
  s.description = "Milkmaid is a command-line client for Remember the Milk"
14
14
  s.email = "marius.grigoriu@live.com"
15
15
  s.executables = ["milkmaid"]
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
35
35
  s.homepage = "http://github.com/mariusgrigoriu/milkmaid"
36
36
  s.licenses = ["MIT"]
37
37
  s.require_paths = ["lib"]
38
- s.rubygems_version = "1.8.10"
38
+ s.rubygems_version = "1.8.11"
39
39
  s.summary = "Milkmaid is a command-line client for Remember the Milk"
40
40
 
41
41
  if s.respond_to? :specification_version then
@@ -41,6 +41,23 @@ describe "Milkmaid" do
41
41
  end
42
42
  end
43
43
 
44
+ describe 'listing lists' do
45
+ let(:a) {{"id"=>"21242147", "name"=>"Inbox", "deleted"=>"0", "locked"=>"1", "archived"=>"0", "position"=>"-1", "smart"=>"0", "sort_order"=>"0"}}
46
+
47
+ before do
48
+ rtm_double.stub_chain(:lists, :get_list) {{"stat"=>"ok", "lists"=>{"list"=>a}}}
49
+ end
50
+
51
+ it 'returns all lists' do
52
+ lib.lists.should == [a]
53
+ end
54
+
55
+ it 'assigns and stores a local ID number for each list' do
56
+ should_store_in_configuration({ :token=>'tsttoken', :lists=>['21242147'] })
57
+ lib.lists
58
+ end
59
+ end
60
+
44
61
  describe "listing tasks" do
45
62
  let(:a) {{"name"=>"a", "id"=>"ats", "task"=>{"completed"=>"", "priority"=>"1",
46
63
  "id"=>"at", "due"=>""}}}
@@ -53,8 +70,7 @@ describe "Milkmaid" do
53
70
  "id"=>"ct", "due"=>"2012-10-02T02:52:58Z"}}}
54
71
  let(:d) {{"name"=>"d", "id"=>"dts", "task"=>{"completed"=>"", "priority"=>"N",
55
72
  "id"=>"dt", "due"=>"2011-10-02T02:52:58Z"}}}
56
- before do
57
- RTM::RTM.stub_chain(:new, :tasks, :get_list) {
73
+ let(:response) {
58
74
  {"tasks"=>{"list"=>[{"id"=>"21242147", "taskseries"=>[
59
75
  a, b, c, d,
60
76
  {"name"=>"done task", "task"=>{"completed"=>"2011-10-02T02:52:58Z"}}
@@ -66,7 +82,40 @@ describe "Milkmaid" do
66
82
  {"id"=>"21242152"}],
67
83
  "rev"=>"4k555btb3vcwscc8g44sog8kw4ccccc"},
68
84
  "stat"=>"ok"}
69
- }
85
+ }
86
+
87
+ before do
88
+ tasks_double.stub(:get_list).and_return(response)
89
+ end
90
+
91
+ context 'when a list number is provided' do
92
+ it 'passes in a list_id if the list number is found' do
93
+ YAML.stub(:load_file) {{
94
+ :token=>'tsttoken',
95
+ :lists=>['tstlistid']
96
+ }}
97
+ tasks_double.should_receive(:get_list).with(:list_id=>'tstlistid')
98
+ lib.incomplete_tasks 1
99
+ end
100
+
101
+ it 'does not pass in a list_id if the list number is not found' do
102
+ YAML.stub(:load_file) {{
103
+ :token=>'tsttoken',
104
+ :lists=>['tstlistid']
105
+ }}
106
+ lambda { lib.incomplete_tasks 2 }.should raise_error(Milkmaid::ListNotFound)
107
+ end
108
+
109
+ it 'does not pass in a list_id if the list cache does not exist' do
110
+ lambda { lib.incomplete_tasks 2 }.should raise_error(Milkmaid::ListNotFound)
111
+ end
112
+ end
113
+
114
+ context 'when a list number is not provided' do
115
+ it 'does not pass in a list_id' do
116
+ tasks_double.should_receive(:get_list).with({})
117
+ lib.incomplete_tasks
118
+ end
70
119
  end
71
120
 
72
121
  it "returns all incomplete tasks in order of priority then due date" do
@@ -76,10 +125,12 @@ describe "Milkmaid" do
76
125
  it "assigns and stores a local ID number to each task for easy addressing" do
77
126
  should_store_in_configuration({
78
127
  :token=>'tsttoken',
79
- '1list_id'=>'21242147', '1taskseries_id'=>'bts', '1task_id'=>'bt',
80
- '2list_id'=>'21242147', '2taskseries_id'=>'ats', '2task_id'=>'at',
81
- '3list_id'=>'21242147', '3taskseries_id'=>'dts', '3task_id'=>'dt',
82
- '4list_id'=>'21242147', '4taskseries_id'=>'cts', '4task_id'=>'ct'
128
+ :tasks=>[
129
+ {:list_id=>'21242147', :taskseries_id=>'bts', :task_id=>'bt'},
130
+ {:list_id=>'21242147', :taskseries_id=>'ats', :task_id=>'at'},
131
+ {:list_id=>'21242147', :taskseries_id=>'dts', :task_id=>'dt'},
132
+ {:list_id=>'21242147', :taskseries_id=>'cts', :task_id=>'ct'}
133
+ ]
83
134
  })
84
135
  lib.incomplete_tasks
85
136
  end
@@ -148,6 +199,12 @@ describe "Milkmaid" do
148
199
  end
149
200
  end
150
201
  end
202
+
203
+ it 'cleans out the cache' do
204
+ YAML.stub(:load_file) {{ :token=>'tsttoken', 'junk'=>'trash' }}
205
+ should_store_in_configuration({:token=>'tsttoken'})
206
+ lib.clean
207
+ end
151
208
  end
152
209
 
153
210
  def should_store_in_configuration(config)
@@ -159,9 +216,9 @@ end
159
216
  def should_call_rtm_api(method, tasknum)
160
217
  YAML.stub(:load_file) {{
161
218
  :token=>'tsttoken',
162
- "#{tasknum}list_id"=>"#{tasknum}l",
163
- "#{tasknum}taskseries_id"=>"#{tasknum}ts",
164
- "#{tasknum}task_id"=>"#{tasknum}t"
219
+ :tasks=>(0...tasknum).collect do |n|
220
+ {:list_id=>"#{n+1}l", :taskseries_id=>"#{n+1}ts", :task_id=>"#{n+1}t"}
221
+ end
165
222
  }}
166
223
  tasks_double.should_receive(method).with(
167
224
  :list_id=>"#{tasknum}l", :taskseries_id=>"#{tasknum}ts",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: milkmaid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-03 00:00:00.000000000Z
12
+ date: 2011-10-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: main
16
- requirement: &70334228913400 !ruby/object:Gem::Requirement
16
+ requirement: &70207460096000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 4.7.7
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70334228913400
24
+ version_requirements: *70207460096000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: moocow
27
- requirement: &70334228912900 !ruby/object:Gem::Requirement
27
+ requirement: &70207460095400 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70334228912900
35
+ version_requirements: *70207460095400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: paint
38
- requirement: &70334228878440 !ruby/object:Gem::Requirement
38
+ requirement: &70207460094800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.8.3
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70334228878440
46
+ version_requirements: *70207460094800
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70334228877960 !ruby/object:Gem::Requirement
49
+ requirement: &70207460094200 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70334228877960
57
+ version_requirements: *70207460094200
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70334228798560 !ruby/object:Gem::Requirement
60
+ requirement: &70207460093620 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70334228798560
68
+ version_requirements: *70207460093620
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70334228798000 !ruby/object:Gem::Requirement
71
+ requirement: &70207460093040 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70334228798000
79
+ version_requirements: *70207460093040
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: ZenTest
82
- requirement: &70334228797480 !ruby/object:Gem::Requirement
82
+ requirement: &70207460092460 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70334228797480
90
+ version_requirements: *70207460092460
91
91
  description: Milkmaid is a command-line client for Remember the Milk
92
92
  email: marius.grigoriu@live.com
93
93
  executables:
@@ -125,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  segments:
127
127
  - 0
128
- hash: -1264874012981768680
128
+ hash: 4484778310645484132
129
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  none: false
131
131
  requirements:
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  version: '0'
135
135
  requirements: []
136
136
  rubyforge_project:
137
- rubygems_version: 1.8.10
137
+ rubygems_version: 1.8.11
138
138
  signing_key:
139
139
  specification_version: 3
140
140
  summary: Milkmaid is a command-line client for Remember the Milk