work-md 0.4.9 → 0.4.91

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: 3333dbe54859ef57acade3b997c337b6994b64e681369e782e39a80fb478632d
4
- data.tar.gz: e7de4d34bf2c5eb846fa160bf0cff93250216dbc45daa6b26035ac3a3784ede6
3
+ metadata.gz: a55beb3be3c6aa6e71b58f7522f0a78fb6093370f89b6a631a3478e62623078b
4
+ data.tar.gz: bdc684d99630d3b4b41f1f9cc2fe958bc607ef3907f75c300d504764890fdf18
5
5
  SHA512:
6
- metadata.gz: 3ea36e20ab31b4237157d55327978cba6c64c3b4f02df9987fcb56993b1af1826fa7ed5dbe2371ee83a0e06d6e2987126010e34351694f6fdb2538c68bafc356
7
- data.tar.gz: 9bb98607f7e1ed8d426164b5b28a8f0406160405706adb3f2bbfcb90af6cb4cfe860b35672d147742f47fa9c89c665f4582f6a43fe4e229374ea901122f7cca3
6
+ metadata.gz: 528f98fa5f6275186ee7057dbcf165f8a5d30edfd012d2ae86fd394511055bbddc4f3405574e205bc60e742d8c8e2dbc031de864e2b669226e4c09d9128a006f
7
+ data.tar.gz: 291f52d9d0bfba1ddd6fa09fba96c54a44aeb012fcf4c664384c92c45ad97dbb74561da14da03e13508bc5ecc86eab5a64e80f4f0776ac4cc68cc9b61e6be189
data/bin/work-md.rb CHANGED
@@ -4,4 +4,4 @@
4
4
  require_relative '../lib/work/md'
5
5
  # require 'work/md'
6
6
 
7
- Work::Md::Cli.execute(ARGV)
7
+ Work::Md::Cli.execute(ARGV, development: true)
data/lib/work/md/cli.rb CHANGED
@@ -21,7 +21,7 @@ module Work
21
21
  'tl' => 'tlast'
22
22
  }.freeze
23
23
 
24
- def self.execute(argv)
24
+ def self.execute(argv, development: false)
25
25
  first_argv_argument = argv.shift
26
26
  tag = fetch_argv_keys(argv)['tag']
27
27
 
@@ -70,6 +70,7 @@ module Work
70
70
  '- work-md parse',
71
71
  '- work-md plast',
72
72
  '- work-md annotations',
73
+ '- work-md daily',
73
74
  '- work-md open',
74
75
  '- work-md config',
75
76
  '',
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Work
4
+ module Md
5
+ module Commands
6
+ class Daily
7
+ class << self
8
+ def execute(_argv = [])
9
+ last_date = Date.today.prev_day
10
+ work_dir = Work::Md::Config.work_dir
11
+ last_file_name = nil
12
+
13
+ (1..160).each do
14
+ last_file_name = "#{last_date.strftime('%Y/%m/%d')}.md"
15
+ break if ::File.exist?("#{work_dir}/#{last_file_name}")
16
+
17
+ last_date = last_date.prev_day
18
+ end
19
+
20
+ today_file_name = Work::Md::DateFile.create_if_not_exist(DateTime.now)
21
+
22
+ parser_today = Work::Md::Parser::Engine.new
23
+ parser_today.add_file("#{work_dir}/#{today_file_name}")
24
+ parser_today.freeze
25
+
26
+ parser_last_day = Work::Md::Parser::Engine.new
27
+ parser_last_day.add_file("#{work_dir}/#{last_file_name}")
28
+ parser_last_day.freeze
29
+
30
+ daily_file_path = work_dir + '/daily.md'
31
+ ::File.delete(daily_file_path) if ::File.exist? daily_file_path
32
+
33
+ t = Work::Md::Config.translations
34
+
35
+ ajust_line = lambda do |line|
36
+ get_first_line = ->(multiline_string) do
37
+ lines = multiline_string.split("\n")
38
+ first_line = lines.first
39
+ return first_line
40
+ end
41
+
42
+ get_first_line.call(line.sub('x]', '-').sub(']', '-'))
43
+ end
44
+
45
+ ::File.open(daily_file_path, 'w+') do |f|
46
+ f.puts("📅 Daily\n\n")
47
+ f.puts("#{t[:did]}:\n")
48
+ parser_last_day.tasks.each do |task|
49
+ f.puts("#{ajust_line.call(task)}\n") if task != ' ]'
50
+ end
51
+ parser_last_day.meetings.each do |meeting|
52
+ f.puts("#{ajust_line.call(meeting)}\n") if meeting != ' ]'
53
+ end
54
+ f.puts("\n")
55
+ f.puts("#{t[:todo]}:\n")
56
+ parser_today.tasks.each do |task|
57
+ f.puts("#{ajust_line.call(task)}\n") if task != ' ]'
58
+ end
59
+ parser_today.meetings.each do |meeting|
60
+ f.puts("#{ajust_line.call(meeting)}\n") if meeting != ' ]'
61
+ end
62
+ end
63
+
64
+ Work::Md::File.open_in_editor([daily_file_path])
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -17,7 +17,9 @@ module Work
17
17
  pomodoros: 'Pomodoros / Ciclos',
18
18
  per_day: 'por dia',
19
19
  total: 'total',
20
- days_bars: 'Resumo'
20
+ days_bars: 'Resumo',
21
+ did: 'Feito',
22
+ todo: 'Planejado'
21
23
  },
22
24
  'en' =>
23
25
  {
@@ -29,7 +31,9 @@ module Work
29
31
  pomodoros: 'Pomodoros / Cycles',
30
32
  per_day: 'per day',
31
33
  total: 'all',
32
- days_bars: 'Summary'
34
+ days_bars: 'Summary',
35
+ did: 'Done',
36
+ todo: 'To do'
33
37
  },
34
38
  'es' =>
35
39
  {
@@ -41,7 +45,9 @@ module Work
41
45
  pomodoros: 'Pomodoros / Ciclos',
42
46
  per_day: 'por día',
43
47
  total: 'total',
44
- days_bars: 'Abstracto'
48
+ days_bars: 'Abstracto',
49
+ did: 'Hecho',
50
+ todo: 'Planificado'
45
51
  }
46
52
  }.freeze
47
53
 
@@ -12,7 +12,7 @@ module Work
12
12
  def self.list_file_paths_by_argv_query(argv, create_inexistent: false)
13
13
  file_paths = []
14
14
 
15
- argv_keys_to_files = -> (argv_keys, acc_file_paths) {
15
+ argv_keys_to_files = lambda { |argv_keys, acc_file_paths|
16
16
  year = argv_keys['y'] || Time.new.year
17
17
  month = argv_keys['m'] || Time.new.month
18
18
 
@@ -43,8 +43,8 @@ module Work
43
43
  acc_file_paths
44
44
  }
45
45
 
46
- argv.join('#').split('#and#').map { |v| v.split("#") }.each do |args|
47
- argv_keys_to_files.(Work::Md::Cli.fetch_argv_keys(args), file_paths)
46
+ argv.join('#').split('#and#').map { |v| v.split('#') }.each do |args|
47
+ argv_keys_to_files.call(Work::Md::Cli.fetch_argv_keys(args), file_paths)
48
48
  end
49
49
 
50
50
  file_paths
data/lib/work/md/file.rb CHANGED
@@ -6,7 +6,7 @@ module Work
6
6
  def self.create_and_open_parsed(parser)
7
7
  parser.freeze
8
8
 
9
- parsed_file_path = Work::Md::Config.work_dir + '/parsed.md'
9
+ parsed_file_path = "#{Work::Md::Config.work_dir}/parsed.md"
10
10
  t = Work::Md::Config.translations
11
11
 
12
12
  ::File.delete(parsed_file_path) if ::File.exist? parsed_file_path
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Work
4
4
  module Md
5
- VERSION = '0.4.9'
5
+ VERSION = '0.4.91'
6
6
  end
7
7
  end
data/lib/work/md.rb CHANGED
@@ -17,6 +17,7 @@ require_relative 'md/commands/delete'
17
17
  require_relative 'md/parser/engine'
18
18
  require_relative 'md/commands/parse'
19
19
  require_relative 'md/commands/plast'
20
+ require_relative 'md/commands/daily'
20
21
  require_relative 'md/cli'
21
22
  require 'date'
22
23
  require 'fileutils'
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.4.9
4
+ version: 0.4.91
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: 2022-09-12 00:00:00.000000000 Z
11
+ date: 2024-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-box
@@ -68,6 +68,7 @@ files:
68
68
  - lib/work/md/cli.rb
69
69
  - lib/work/md/commands/annotations.rb
70
70
  - lib/work/md/commands/config.rb
71
+ - lib/work/md/commands/daily.rb
71
72
  - lib/work/md/commands/delete.rb
72
73
  - lib/work/md/commands/last.rb
73
74
  - lib/work/md/commands/open.rb
@@ -103,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
104
  - !ruby/object:Gem::Version
104
105
  version: '0'
105
106
  requirements: []
106
- rubygems_version: 3.2.22
107
+ rubygems_version: 3.3.7
107
108
  signing_key:
108
109
  specification_version: 4
109
110
  summary: Track your work activities, write annotations, recap what you did for a week,