devlog 0.3.3 → 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: 152a77a9bf2759dee53158b75e850e5fa7eac445ffc96c1640f63994afa95657
4
- data.tar.gz: fa39e2749400e54807d883f106e0a79371633f471d7ad0eb84d54254b4f586d8
3
+ metadata.gz: b1a45392960ca81bf6302d673596bf04eccd7a070b66cb51b23e9ba692b9ccac
4
+ data.tar.gz: d641ca12c1ecf98e909162c47b6ff4a62c7d75f917cfc9c78a061ce06b3bad28
5
5
  SHA512:
6
- metadata.gz: 3240402228afcfe9dc9d8826f96b0a3e3579604e3d3ff139a66c9f8dc65562d03218ee66886c03fc468c1382b81b3d347f30a513c1a0e486f42f8f4d4b7c927f
7
- data.tar.gz: '080462e56cd322f1af89edf7053ff912b8f9cc0a90dc4c36c2d35839a93abdcf45243b5af2dcb724a6f960e826b53312b362a1703ea6f79cd7f38830da184857'
6
+ metadata.gz: 2cf0628f73115547749bb7154aa7fc5711b87503afcb50109aef5905450b2fe25d09093f9fb4eab235bf58c2d5d0348ea6f2882389c16d37f79c7761282f90bb
7
+ data.tar.gz: 0e6be9b4a306be177a7234594c71c19962ea343773aec4ef5bd5fee04a3db4f18e9c7cb4c64278fa81a57c7e52d3058b3ae87750d1734d3e1ba284ebb3bcf0ee
@@ -0,0 +1,28 @@
1
+ name: devlog CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ matrix:
16
+ ruby-version: [3.0.1, 2.7.3]
17
+ os: [ubuntu-latest, macOS-lates]
18
+
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Set up Ruby ${{ runner.os }}-§${{ matrix.ruby-version }}
22
+ uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6
23
+ with:
24
+ ruby-version: ${{ matrix.ruby-version }}
25
+ - name: Install dependencies
26
+ run: bundle install
27
+ - name: Run tests
28
+ run: bundle exec rake
data/.ruby-version CHANGED
@@ -1,3 +1 @@
1
- 2.3.0
2
-
3
-
1
+ 3.0.1
data/README.md CHANGED
@@ -28,15 +28,14 @@ like a book, top down, but always start a new session on top of the file, so tha
28
28
  devlog DSL
29
29
  ==========
30
30
 
31
+ #DD.MM.YYYY HH:MM:SS CodingSession::END
31
32
 
32
- #DD.MM.YYYY HH:MM:SS CodingSession::END
33
+ devlog text...
33
34
 
34
- devlog text...
35
+ #DD.MM.YYYY HH:MM:SS CodingSession::BEGIN
35
36
 
36
- #DD.MM.YYYY HH:MM:SS CodingSession::BEGIN
37
-
38
- using the devlog binary
39
- ===================
37
+ using the devlog CLI
38
+ ====================
40
39
 
41
40
  to parse a devlog file explicitly:
42
41
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.5
data/bin/devlog CHANGED
@@ -68,6 +68,7 @@ include Devlog
68
68
 
69
69
  def dodo
70
70
  load_settings('.devlog.yml')
71
+ ENV['TZ'] = devlog_timezone_setting
71
72
  default_devlog_file = devlog_file_setting
72
73
  time = Benchmark.realtime do
73
74
  if @in_file_or_cmd =~ /.(markdown|md)$/ # devlog_file is passed directly via CLI
data/devlog.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: devlog 0.3.3 ruby lib
5
+ # stub: devlog 0.3.5 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "devlog".freeze
9
- s.version = "0.3.3"
9
+ s.version = "0.3.5"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["mihael".freeze]
14
- s.date = "2019-10-19"
14
+ s.date = "2023-09-25"
15
15
  s.description = "devlog.markdown time&space extractor".freeze
16
16
  s.email = "kitschmaster@gmail.com".freeze
17
17
  s.executables = ["devlog".freeze]
@@ -20,9 +20,9 @@ Gem::Specification.new do |s|
20
20
  "README.md"
21
21
  ]
22
22
  s.files = [
23
+ ".github/workflows/devlog_test.yml",
23
24
  ".ruby-gemset",
24
25
  ".ruby-version",
25
- ".travis.yml",
26
26
  "Gemfile",
27
27
  "LICENSE",
28
28
  "README.md",
@@ -64,23 +64,18 @@ Gem::Specification.new do |s|
64
64
  ]
65
65
  s.homepage = "http://github.com/mihael/devlog".freeze
66
66
  s.licenses = ["MIT".freeze]
67
- s.rubygems_version = "3.0.6".freeze
67
+ s.rubygems_version = "3.2.15".freeze
68
68
  s.summary = "takes devlog.markdown and gives info".freeze
69
69
 
70
70
  if s.respond_to? :specification_version then
71
71
  s.specification_version = 4
72
+ end
72
73
 
73
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
74
- s.add_runtime_dependency(%q<activesupport>.freeze, ["> 4.1"])
75
- s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.1"])
76
- s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.0"])
77
- s.add_development_dependency(%q<nokogiri>.freeze, ["~> 1.8"])
78
- else
79
- s.add_dependency(%q<activesupport>.freeze, ["> 4.1"])
80
- s.add_dependency(%q<test-unit>.freeze, ["~> 3.1"])
81
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.0"])
82
- s.add_dependency(%q<nokogiri>.freeze, ["~> 1.8"])
83
- end
74
+ if s.respond_to? :add_runtime_dependency then
75
+ s.add_runtime_dependency(%q<activesupport>.freeze, ["> 4.1"])
76
+ s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.1"])
77
+ s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.0"])
78
+ s.add_development_dependency(%q<nokogiri>.freeze, ["~> 1.8"])
84
79
  else
