haora 0.0.1 → 0.0.2

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: dfa559ad454e9144340aa59e327854c6bd4dc187
4
- data.tar.gz: ecfabc805841a3352dbef5923bd2bd4fbf0a16d4
3
+ metadata.gz: 0ef2d689a29a331f842146a0a18d86975a8d61ef
4
+ data.tar.gz: 0a029f909c6be28e2c2e9cbabce6b53a9e7cfa01
5
5
  SHA512:
6
- metadata.gz: 47689c4dadc88d8aaba74bc8a40afd287542b737e078f0f416ef850b890b5ce747b5a30b64438fdb96a425041025b7dd78bad1b06c12364df18a9b8fd19a383a
7
- data.tar.gz: 6caba7632ef466873407ec2d299d3c84c8087268d3d44802c5e9085edfdcfbfb752422eedecaf6388481bee388849ea437e744506d4823b585b3160bbae0b85d
6
+ metadata.gz: f66929443442a39fc3655bea04e151c093569ccafe935f8c962c362d2c9becb518891d30dd5a023eea0f1121dfe0d266a2c2b104012460b8574ae9ea534ba2d4
7
+ data.tar.gz: fd831c44e0e26d049bf2dfe59d74edeeebae753a38ac4b370a9f6abf8d96a753556a09f7004e03523eed26ac5446843b9616cccef6fd9bc65f4184b9e4b41ec6
data/bin/haora CHANGED
@@ -5,6 +5,9 @@ include GLI::App
5
5
 
6
6
  require 'haora'
7
7
 
8
+ program_desc 'Command line application to manage working hours.'
9
+ version Haora::VERSION
10
+
8
11
  desc 'Path to file containing working times'
9
12
  arg_name 'file_name'
10
13
  default_value File.join(ENV['HOME'], '.haora', 'workbook')
@@ -12,7 +15,7 @@ flag :f, :file
12
15
 
13
16
  desc 'Date to be used'
14
17
  arg_name 'date'
15
- default_value Date.today.strftime '%d.%m.%Y'
18
+ default_value ENV['TODAY'] || Date.today.strftime('%d.%m.%Y')
16
19
  flag :d, :date
17
20
 
18
21
  desc 'Adds a task to the current or another day'
data/lib/haora/day.rb CHANGED
@@ -6,7 +6,7 @@ module Haora
6
6
  attr_reader :date
7
7
 
8
8
  def initialize(date = nil)
9
- @date = date.nil? ? Date.today : date
9
+ @date = date.nil? ? Day.today : date
10
10
  end
11
11
 
12
12
  def tasks
@@ -29,6 +29,22 @@ module Haora
29
29
  @date.strftime '%F'
30
30
  end
31
31
 
32
+ def self.today
33
+ if ENV['TODAY'] # for testing
34
+ Date.parse(ENV['TODAY'])
35
+ else
36
+ Date.today
37
+ end
38
+ end
39
+
40
+ def self.now
41
+ if ENV['NOW'] # for testing
42
+ Time.parse(ENV['NOW'])
43
+ else
44
+ Time.now
45
+ end
46
+ end
47
+
32
48
  end
33
49
 
34
50
  class DateParser
data/lib/haora/project.rb CHANGED
@@ -5,7 +5,11 @@ module Haora
5
5
 
6
6
  @projects = Hash.new
7
7
  @projects.default_proc = proc do |hash, name|
8
- hash[name] = Project.new(name)
8
+ if name == nil
9
+ hash[name] = Project.new('')
10
+ else
11
+ hash[name] = Project.new(name)
12
+ end
9
13
  end
10
14
 
11
15
  def self.by(params)
@@ -10,7 +10,7 @@ module Haora
10
10
  private
11
11
 
12
12
  def rendered_date_of(day)
13
- if day.date == Date.today
13
+ if day.date == Day.today
14
14
  'today'
15
15
  else
16
16
  day.date.strftime('%d.%m.%Y')
@@ -24,16 +24,17 @@ module Haora
24
24
  def rendered_task(task)
25
25
  timespan = rendered_timespan(task.start, task.stop)
26
26
  duration = rendered_duration(task.start, task.stop)
27
- '%s = %s on %s: %s' % [timespan, duration, task.project.name, task.text]
27
+ '%s = %s %s: %s' % [timespan, duration, task.project.name, task.text]
28
28
  end
29
29
 
30
30
  def rendered_timespan(start, stop)
31
- timespan = start.to_s << ' - ' << stop.to_s
31
+ timespan = '%s - %s' % [start.to_s, stop.nil? ? ' now ' : stop.to_s]
32
32
  timespan.prepend(' ') if timespan.length < 13
33
33
  timespan
34
34
  end
35
35
 
36
36
  def rendered_duration(start, stop)
37
+ stop = stop.nil? ? Timestamp.now : stop
37
38
  '%5.2f' % (stop - start).hours
38
39
  end
39
40
 
@@ -13,7 +13,7 @@ module Haora
13
13
  end
14
14
 
15
15
  def self.now
16
- now = Time.now
16
+ now = Day.now
17
17
  Timestamp.new(now.hour, now.min)
18
18
  end
19
19
 
@@ -0,0 +1,5 @@
1
+ module Haora
2
+
3
+ VERSION = '0.0.2'
4
+
5
+ end
@@ -21,7 +21,7 @@ module Haora
21
21
  private
22
22
 
23
23
  def parse_date_param(param)
24
- date = Date.today
24
+ date = Day.today
25
25
  if param.is_a? String
26
26
  date = DateParser.parse param
27
27
  elsif param.is_a? Date
data/lib/haora.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'haora/version'
1
2
  require 'haora/timestamp'
2
3
  require 'haora/task'
3
4
  require 'haora/project'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haora
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dirk Rademann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-16 00:00:00.000000000 Z
11
+ date: 2017-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli
@@ -96,6 +96,7 @@ files:
96
96
  - lib/haora/renderer.rb
97
97
  - lib/haora/task.rb
98
98
  - lib/haora/timestamp.rb
99
+ - lib/haora/version.rb
99
100
  - lib/haora/workbook.rb
100
101
  homepage: http://github.com/drademann/haora-cli
101
102
  licenses: