taskwarrior-web 1.1.9 → 1.1.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 81ddd844b563c653dcac866ead7c1481a768d17d
4
+ data.tar.gz: b30140d7d71ac62c8dd594e389683020377cd94d
5
+ SHA512:
6
+ metadata.gz: 5e98706d90542916ca02463a1733b3147f635fdfd3bd664c224e1eb32844be34cacc171e90057536c6fc860080e8524ff6df4c290203e07cbf97ed0f9cfce9ad
7
+ data.tar.gz: bc577b814732ba215a9618b5658f3246d4b4c6e78f2df4cc7e51bd04edb50759a8d981d07e06c541f24461ae9e1db793150d79aa334cfdb3a201c2294b05c038
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
+ - 2.0.0
5
6
  script: "rake spec"
6
7
  before_install:
7
8
  - sudo apt-get update -qq
@@ -1,3 +1,9 @@
1
+ ## v1.1.10 (6/28/13)
2
+
3
+ * Added ability to specify "wait" property for tasks
4
+ * Added more comprehensive help popup
5
+ * Fixing a couple particularly annoying issues
6
+
1
7
  ## v1.1.9 (5/21/13)
2
8
 
3
9
  * Sorting by priority sorts intelligently (http://github.com/theunraveler/taskwarrior-web/issues/39)
@@ -35,16 +35,16 @@ class TaskwarriorWeb::App < Sinatra::Base
35
35
  get '/tasks/:status/?' do
36
36
  pass unless params[:status].in?(%w(pending waiting completed deleted))
37
37
  @title = "Tasks"
38
- if params[:status] == 'pending' && filter = TaskwarriorWeb::Config.property('task-web.filter')
39
- @tasks = TaskwarriorWeb::Task.query(filter)
38
+ @tasks = if params[:status] == 'pending' && filter = TaskwarriorWeb::Config.property('task-web.filter')
39
+ TaskwarriorWeb::Task.query(filter)
40
40
  else
41
- @tasks = TaskwarriorWeb::Task.find_by_status(params[:status])
41
+ TaskwarriorWeb::Task.find_by_status(params[:status])
42
42
  end
43
43
 
44
- case params[:status]
45
- when ('pending' or 'waiting')
44
+ case
45
+ when params[:status].in?(['pending', 'waiting'])
46
46
  @tasks.sort_by! { |t| [-t.urgency.to_f, t.priority.nil?.to_s, t.priority.to_s, t.due.nil?.to_s, t.due.to_s, t.project.to_s] }
47
- when ('completed' or 'deleted')
47
+ when params[:status].in?(['completed', 'deleted'])
48
48
  @tasks.sort_by! { |t| [Time.parse(t.end)] }.reverse!
49
49
  end
50
50
 
@@ -63,7 +63,7 @@ class TaskwarriorWeb::App < Sinatra::Base
63
63
  if @task.is_valid?
64
64
  message = @task.save!
65
65
  flash[:success] = message.blank? ? %(New task "#{@task}" created) : message
66
- redirect to('/tasks')
66
+ redirect to(params[:destination] || '/tasks')
67
67
  end
68
68
 
69
69
  flash.now[:error] = @task._errors.join(', ')
@@ -85,7 +85,7 @@ class TaskwarriorWeb::App < Sinatra::Base
85
85
  if @task.is_valid?
86
86
  message = @task.save!
87
87
  flash[:success] = message.blank? ? %(Task "#{@task}" was successfully updated) : message
88
- redirect to('/tasks')
88
+ redirect to(params[:destination] || '/tasks')
89
89
  end
90
90
 
91
91
  flash.now[:error] = @task._errors.join(', ')
@@ -97,7 +97,7 @@ class TaskwarriorWeb::App < Sinatra::Base
97
97
  @task = TaskwarriorWeb::Task.find(params[:uuid]) || not_found
98
98
  message = @task.delete!
99
99
  flash[:success] = message.blank? ? %(Task "#{@task}" was successfully deleted) : message
100
- redirect to('/tasks')
100
+ redirect to(params[:destination] || '/tasks')
101
101
  end
102
102
 
103
103
  # Annotations
@@ -49,7 +49,7 @@ module TaskwarriorWeb::App::Helpers
49
49
  else
50
50
  total = task_count
51
51
  end
52
- total == 0 ? '' : total.to_s
52
+ total.to_i == 0 ? '' : total.to_s
53
53
  end
54
54
 
55
55
  def progress_bar(tasks)
@@ -65,9 +65,9 @@ module TaskwarriorWeb::App::Helpers
65
65
  string = %(<span class="crud-links">)
66
66
  string << %(<a class="annotation-add" href="/tasks/#{task.uuid}/annotations/new"><i class="icon-comment"></i></a>)
67
67
  string << %(&nbsp;|&nbsp;)
68
- string << %(<a href="/tasks/#{task.uuid}"><i class="icon-pencil"></i></a>)
68
+ string << %(<a href="/tasks/#{task.uuid}?destination=#{ERB::Util.u(request.path_info)}"><i class="icon-pencil"></i></a>)
69
69
  string << %(&nbsp;|&nbsp;)
70
- string << %(<a href="/tasks/#{task.uuid}" data-method="DELETE" data-confirm="Are you sure you want to delete this task?"><i class="icon-trash"></i></a>)
70
+ string << %(<a href="/tasks/#{task.uuid}?destination=#{ERB::Util.u(request.path_info)}" data-method="DELETE" data-confirm="Are you sure you want to delete this task?"><i class="icon-trash"></i></a>)
71
71
  string << %(</span>)
72
72
  string
73
73
  end
@@ -6,7 +6,7 @@ module TaskwarriorWeb::Config
6
6
  # equivalent on the right.
7
7
  RUBY_DATEFORMATS = {
8
8
  'm' => '%-m', # minimal-digit month, for example 1 or 12
9
- 'd' => '%-d', # minimal-digit day, for example 1 or 30
9
+ 'd' => '%-d', # minimal-digit day, for example 1 or 30
10
10
  'y' => '%y', # two-digit year, for example 09
11
11
  'D' => '%d', # two-digit day, for example 01 or 30
12
12
  'M' => '%m', # two-digit month, for example 01 or 12
@@ -44,33 +44,48 @@ module TaskwarriorWeb::Config
44
44
  @version ||= Versionomy.parse(`#{TaskwarriorWeb::Runner::TASK_BIN} _version`.strip)
45
45
  end
46
46
 
47
- def self.file
48
- @file ||= ParseConfig.new("#{Dir.home}/.taskrc")
47
+ def self.store
48
+ @store ||= self.parse_config
49
49
  end
50
50
 
51
51
  def self.property(prop)
52
- self.file[prop]
52
+ self.store[prop]
53
53
  end
54
54
 
55
55
  def self.dateformat(format = :ruby)
56
- return nil unless self.file['dateformat'] && format.in?([:ruby, :js])
56
+ return nil unless self.store['dateformat'] && format.in?([:ruby, :js])
57
57
 
58
58
  formats = case format
59
59
  when :ruby then RUBY_DATEFORMATS
60
60
  when :js then JS_DATEFORMATS
61
61
  end
62
62
 
63
- self.file['dateformat'].gsub(/(\w)/, formats)
63
+ self.store['dateformat'].gsub(/(\w)/, formats)
64
64
  end
65
65
 
66
66
  def self.supports?(feature)
67
67
  case feature.to_sym
68
68
  when :editing then self.version.major > 1
69
+ when :_show then self.version >= '2.2.0'
69
70
  else false
70
71
  end
71
72
  end
72
73
 
73
74
  def self.method_missing(method)
74
- self.file[method.to_s]
75
+ self.store[method.to_s]
76
+ end
77
+
78
+ private
79
+
80
+ def self.parse_config
81
+ if self.supports? :_show
82
+ config = `#{TaskwarriorWeb::Runner::TASK_BIN} _show`
83
+ config.split("\n").inject({}) do |h, line|
84
+ key,value = line.split('=')
85
+ h.merge!({ key => value })
86
+ end
87
+ else
88
+ ParseConfig.new("#{Dir.home}/.taskrc")
89
+ end
75
90
  end
76
91
  end
@@ -80,7 +80,7 @@ var initHotkeys = function() {
80
80
 
81
81
  // "n" goes to new task form.
82
82
  $(document).bind('keyup', 'n', function() {
83
- window.location.href = '/tasks/new';
83
+ window.location.href = '/tasks/new?destination='+encodeURIComponent('/'+window.location.pathname);
84
84
  });
85
85
 
86
86
  // "1-*" go to tabs in main nav.
@@ -93,7 +93,7 @@ var initHotkeys = function() {
93
93
 
94
94
  // "h" displays a list of hotkeys.
95
95
  $(document).bind('keyup', 'h', function() {
96
- $('#hotkeys').modal('toggle');
96
+ $('#help').modal('toggle');
97
97
  });
98
98
  };
99
99
 
@@ -6,7 +6,7 @@ module TaskwarriorWeb::CommandBuilder::Base
6
6
  :add => 'add',
7
7
  :update => TaskwarriorWeb::Config.version.major >= 2 ? ':id mod' : nil,
8
8
  :delete => 'rc.confirmation=no :id delete',
9
- :query => TaskwarriorWeb::Config.version > Versionomy.parse('1.9.2') ? '_query' : 'export',
9
+ :query => TaskwarriorWeb::Config.version > '1.9.2' ? '_query' : 'export',
10
10
  :complete => ':id done',
11
11
  :annotate => ':id annotate',
12
12
  :denotate => ':id denotate',
@@ -3,10 +3,6 @@ module TaskwarriorWeb::Parser
3
3
  autoload :Csv, 'taskwarrior-web/services/parser/csv'
4
4
 
5
5
  def self.parse(results)
6
- if TaskwarriorWeb::Config.version > '1.9.2'
7
- Json.parse(results)
8
- else
9
- Csv.parse(results)
10
- end
6
+ TaskwarriorWeb::Config.version > '1.9.2' ? Json.parse(results) : Csv.parse(results)
11
7
  end
12
8
  end
@@ -1,3 +1,3 @@
1
1
  module TaskwarriorWeb
2
- VERSION = '1.1.9'
2
+ VERSION = '1.1.10'
3
3
  end
@@ -31,6 +31,6 @@
31
31
  <%= erb :'partials/_footer' %>
32
32
  </div>
33
33
  </div>
34
- <%= erb :'partials/_hotkeys' %>
34
+ <%= erb :'partials/_help' %>
35
35
  </body>
36
36
  </html>
@@ -3,8 +3,8 @@
3
3
  </div>
4
4
  <div class="pull-right">
5
5
  <p>
6
- <a data-toggle="modal" data-target="#hotkeys" href="#">Hotkeys</a>
6
+ <a data-toggle="modal" data-target="#help" href="#">Help</a>
7
7
  &nbsp;|&nbsp;
8
- <a href="http://github.com/theunraveler/taskwarrior-web/issues">Report a bug</a>
8
+ <a href="http://github.com/theunraveler/taskwarrior-web/issues" target="_new">Report a bug</a>
9
9
  </p>
10
10
  </div>
@@ -1,9 +1,10 @@
1
- <div id="hotkeys" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="hotkeys-modal-label" aria-hidden="true">
1
+ <div id="help" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" aria-hidden="true">
2
2
  <div class="modal-header">
3
3
  <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
4
- <h3 id="hotkeys-modal-label">Hotkeys</h3>
4
+ <h3 id="help-modal-label">Help</h3>
5
5
  </div>
6
6
  <div class="modal-body">
7
+ <h4>Hotkeys</h4>
7
8
  <p>TaskwarriorWeb includes hotkeys for quick navigation to commonly-used parts of the application.</p>
8
9
  <ul>
9
10
  <li><code>1</code>: Go to the "Tasks" (/tasks) page</li>
@@ -11,6 +12,9 @@
11
12
  <li><code>n</code>: Create a new task</li>
12
13
  <li><code>h</code>: Displays and dismisses this help dialog</li>
13
14
  </ul>
15
+
16
+ <h4>Further reading</h4>
17
+ <p>Check out and contribute to the <a href="http://github.com/theunraveler/taskwarrior-web/wiki/_pages" target="_new">documentation</a>.</p>
14
18
  </div>
15
19
  <div class="modal-footer">
16
20
  <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
@@ -4,9 +4,8 @@
4
4
  <%= render_navigation :level => 1 %>
5
5
  <ul class="nav pull-right">
6
6
  <li<% if @current_page =~ %r(^/tasks/new/?) %> class="active"<% end %>>
7
- <a href="/tasks/new">
8
- <i class="icon-plus"></i>
9
- Add a Task
7
+ <a href="/tasks/new?destination=<%= ERB::Util.u(request.path_info) %>">
8
+ <i class="icon-plus"></i>&nbsp;Add a Task
10
9
  </a>
11
10
  </li>
12
11
  </ul>
@@ -13,12 +13,20 @@
13
13
  </div>
14
14
 
15
15
  <div class="control-group">
16
- <label for="task-due" class="control-label">Due Date</label>
16
+ <label for="task-due" class="control-label">Due date</label>
17
17
  <div class="controls">
18
18
  <input class="date-picker" type="text" id="task-due" name="task[due]" value="<%= format_date(@task.due) unless @task.nil? || @task.due.blank? %>" data-date-format="<%= @date_format %>" />
19
19
  </div>
20
20
  </div>
21
21
 
22
+ <div class="control-group">
23
+ <label for="task-wait" class="control-label">Hide until</label>
24
+ <div class="controls">
25
+ <input class="date-picker" type="text" id="task-wait" name="task[wait]" value="<%= format_date(@task.wait) unless @task.nil? || @task.wait.blank? %>" data-date-format="<%= @date_format %>" />
26
+ <span class="help-block">If specified, the task will appear in the "Waiting" list until the given date.</span>
27
+ </div>
28
+ </div>
29
+
22
30
  <div class="control-group">
23
31
  <label class="control-label">Priority</label>
24
32
  <div class="controls">
@@ -1,4 +1,4 @@
1
- <form id="new-task-form" class="form-horizontal" action="/tasks/<%= @task.uuid %>" method="post">
1
+ <form id="new-task-form" class="form-horizontal" action="<%= request.fullpath %>" method="post">
2
2
  <input type="hidden" name="task[uuid]" value="<%= @task.uuid %>" />
3
3
 
4
4
  <%= erb :'tasks/_form' %>
@@ -16,6 +16,7 @@
16
16
  <th>Description</th>
17
17
  <th>Project</th>
18
18
  <th>Due</th>
19
+ <% if params[:status] == 'waiting' %><th>Hidden until</th><% end %>
19
20
  <th>Tags</th>
20
21
  <th data-sort-map='{"H": 0, "M": 1, "": 2, "L": 3}'>Priority</th>
21
22
  <% if can_edit %><th class="no-sort"></th><% end %>
@@ -43,6 +44,7 @@
43
44
  </td>
44
45
  <td><a href="/projects/<%= linkify(task.project) %>"><%= task.project %></a></td>
45
46
  <td><%= format_date(task.due) unless task.due.nil? %></td>
47
+ <% if params[:status] == 'waiting' %><td><%= format_date(task.wait) unless task.wait.nil? %></td><% end %>
46
48
  <td><%= task.tags.join(', ') unless task.tags.nil? %></td>
47
49
  <td><%= task.priority unless task.priority.nil? %></td>
48
50
  <% if can_edit %><td><%= crud_links(task) %></td><% end %>
@@ -4,7 +4,7 @@
4
4
  });
5
5
  </script>
6
6
 
7
- <form id="new-task-form" class="form-horizontal" action="/tasks" method="post">
7
+ <form id="new-task-form" class="form-horizontal" action="/tasks<%= '?destination='+ERB::Util.u(params[:destination]) if params[:destination] %>" method="post">
8
8
 
9
9
  <%= erb :'tasks/_form' %>
10
10
 
@@ -31,7 +31,7 @@ describe TaskwarriorWeb::App::Helpers do
31
31
  end
32
32
 
33
33
  it 'should convert Taskwarrior formats to Ruby formats correctly' do
34
- TaskwarriorWeb::Config.should_receive(:file).any_number_of_times.and_return({'dateformat' => 'd/m/Y'})
34
+ TaskwarriorWeb::Config.should_receive(:store).any_number_of_times.and_return({'dateformat' => 'd/m/Y'})
35
35
  helpers.format_date('2012-01-11 12:23:00').should eq('11/1/2012')
36
36
  helpers.format_date('2012-12-02 12:23:00').should eq('2/12/2012')
37
37
  end
@@ -46,7 +46,7 @@ describe TaskwarriorWeb::App::Helpers do
46
46
  end
47
47
  end
48
48
 
49
- context 'with a due setting specified' do
49
+ context 'with a due setting specified' do
50
50
  before do
51
51
  TaskwarriorWeb::Config.should_receive(:due).any_number_of_times.and_return(3)
52
52
  end
@@ -6,7 +6,7 @@ describe TaskwarriorWeb::Config do
6
6
  describe '.property' do
7
7
  it 'should call #[] on the config file object' do
8
8
  file = {}
9
- TaskwarriorWeb::Config.should_receive(:file).and_return(file)
9
+ TaskwarriorWeb::Config.should_receive(:store).and_return(file)
10
10
  file.should_receive(:[]).with('testing')
11
11
  TaskwarriorWeb::Config.property('testing')
12
12
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency('vegas')
22
22
  s.add_dependency('rinku')
23
23
  s.add_dependency('versionomy')
24
- s.add_dependency('activesupport')
24
+ s.add_dependency('activesupport', '~> 3')
25
25
  s.add_dependency('sinatra-simple-navigation')
26
26
  s.add_dependency('rack-flash3')
27
27
  s.add_dependency('json', '~> 1.7.7')
metadata CHANGED
@@ -1,148 +1,130 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taskwarrior-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
5
- prerelease:
4
+ version: 1.1.10
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jake Bell
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-22 00:00:00.000000000 Z
11
+ date: 2013-06-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: sinatra
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: parseconfig
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: vegas
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rinku
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: versionomy
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: activesupport
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ~>
100
88
  - !ruby/object:Gem::Version
101
- version: '0'
89
+ version: '3'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - ~>
108
95
  - !ruby/object:Gem::Version
109
- version: '0'
96
+ version: '3'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: sinatra-simple-navigation
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: rack-flash3
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: json
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -158,65 +139,57 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: rake
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - '>='
164
144
  - !ruby/object:Gem::Version
165
145
  version: '0'
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - '>='
172
151
  - !ruby/object:Gem::Version
173
152
  version: '0'
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rack-test
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
- - - ! '>='
157
+ - - '>='
180
158
  - !ruby/object:Gem::Version
181
159
  version: '0'
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
- - - ! '>='
164
+ - - '>='
188
165
  - !ruby/object:Gem::Version
189
166
  version: '0'
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: rspec
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
- - - ! '>='
171
+ - - '>='
196
172
  - !ruby/object:Gem::Version
197
173
  version: '0'
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
- - - ! '>='
178
+ - - '>='
204
179
  - !ruby/object:Gem::Version
205
180
  version: '0'
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: rspec-html-matchers
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
- - - ! '>='
185
+ - - '>='
212
186
  - !ruby/object:Gem::Version
213
187
  version: '0'
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
- - - ! '>='
192
+ - - '>='
220
193
  - !ruby/object:Gem::Version
221
194
  version: '0'
222
195
  description: This gem provides a graphical frontend for the Taskwarrior task manager.
@@ -280,7 +253,7 @@ files:
280
253
  - lib/taskwarrior-web/views/layout.erb
281
254
  - lib/taskwarrior-web/views/partials/_flash.erb
282
255
  - lib/taskwarrior-web/views/partials/_footer.erb
283
- - lib/taskwarrior-web/views/partials/_hotkeys.erb
256
+ - lib/taskwarrior-web/views/partials/_help.erb
284
257
  - lib/taskwarrior-web/views/partials/_subnav.erb
285
258
  - lib/taskwarrior-web/views/partials/_topbar.erb
286
259
  - lib/taskwarrior-web/views/projects/index.erb
@@ -305,30 +278,26 @@ files:
305
278
  - taskwarrior-web.gemspec
306
279
  homepage: http://github.com/theunraveler/taskwarrior-web
307
280
  licenses: []
281
+ metadata: {}
308
282
  post_install_message:
309
283
  rdoc_options: []
310
284
  require_paths:
311
285
  - lib
312
286
  required_ruby_version: !ruby/object:Gem::Requirement
313
- none: false
314
287
  requirements:
315
- - - ! '>='
288
+ - - '>='
316
289
  - !ruby/object:Gem::Version
317
290
  version: 1.9.0
318
291
  required_rubygems_version: !ruby/object:Gem::Requirement
319
- none: false
320
292
  requirements:
321
- - - ! '>='
293
+ - - '>='
322
294
  - !ruby/object:Gem::Version
323
295
  version: '0'
324
- segments:
325
- - 0
326
- hash: -1134852019242031936
327
296
  requirements: []
328
297
  rubyforge_project: taskwarrior-web
329
- rubygems_version: 1.8.23
298
+ rubygems_version: 2.0.3
330
299
  signing_key:
331
- specification_version: 3
300
+ specification_version: 4
332
301
  summary: Web frontend for taskwarrior command line task manager.
333
302
  test_files:
334
303
  - spec/app/app_spec.rb