85
80
  s.add_dependency(%q<activesupport>.freeze, ["> 4.1"])
86
81
  s.add_dependency(%q<test-unit>.freeze, ["~> 3.1"])
data/lib/devlog.rb CHANGED
@@ -296,7 +296,7 @@ module Devlog
296
296
 
297
297
  def weekly_pdf(tajm, weeks_from_now = 0, devlog_file = 'devlog.markdown')
298
298
  require 'erb'
299
- devlog_file = settings.devlog_file || devlog_file
299
+ devlog_file = settings.devlog_file_setting || devlog_file
300
300
  template = settings.has?(:weekly_timesheet_template) ? settings.weekly_timesheet_template : File.join(Devlog.path, 'templates', 'weekly_timesheet.erb.html')
301
301
  convert_command = settings.has?(:convert_to_pdf_command) ? settings.convert_to_pdf_command : 'wkhtmltopdf'
302
302
  puts "Using weekly template: #{template} #{settings.has?(:weekly_timesheet_template)}".green
@@ -400,6 +400,10 @@ module Devlog
400
400
  all.first.zzbegin.strftime("%Y/%m/%d")
401
401
  end
402
402
 
403
+ def ends_at
404
+ all.last.zzend.strftime("%Y/%m/%d")
405
+ end
406
+
403
407
  def date
404
408
  DateTime.current.strftime("%Y/%m/%d")
405
409
  end
@@ -563,6 +567,10 @@ module Devlog
563
567
  @zezzions.last # devlog_end
564
568
  end
565
569
 
570
+ def last_payed_session
571
+ @zezzions.select{|zezzion| zezzion.payed_time<0}.first
572
+ end
573
+
566
574
  # return all sessions
567
575
  def devlog_sessions
568
576
  @zezzions
@@ -622,11 +630,21 @@ module Devlog
622
630
  s << ("begins at: #{current_day.begins_at}\n")
623
631
  s << ("breaks: #{current_day.breaks_at}\n")
624
632
  s << ("end_at: #{current_day.ends_at}\n")
625
- s << ("sum: #{current_day_total_hours}\n")
633
+ s << ("sum: #{current_day_total_hours}h\n")
626
634
  s << ("\n")
627
635
  end
628
636
  end
629
- s << ("Weekly sessions total: #{sevendays_total}\n")
637
+
638
+ 0.upto(5) do |week|
639
+ weekly_zezzions = zezzions_for_week(week, DateTime.current)
640
+ if weekly_zezzions.any?
641
+ sevendays = Sevendays.new(weekly_zezzions)
642
+ s << ("#{sevendays.begins_at}->#{sevendays.ends_at}: #{sevendays.total_hours_string}\n")
643
+ else
644
+ s << "No weekly sessions for week #{week}.\n"
645
+ end
646
+ end
647
+ s << "Last payed: #{last_payed_session.zzend.to_s(:long)}" if last_payed_session
630
648
  end
631
649
  s
632
650
  end
@@ -49,4 +49,14 @@ module Devlog
49
49
  DEVLOG_FILE
50
50
  end
51
51
  end
52
+
53
+ def devlog_timezone_setting
54
+ return 'Amsterdam' unless settings
55
+ devlog_timezone_setting = settings['timezone']
56
+ if devlog_timezone_setting.present?
57
+ devlog_timezone_setting
58
+ else
59
+ 'Amsterdam'
60
+ end
61
+ end
52
62
  end
@@ -26,6 +26,8 @@ class DevlogSettingsTest < Test::Unit::TestCase
26
26
  def test_loading_from_yaml
27
27
  assert(settings.devlog_file == 'development_log.markdown',
28
28
  'example setting should be loaded')
29
+ assert(settings.timezone == 'Amsterdam',
30
+ 'example setting should be loaded')
29
31
  end
30
32
 
31
33
  def test_devlog_file_setting_returns_default_when_overriden_devlog_file_does_not_exist
@@ -1 +1,2 @@
1
- devlog_file: "test/test_devlogs/test_devlog.markdown"
1
+ devlog_file: "test/test_devlogs/test_devlog.markdown"
2
+ timezone: 'Ljubljana'
@@ -1,5 +1,5 @@
1
1
  # Override the default location of the_project_folder_path/../info/devlog.markdown
2
2
  devlog_file: development_log.markdown
3
-
3
+ timezone: Amsterdam
4
4
  nested:
5
5
  setting: xyz
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devlog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - mihael
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-19 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -75,9 +75,9 @@ extra_rdoc_files:
75
75
  - LICENSE
76
76
  - README.md
77
77
  files:
78
+ - ".github/workflows/devlog_test.yml"
78
79
  - ".ruby-gemset"
79
80
  - ".ruby-version"
80
- - ".travis.yml"
81
81
  - Gemfile
82
82
  - LICENSE
83
83
  - README.md
@@ -120,7 +120,7 @@ homepage: http://github.com/mihael/devlog
120
120
  licenses:
121
121
  - MIT
122
122
  metadata: {}
123
- post_install_message:
123
+ post_install_message:
124
124
  rdoc_options: []
125
125
  require_paths:
126
126
  - lib
@@ -135,8 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
137
  requirements: []
138
- rubygems_version: 3.0.6
139
- signing_key:
138
+ rubygems_version: 3.2.15
139
+ signing_key:
140
140
  specification_version: 4
141
141
  summary: takes devlog.markdown and gives info
142
142
  test_files: []
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- language: ruby
2
- rvm:
3
- #- "1.9.3"
4
- - "2.3.0"
5
- #before_install:
6
- # - bundle update rdoc
7
- # uncomment this line if your project needs to run something other than `rake`:
8
- # script: bundle exec rspec spec