haora 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: