work_md 0.3.1 → 0.3.5

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
  SHA256:
3
- metadata.gz: 11398053e95da7ddd262275d8df76965fdf1eadce26a7854a1b1c1b63ab04f43
4
- data.tar.gz: a3fb3c6ccb1ff57f9597ac2ac7b42031284fb3e17e6d229248c8bdf7270d7afc
3
+ metadata.gz: 2d6967faa7de63beb6db958b095b1cf6a157a9bc8db5a1effaae490c86add0bc
4
+ data.tar.gz: 054cdf1f0c0910e8962943e5a0ff5affd3830c300c54d85180049b4de7f4f708
5
5
  SHA512:
6
- metadata.gz: 94d7ca6109f744ecc6e7042a78a154a79bbd6dd5e4fe209b09ca5e5911628644cc417f7e6066c6b3abaf2ba945178ef83f1cb0f79987dbed12352f63871974ed
7
- data.tar.gz: f18458c73cfbcf5d5838d7e9fdaa0d3bc39cd6b102abe80c4c61e34a62473a39d18ea334d76df684a258f5a0f099736c1011a63756c59f950b0f830d8a0b9f9c
6
+ metadata.gz: f3473bfd171cd7f1effd40914561dd9bac760e9d3b1fe4b80561f4cfa8e0e794adc6395cdec668fd7b113a9071d750719922669a0c8681bcfdf48651c96e9ff7
7
+ data.tar.gz: a0fb4d64a689853cfe3ec7c58c1ca0ef7edb22924c222eae0bd2de9e91ca37aa14ec48d44cd60eeeafb2efd17d98f0b1508dd3a4b5bd97970f0cb3f490662b17
data/lib/work_md/cli.rb CHANGED
@@ -10,7 +10,8 @@ module WorkMd
10
10
  'ty' => 'tyesterday',
11
11
  'y' => 'yesterday',
12
12
  'c' => 'config',
13
- 'p' => 'parse'
13
+ 'p' => 'parse',
14
+ 'a' => 'annotations'
14
15
  }.freeze
15
16
 
16
17
  def self.execute(argv)
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WorkMd
4
+ module Commands
5
+ class Annotations
6
+ class << self
7
+ def execute(_argv = [])
8
+ file_name = "annotations.md"
9
+ work_dir = WorkMd::Config.work_dir
10
+
11
+ ::FileUtils.mkdir_p("#{work_dir}")
12
+
13
+ unless ::File.exist?("#{work_dir}/#{file_name}")
14
+ ::File.open("#{work_dir}/#{file_name}", 'w+') { |f| f.puts("# \n\n") }
15
+ end
16
+
17
+ WorkMd::File.open_in_editor([file_name])
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -25,7 +25,7 @@ module WorkMd
25
25
  end
26
26
 
27
27
  ::WorkMd::File.open_in_editor(
28
- file_names: [file_name],
28
+ [file_name],
29
29
  dir: work_dir
30
30
  )
31
31
  end
@@ -51,27 +51,36 @@ module WorkMd
51
51
  f.puts("---\n\n")
52
52
  f.puts("### #{t[:interruptions]} (#{parser.interruptions.size}):\n\n")
53
53
  parser.interruptions.each do |interruption|
54
- f.puts("- #{interruption}\n\n")
54
+ f.puts("- #{interruption}\n")
55
55
  end
56
56
  f.puts("---\n\n")
57
57
  f.puts("### #{t[:difficulties]} (#{parser.difficulties.size}):\n\n")
58
58
  parser.difficulties.each do |difficulty|
59
- f.puts("- #{difficulty}\n\n")
59
+ f.puts("- #{difficulty}\n")
60
60
  end
61
61
  f.puts("---\n\n")
62
62
  f.puts("### #{t[:observations]} (#{parser.observations.size}):\n\n")
63
63
  parser.observations.each do |observation|
64
- f.puts("- #{observation}\n\n")
64
+ f.puts("- #{observation}\n")
65
65
  end
66
66
  f.puts("---\n\n")
67
67
  f.puts("### #{t[:pomodoros]} (#{parser.average_pomodoros} #{t[:per_day]}):\n\n")
68
- f.puts(parser.pomodoros_sum)
68
+ f.puts("**#{t[:total]}: #{parser.pomodoros_sum}**")
69
69
  f.puts("\n\n")
70
-
71
70
  parser.pomodoros_bars.each do |pomodoro_bar|
72
71
  f.puts(pomodoro_bar)
73
72
  f.puts("\n\n")
74
73
  end
74
+ f.puts("---\n\n")
75
+ f.puts("### #{t[:days_bars]}:\n\n")
76
+ f.puts("**#{t[:pomodoros]}: ⬛ | #{t[:meetings]}: 📅 | #{t[:interruptions]}: ⚠️ | #{t[:difficulties]}: 😓 | #{t[:observations]}: 📝 | #{t[:tasks]}: ✔️**")
77
+
78
+ f.puts("\n\n")
79
+ parser.days_bars.each do |day_bar|
80
+ f.puts(day_bar)
81
+ f.puts("\n\n")
82
+ end
83
+
75
84
  f.puts("\n\n")
76
85
  end
77
86
 
@@ -10,7 +10,7 @@ module WorkMd
10
10
  WorkMd::File.create_if_not_exist(date)
11
11
  end
12
12
 
13
- WorkMd::File.open_in_editor(file_names: file_names)
13
+ WorkMd::File.open_in_editor(file_names)
14
14
  end
15
15
  end
16
16
  end
@@ -14,7 +14,9 @@ module WorkMd
14
14
  difficulties: 'Dificuldades',
15
15
  observations: 'Observações',
16
16
  pomodoros: 'Pomodoros / Ciclos',
17
- per_day: 'por dia'
17
+ per_day: 'por dia',
18
+ total: 'total',
19
+ days_bars: 'Resumo'
18
20
  },
19
21
  'en' =>
20
22
  {
@@ -24,7 +26,9 @@ module WorkMd
24
26
  difficulties: 'Difficulties',
25
27
  observations: 'Observations',
26
28
  pomodoros: 'Pomodoros / Cycles',
27
- per_day: 'per day'
29
+ per_day: 'per day',
30
+ total: 'all',
31
+ days_bars: 'Summary'
28
32
  },
29
33
  'es' =>
30
34
  {
@@ -34,9 +38,10 @@ module WorkMd
34
38
  difficulties: 'Dificultades',
35
39
  observations: 'Observaciones',
36
40
  pomodoros: 'Pomodoros / Ciclos',
37
- per_day: 'por día'
41
+ per_day: 'por día',
42
+ total: 'total',
43
+ days_bars: 'Abstracto'
38
44
  }
39
-
40
45
  }.freeze
41
46
 
42
47
  def self.title
data/lib/work_md/file.rb CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  module WorkMd
4
4
  class File
5
- def self.open_or_create(some_date)
6
- open_in_editor(file_names: [create_if_not_exist(some_date)])
5
+ def self.open_or_create(some_date, dir: nil)
6
+ open_in_editor([create_if_not_exist(some_date, dir: dir)], dir: dir)
7
7
  end
8
8
 
9
- def self.create_if_not_exist(some_date)
9
+ def self.create_if_not_exist(some_date, dir: nil)
10
10
  t = WorkMd::Config.translations
11
- work_dir = WorkMd::Config.work_dir
11
+ work_dir = dir || WorkMd::Config.work_dir
12
12
 
13
13
  file_name = "#{some_date.strftime('%Y/%m/%d')}.md"
14
14
 
@@ -43,7 +43,7 @@ module WorkMd
43
43
  file_name
44
44
  end
45
45
 
46
- def self.open_in_editor(file_names: [], dir: nil)
46
+ def self.open_in_editor(file_names = [], dir: nil)
47
47
  editor = WorkMd::Config.editor
48
48
  work_dir = dir || WorkMd::Config.work_dir
49
49
 
@@ -41,7 +41,7 @@ module WorkMd
41
41
  raise IS_NOT_FROZEN_ERROR_MESSAGE unless @frozen
42
42
 
43
43
  @done_tasks ||=
44
- tasks.filter { |t| t.start_with?('x]') || t.start_with?('X]') }
44
+ tasks.select { |t| t.start_with?('x]') || t.start_with?('X]') }
45
45
  end
46
46
 
47
47
  def tasks
@@ -89,15 +89,37 @@ module WorkMd
89
89
  @parsed_files.reduce(0) { |sum, f| sum + f.pomodoros || 0 }
90
90
  end
91
91
 
92
- def pomodoros_bars
92
+ def pomodoros_bars(_file = nil)
93
93
  raise IS_NOT_FROZEN_ERROR_MESSAGE unless @frozen
94
94
 
95
95
  @pomodoros_bars ||=
96
96
  @parsed_files.map do |f|
97
- "(#{f.date}) #{(1..f.pomodoros).map { '' }.join}"
97
+ "(#{f.date}) #{(1..f.pomodoros).map { '' }.join}"
98
98
  end
99
99
  end
100
100
 
101
+ # rubocop:disable Metrics/CyclomaticComplexity
102
+ # rubocop:disable Metrics/PerceivedComplexity
103
+ def days_bars
104
+ raise IS_NOT_FROZEN_ERROR_MESSAGE unless @frozen
105
+
106
+ return @days_bars if @days_bars
107
+
108
+ @days_bars ||=
109
+ @parsed_files.map do |f|
110
+ pom = (1..f.pomodoros).map { '⬛' }.join
111
+ mee = f.meetings.map { '📅' }.join
112
+ int = f.interruptions.map { '⚠️' }.join
113
+ dif = f.difficulties.map { '😓' }.join
114
+ obs = f.observations.map { '📝' }.join
115
+ tas = f.tasks.map { '✔️' }.join
116
+
117
+ "(#{f.date}) #{pom}#{mee}#{int}#{dif}#{obs}#{tas}"
118
+ end
119
+ end
120
+ # rubocop:enable Metrics/CyclomaticComplexity
121
+ # rubocop:enable Metrics/PerceivedComplexity
122
+
101
123
  def freeze
102
124
  @frozen = true
103
125
  end
@@ -164,7 +186,7 @@ module WorkMd
164
186
 
165
187
  list
166
188
  .map { |s| s.gsub('---', '') unless s.nil? }
167
- .filter { |s| (s != '') && (s != "\n\n") }
189
+ .select { |s| (s != '') && (s != "\n\n") }
168
190
  .map(&:strip)
169
191
  end
170
192
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WorkMd
4
- VERSION = '0.3.1'
4
+ VERSION = '0.3.5'
5
5
  end
data/lib/work_md.rb CHANGED
@@ -7,6 +7,7 @@ require_relative 'work_md/commands/today'
7
7
  require_relative 'work_md/commands/config'
8
8
  require_relative 'work_md/commands/yesterday'
9
9
  require_relative 'work_md/commands/tyesterday'
10
+ require_relative 'work_md/commands/annotations'
10
11
  require_relative 'work_md/parser/engine'
11
12
  require_relative 'work_md/commands/parse'
12
13
  require_relative 'work_md/cli'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: work_md
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henrique Fernandez Teixeira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-16 00:00:00.000000000 Z
11
+ date: 2021-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-box
@@ -51,6 +51,7 @@ files:
51
51
  - bin/work_md
52
52
  - lib/work_md.rb
53
53
  - lib/work_md/cli.rb
54
+ - lib/work_md/commands/annotations.rb
54
55
  - lib/work_md/commands/config.rb
55
56
  - lib/work_md/commands/parse.rb
56
57
  - lib/work_md/commands/today.rb
@@ -64,7 +65,7 @@ homepage:
64
65
  licenses:
65
66
  - MIT
66
67
  metadata:
67
- source_code_uri: https://github.com/henriquefernandez/work_md
68
+ source_code_uri: https://github.com/work-md/work-md
68
69
  post_install_message:
69
70
  rdoc_options: []
70
71
  require_paths:
@@ -83,6 +84,5 @@ requirements: []
83
84
  rubygems_version: 3.2.15
84
85
  signing_key:
85
86
  specification_version: 4
86
- summary: Track your work activities, write annotations, recap what you did for a week,
87
- month or specific days... and much more!
87
+ summary: "*** DEPRECATED 'work_md' was renamed 'work-md'"
88
88
  test_files: []