todo-curses 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 364b06f70215a62401102eb261da618bb3266e55
4
- data.tar.gz: c714802c916233c242d6de543b9fa23d5bb968bb
3
+ metadata.gz: 732f87d6a1d0039ec07cfdc464b9a81bf82ba1e3
4
+ data.tar.gz: f3111293b08d469ea38f092dc3a6319305a8e3f6
5
5
  SHA512:
6
- metadata.gz: e7b253fd3d83971f390fa44d1d4587d63eda1496246a0a6bddc939533f393edfc1182f6cb6384db45b4538ef6cdb0f4a918b3697bae8b9d0033d4d9a6dde9a92
7
- data.tar.gz: 1afe50ddf112f801d31ac13afdcff4f2bad559bf76d8a571f968fac4847e3eec1453c5d66765e611b4621c200687dec453f5da6d603c8aab4d07c5b5c1df7f36
6
+ metadata.gz: 133900726e93cc036678fd9cc165655ebd91daf5854ccf3db4b177f970e94eb5045041223e76ead393ca3a9f42c19c2f97bfe7ec6ce07a4c4470365c4d27066d
7
+ data.tar.gz: 2f1b823f7438d4cee0e8280d6623db11fd39369274cfa5348d0994c99a30f47024911a8721502f3cbc9e456f097dd1e2ac68e7177e19b6a621c17e4e5d1d5fc6
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- todo-curses (0.0.4)
4
+ todo-curses (0.0.5)
5
5
  methadone (~> 1.9, >= 1.9.2)
6
6
  ncursesw (~> 1.4, >= 1.4.9)
7
+ todo-txt (~> 0.7)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
@@ -62,6 +63,7 @@ GEM
62
63
  test-unit (3.1.8)
63
64
  power_assert
64
65
  thor (0.19.1)
66
+ todo-txt (0.7)
65
67
  unicode-display_width (1.0.2)
66
68
 
67
69
  PLATFORMS
data/README.md CHANGED
@@ -31,7 +31,14 @@ Grab the gem:
31
31
  Then you'll probably want to make an alias in your .\*rc file. Here's
32
32
  mine:
33
33
 
34
- alias tt#"todo-curses list \~/dev/todo/todo.txt"
34
+ alias t="todo.sh"
35
+ alias tt="vim ~/dev/todo/todo.txt"
36
+ alias ts="cd ~/dev/todo;./save.sh;cd -;t archive"
37
+ alias ttt="todo-curses ~/dev/todo/todo.txt"
38
+
39
+ This gives three ways to interact with the todo.txt file, depending
40
+ on the task at hand. Because todo-curses is still in the experimental
41
+ phase, I use Vim for my day-to-day work.
35
42
 
36
43
  ## Current features
37
44
 
@@ -44,53 +51,6 @@ mine:
44
51
  - Move priority up with `shift+k`
45
52
  - Completed tasks are archived to done.txt on exit
46
53
 
47
- ## Planned features
48
-
49
- - Safer file handling (confirmations, errors, etc.)
50
- - Use ctrl instead of shift for priority change
51
- - Color code priorities
52
- - Add a spacer between priority groups
53
- - Priority view with `ctrl+1`
54
- - Project view with `ctrl+2`
55
- - Strip out application wrapper; not needed
56
- - Prep for release as a gem
57
- - If no argument is given, open the default file. Default tbd.
58
-
59
- ## Ideas for later
60
-
61
- - Shift+J: Cycle through displays (Priority, project, etc.)
62
- - F: filter tasks (free-text, one filter condition per line)
63
- - T: append text to selected tasks
64
- - O or Ctrl+O: open todo.txt file
65
- - C or Ctrl+N: new todo.txt file
66
-
67
- ## Things not included
68
-
69
- - A: archive tasks
70
- - Ctrl+C: copy task to clipboard
71
- - Ctrl+Shift+C: copy task to edit field
72
- - Win+Alt+T: hide/unhide windows
73
- - 0: clear filter
74
- - 1-9: apply numbered filter preset
75
-
76
- ## Keyboard shortcut ideas
77
-
78
- - N: new task
79
- - J: next task
80
- - K: prev task
81
- - X: toggle task completion
82
- - D or Del or Backspace: delete task (with confirmation)
83
- - E or F2: update task
84
- - I: set priority
85
- - . or F5: reload tasks from file
86
- - ?: show help
87
- - Shift+K: increase priority
88
- - Shift+J: decrease priority
89
- - Alt+Left/Right: clear priority
90
- - Ctrl+Alt+Up: increase due date by 1 day
91
- - Ctrl+Alt+Down: decrease due date by 1 day
92
- - Ctrl+Alt+Left/Right: remove due date
93
-
94
54
  ## Development
95
55
 
96
56
  To release a new version, update
data/Rakefile CHANGED
@@ -23,6 +23,7 @@ def dump_load_path
23
23
  puts "Found in #{path}"
24
24
  end
25
25
  end
26
+
26
27
  require 'bundler'
27
28
  require 'rake/clean'
28
29
 
@@ -38,12 +39,10 @@ include Rake::DSL
38
39
 
39
40
  Bundler::GemHelper.install_tasks
40
41
 
41
-
42
42
  Rake::TestTask.new do |t|
43
- t.pattern = 'test/tc_*.rb'
43
+ t.pattern = 'test/*.rb'
44
44
  end
45
45
 
46
-
47
46
  CUKE_RESULTS = 'results.html'
48
47
  CLEAN << CUKE_RESULTS
49
48
  Cucumber::Rake::Task.new(:features) do |t|
@@ -52,20 +51,12 @@ Cucumber::Rake::Task.new(:features) do |t|
52
51
  end
53
52
 
54
53
  Rake::RDocTask.new do |rd|
55
-
56
54
  rd.main = "README.rdoc"
57
-
58
55
  rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
59
56
  end
60
57
 
61
58
  task :default => [:test,:features]
62
59
 
63
- # Run the test application
64
- desc 'run'
65
- task :run do
66
- sh 'bundle exec bin/todo-curses list todo.txt'
67
- end
68
-
69
60
  # Reset the testing todo.txt file, if you have one.
70
61
  desc 'reset'
71
62
  task :reset do
@@ -77,5 +68,3 @@ desc 'Lint Ruby'
77
68
  RuboCop::RakeTask.new(:rubocop) do |t|
78
69
  t.patterns = ['bin/**/*.rb', 'lib/**/*.rb']
79
70
  end
80
-
81
- task default: :run
@@ -1,3 +1,3 @@
1
1
  module TodoCurses
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -116,14 +116,14 @@ module TodoCurses
116
116
  # Moves the current selection's priority up by one unless it is at Z.
117
117
  def priority_up
118
118
  item = @menu.current_item.user_object
119
- item.priority_inc
119
+ item.priority_inc!
120
120
  save_list
121
121
  end
122
122
 
123
123
  # Moves the current selection's priority down by one unless it is at A.
124
124
  def priority_down
125
125
  item = @menu.current_item.user_object
126
- item.priority_dec
126
+ item.priority_dec!
127
127
  save_list
128
128
  end
129
129
 
data/lib/TodoCurses.rb CHANGED
@@ -1,11 +1,9 @@
1
- require 'TodoCurses/list.rb'
2
- require 'TodoCurses/logger.rb'
3
1
  require 'TodoCurses/view.rb'
4
2
  require 'TodoCurses/version.rb'
5
- require 'TodoCurses/task.rb'
3
+ require 'todo-txt'
6
4
 
7
5
  module TodoCurses
8
- include Logger
6
+ include Todo
9
7
 
10
8
  if ARGV.size != 1
11
9
  printf("usage: #{$PROGRAM_NAME} file\n")
data/todo-curses.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency('aruba', '~> 0.14.1')
23
23
  spec.add_dependency('methadone', '~> 1.9', '>= 1.9.2')
24
24
  spec.add_dependency('ncursesw', '~> 1.4', '>= 1.4.9')
25
+ spec.add_dependency('todo-txt', '~> 0.7')
25
26
  spec.add_development_dependency('test-unit', '~> 3.1', '>= 3.1.8')
26
27
  spec.add_development_dependency('rubocop', '~> 0.39.0')
27
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: todo-curses
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loren Rogers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-30 00:00:00.000000000 Z
11
+ date: 2016-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -112,6 +112,20 @@ dependencies:
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: 1.4.9
115
+ - !ruby/object:Gem::Dependency
116
+ name: todo-txt
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '0.7'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '0.7'
115
129
  - !ruby/object:Gem::Dependency
116
130
  name: test-unit
117
131
  requirement: !ruby/object:Gem::Requirement
@@ -162,16 +176,12 @@ files:
162
176
  - Gemfile.lock
163
177
  - LICENSE.txt
164
178
  - README.md
165
- - README.rdoc
166
179
  - Rakefile
167
180
  - bin/console
168
181
  - bin/setup
169
182
  - bin/todo-curses
170
183
  - images/todo-curses-demo.gif
171
184
  - lib/TodoCurses.rb
172
- - lib/TodoCurses/list.rb
173
- - lib/TodoCurses/logger.rb
174
- - lib/TodoCurses/task.rb
175
185
  - lib/TodoCurses/version.rb
176
186
  - lib/TodoCurses/view.rb
177
187
  - todo-curses.gemspec
data/README.rdoc DELETED
@@ -1,19 +0,0 @@
1
- = todo-curses - DESCRIBE YOUR GEM
2
-
3
- Author:: YOUR NAME (YOUR EMAIL)
4
- Copyright:: Copyright (c) 2016 YOUR NAME
5
-
6
-
7
- DESCRIBE YOUR GEM HERE
8
-
9
- == Links
10
-
11
- * {Source on Github}[LINK TO GITHUB]
12
- * RDoc[LINK TO RDOC.INFO]
13
-
14
- == Install
15
-
16
- == Examples
17
-
18
- == Contributing
19
-
@@ -1,88 +0,0 @@
1
- module TodoCurses
2
- # Handles todo.txt list files
3
- class List < Array
4
- # Initializes a Todo List object with a path to the corresponding todo.txt
5
- # file. For example, if your todo.txt file is located at:
6
- #
7
- # /home/sam/Dropbox/todo/todo.txt
8
- #
9
- # You would initialize this object like:
10
- #
11
- # list = TodoCurses::List.new "/home/sam/Dropbox/todo/todo-txt"
12
- #
13
- # Alternately, you can initialize this object with an array of strings or
14
- # tasks. If the array is of strings, the strings will be converted into
15
- # tasks. You can supply a mixed list of string and tasks if you wish.
16
- #
17
- # Example:
18
- #
19
- # array = Array.new
20
- # array.push "(A) A string task!"
21
- # array.push TodoCurses::Task.new("(A) An actual task!")
22
- #
23
- # list = TodoCurses::List.new array
24
- def initialize(list)
25
- if list.is_a? Array
26
- # No file path was given.
27
- @path = nil
28
-
29
- # If path is an array, loop over it, adding to self.
30
- list.each do |task|
31
- # If it's a string, make a new task out of it.
32
- if task.is_a? String
33
- push TodoCurses::Task.new task
34
- # If it's a task, just add it.
35
- elsif task.is_a? TodoCurses::Task
36
- push task
37
- end
38
- end
39
- elsif list.is_a? String
40
- @path = list
41
-
42
- # Read in lines from file, create TodoCurses::Tasks out of them and push them
43
- # onto self.
44
- File.open(list) do |file|
45
- file.each_line { |line| push TodoCurses::Task.new line }
46
- end
47
- end
48
- end
49
-
50
- # The path to the todo.txt file that you supplied when you created the
51
- # TodoCurses::List object.
52
- def path
53
- @path
54
- end
55
-
56
- # Filters the list by priority and returns a new list.
57
- #
58
- # Example:
59
- #
60
- # list = TodoCurses::List.new "/path/to/list"
61
- # list.by_priority "A" #=> Will be a new list with only priority A tasks
62
- def by_priority(priority)
63
- TodoCurses::List.new select { |task| task.priority == priority }
64
- end
65
-
66
- # Filters the list by context and returns a new list.
67
- #
68
- # Example:
69
- #
70
- # list = TodoCurses::List.new "/path/to/list"
71
- # list.by_context "@context" #=> Will be a new list with only tasks
72
- # containing "@context"
73
- def by_context(context)
74
- TodoCurses::List.new select { |task| task.contexts.include? context }
75
- end
76
-
77
- # Filters the list by project and returns a new list.
78
- #
79
- # Example:
80
- #
81
- # list = TodoCurses::List.new "/path/to/list"
82
- # list.by_project "+project" #=> Will be a new list with only tasks
83
- # containing "+project"
84
- def by_project(project)
85
- TodoCurses::List.new select { |task| task.projects.include? project }
86
- end
87
- end
88
- end
@@ -1,21 +0,0 @@
1
- require 'logger'
2
-
3
- module TodoCurses
4
- module Logger
5
- def self.included base
6
- base.extend(self)
7
- end
8
-
9
- def self.logger= new_logger
10
- @@logger = new_logger
11
- end
12
-
13
- def self.logger
14
- @@logger ||= ::Logger.new(STDOUT)
15
- end
16
-
17
- def logger
18
- TodoCurses::Logger.logger
19
- end
20
- end
21
- end
@@ -1,339 +0,0 @@
1
- require 'date'
2
-
3
- module TodoCurses
4
- class Task
5
- include Comparable
6
- include TodoCurses::Logger
7
-
8
- # The regular expression used to match contexts.
9
- def self.contexts_regex
10
- /(?:\s+|^)@\w+/
11
- end
12
-
13
- # The regex used to match projects.
14
- def self.projects_regex
15
- /(?:\s+|^)\+\w+/
16
- end
17
-
18
- # The regex used to match priorities.
19
- def self.priority_regex
20
- /(?:^|\s+)\(([A-Za-z])\)\s+/
21
- end
22
-
23
- # The regex used to match creation date.
24
- def self.created_on_regex
25
- /(?:^|-\d{2}\s|\)\s)(\d{4}-\d{2}-\d{2})\s/
26
- end
27
-
28
- # The regex used to match completion.
29
- def self.done_regex
30
- /^x\s+(\d{4}-\d{2}-\d{2})\s+/
31
- end
32
-
33
- # The regex used to match due date.
34
- def self.due_on_regex
35
- /(?:due:)(\d{4}-\d{2}-\d{2})(?:\s+|$)/i
36
- end
37
-
38
- # Creates a new task. The argument that you pass in must be the string
39
- # representation of a task.
40
- #
41
- # Example:
42
- #
43
- # task = TodoCurses::Task.new("(A) A high priority task!")
44
- def initialize task
45
- @orig = task
46
- @completed_on = get_completed_date #orig.scan(self.class.done_regex)[1] ||= nil
47
- @priority, @created_on = orig_priority, orig_created_on
48
- @due_on = get_due_on_date
49
- @contexts ||= orig.scan(self.class.contexts_regex).map { |item| item.strip }
50
- @projects ||= orig.scan(self.class.projects_regex).map { |item| item.strip }
51
- end
52
-
53
- # Returns the original content of the task.
54
- #
55
- # Example:
56
- #
57
- # task = TodoCurses::Task.new "(A) @context +project Hello!"
58
- # task.orig #=> "(A) @context +project Hello!"
59
- attr_reader :orig
60
-
61
- # Returns the task's creation date, if any.
62
- #
63
- # Example:
64
- #
65
- # task = TodoCurses::Task.new "(A) 2012-03-04 Task."
66
- # task.created_on
67
- # #=> <Date: 2012-03-04 (4911981/2,0,2299161)>
68
- #
69
- # Dates _must_ be in the YYYY-MM-DD format as specified in the todo.txt
70
- # format. Dates in any other format will be classed as malformed and this
71
- # attribute will be nil.
72
- attr_reader :created_on
73
-
74
- # Returns the task's completion date if task is done.
75
- #
76
- # Example:
77
- #
78
- # task = TodoCurses::Task.new "x 2012-03-04 Task."
79
- # task.completed_on
80
- # #=> <Date: 2012-03-04 (4911981/2,0,2299161)>
81
- #
82
- # Dates _must_ be in the YYYY-MM-DD format as specified in the todo.txt
83
- # format. Dates in any other format will be classed as malformed and this
84
- # attribute will be nil.
85
- attr_reader :completed_on
86
-
87
- # Returns the task's due date, if any.
88
- #
89
- # Example:
90
- #
91
- # task = TodoCurses::Task.new "(A) This is a task. due:2012-03-04"
92
- # task.due_on
93
- # #=> <Date: 2012-03-04 (4911981/2,0,2299161)>
94
- #
95
- # Dates _must_ be in the YYYY-MM-DD format as specified in the todo.txt
96
- # format. Dates in any other format will be classed as malformed and this
97
- # attribute will be nil.
98
- attr_reader :due_on
99
-
100
- # Returns the priority, if any.
101
- #
102
- # Example:
103
- #
104
- # task = TodoCurses::Task.new "(A) Some task."
105
- # task.priority #=> "A"
106
- #
107
- # task = TodoCurses::Task.new "Some task."
108
- # task.priority #=> nil
109
- attr_reader :priority
110
-
111
- # Returns an array of all the @context annotations.
112
- #
113
- # Example:
114
- #
115
- # task = Todo:Task.new "(A) @context Testing!"
116
- # task.context #=> ["@context"]
117
- attr_reader :contexts
118
-
119
- # Returns an array of all the +project annotations.
120
- #
121
- # Example:
122
- #
123
- # task = Todo:Task.new "(A) +test Testing!"
124
- # task.projects #=> ["+test"]
125
- attr_reader :projects
126
-
127
- # Gets just the text content of the todo, without the priority, contexts
128
- # and projects annotations.
129
- #
130
- # Example:
131
- #
132
- # task = TodoCurses::Task.new "(A) @test Testing!"
133
- # task.text #=> "Testing!"
134
- def text
135
- @text ||= orig.
136
- gsub(self.class.done_regex, '').
137
- gsub(self.class.priority_regex, '').
138
- gsub(self.class.created_on_regex, '').
139
- gsub(self.class.contexts_regex, '').
140
- gsub(self.class.projects_regex, '').
141
- gsub(self.class.due_on_regex, '').
142
- strip
143
- end
144
-
145
- # Returns the task's creation date, if any.
146
- #
147
- # Example:
148
- #
149
- # task = TodoCurses::Task.new "(A) 2012-03-04 Task."
150
- # task.date
151
- # #=> <Date: 2012-03-04 (4911981/2,0,2299161)>
152
- #
153
- # Dates _must_ be in the YYYY-MM-DD format as specified in the todo.txt
154
- # format. Dates in any other format will be classed as malformed and this
155
- # method will return nil.
156
- #
157
- # Deprecated
158
- def date
159
- logger.warn("Task#date is deprecated, use created_on instead.")
160
-
161
- @created_on
162
- end
163
-
164
- # Returns whether a task's due date is in the past.
165
- #
166
- # Example:
167
- #
168
- # task = TodoCurses::Task.new("This task is overdue! due:#{Date.today - 1}")
169
- # task.overdue?
170
- # #=> true
171
- def overdue?
172
- return true if !due_on.nil? && due_on < Date.today
173
- false
174
- end
175
-
176
- # Returns if the task is done.
177
- #
178
- # Example:
179
- #
180
- # task = TodoCurses::Task.new "x 2012-12-08 Task."
181
- # task.done?
182
- # #=> true
183
- #
184
- # task = TodoCurses::Task.new "Task."
185
- # task.done?
186
- # #=> false
187
- def done?
188
- !@completed_on.nil?
189
- end
190
-
191
- # Completes the task on the current date.
192
- #
193
- # Example:
194
- #
195
- # task = TodoCurses::Task.new "2012-12-08 Task."
196
- # task.done?
197
- # #=> false
198
- #
199
- # task.do!
200
- # task.done?
201
- # #=> true
202
- # task.created_on
203
- # #=> <Date: 2012-12-08 (4911981/2,0,2299161)>
204
- # task.completed_on
205
- # #=> # the current date
206
- def do!
207
- @completed_on = Date.today
208
- @priority = nil
209
- end
210
-
211
- # Marks the task as incomplete and resets its original priority.
212
- #
213
- # Example:
214
- #
215
- # task = TodoCurses::Task.new "x 2012-12-08 2012-03-04 Task."
216
- # task.done?
217
- # #=> true
218
- #
219
- # task.undo!
220
- # task.done?
221
- # #=> false
222
- # task.created_on
223
- # #=> <Date: 2012-03-04 (4911981/2,0,2299161)>
224
- # task.completed_on
225
- # #=> nil
226
- def undo!
227
- @completed_on = nil
228
- @priority = orig_priority
229
- end
230
-
231
- # Toggles the task from complete to incomplete or vice versa.
232
- #
233
- # Example:
234
- #
235
- # task = TodoCurses::Task.new "x 2012-12-08 Task."
236
- # task.done?
237
- # #=> true
238
- #
239
- # task.toggle!
240
- # task.done?
241
- # #=> false
242
- #
243
- # task.toggle!
244
- # task.done?
245
- # #=> true
246
- def toggle!
247
- done? ? undo! : do!
248
- end
249
-
250
- # Returns this task as a string.
251
- #
252
- # Example:
253
- #
254
- # task = TodoCurses::Task.new "(A) 2012-12-08 Task"
255
- # task.to_s
256
- # #=> "(A) 2012-12-08 Task"
257
- def to_s
258
- priority_string = priority ? "(#{priority}) " : ""
259
- done_string = done? ? "x #{completed_on} " : ""
260
- created_on_string = created_on ? "#{created_on} " : ""
261
- contexts_string = contexts.empty? ? "" : " #{contexts.join ' '}"
262
- projects_string = projects.empty? ? "" : " #{projects.join ' '}"
263
- due_on_string = due_on.nil? ? "" : " due:#{due_on}"
264
- "#{done_string}#{priority_string}#{created_on_string}#{text}#{contexts_string}#{projects_string}#{due_on_string}"
265
- end
266
-
267
- # Compares the priorities of two tasks.
268
- #
269
- # Example:
270
- #
271
- # task1 = TodoCurses::Task.new "(A) Priority A."
272
- # task2 = TodoCurses::Task.new "(B) Priority B."
273
- #
274
- # task1 > task2
275
- # # => true
276
- #
277
- # task1 == task2
278
- # # => false
279
- #
280
- # task2 > task1
281
- # # => false
282
- def <=> other_task
283
- if self.priority.nil? and other_task.priority.nil?
284
- 0
285
- elsif other_task.priority.nil?
286
- 1
287
- elsif self.priority.nil?
288
- -1
289
- else
290
- other_task.priority <=> self.priority
291
- end
292
- end
293
-
294
- # Decreases the priority until Z.
295
- def priority_dec
296
- return if @priority.nil?
297
- @priority = @priority.next if @priority.ord < 90
298
- end
299
-
300
- # Increases the priority until A. If it's nil, it sets it to A.
301
- def priority_inc
302
- if @priority.nil?
303
- @priority = 'A'
304
- else
305
- @priority = (@priority.ord-1).chr if @priority.ord > 65
306
- end
307
- end
308
-
309
- private
310
-
311
- def orig_priority
312
- @orig.match(self.class.priority_regex)[1] if @orig =~ self.class.priority_regex
313
- end
314
-
315
- def orig_created_on
316
- begin
317
- if @orig =~ self.class.created_on_regex
318
- date = @orig.match self.class.created_on_regex
319
- return Date.parse(date[1]) unless date.nil?
320
- end
321
- rescue; end
322
- nil
323
- end
324
-
325
- def get_completed_date
326
- begin
327
- return Date.parse(self.class.done_regex.match(@orig)[1])
328
- rescue; end
329
- nil
330
- end
331
-
332
- def get_due_on_date
333
- begin
334
- return Date.parse(self.class.due_on_regex.match(@orig)[1])
335
- rescue; end
336
- nil
337
- end
338
- end
339
- end