checkoff 0.67.1 → 0.68.0

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: 63b887dd83f103cab32923b8326be62de742bc54b4e137a390d005366d57d1c6
4
- data.tar.gz: b65f844a89f4bb5821fec1845d417838b61ef317e59b93c1b4825daf97a59ac2
3
+ metadata.gz: 6dd5c704b7e134bdda8158cf7851d59bc1c1288e969251bcf4f301d9f18bafed
4
+ data.tar.gz: 5f92ddd1ce0079e41d9a3aaf34159a5d17aa2ffafa1dbb86beff713a9ac110a1
5
5
  SHA512:
6
- metadata.gz: 27ecc27a347c29621c95690e93c3614955295b231dec563703f5db8b2a7647c013eacf70b79c6756b6a39dfb5f1b7bcdbfe2fe56a70ab668e40c2ff66d339f22
7
- data.tar.gz: 8633ada2cb84d24b32ab6fa1585a648902718d4cf318f5c15ebb6fc1d36bcce076aff818e4406a7931c3450136cd04f4f3d47a4e3e13f2cfb9c60b9b827028a3
6
+ metadata.gz: e7b890ec0a915814c77e4bce2137a50cdf740dbe8f22bdaac105e4b1b2f4a94dc2b09dc90768b4a7336d2ccf48b63bc61597e4f37d4a77cb3bc8270cb873c8ab
7
+ data.tar.gz: 564850bdc350602dd3fe4d7bb66a6457cd5b582d061aa83cf95b5a526da25741cdde8debb87ef8443b5bef94b6d8af6e186f6c369dc10232d35f41d40900fd5d
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.67.1)
15
+ checkoff (0.68.0)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -61,6 +61,7 @@ module Checkoff
61
61
  # bundle exec ./${underscored_plural_name}.rb
62
62
  # :nocov:
63
63
  class << self
64
+ # @return [void]
64
65
  def run
65
66
  workspace_name = ARGV[0] || raise('Please pass workspace name as first argument')
66
67
  ${underscored_singular_name}_name = ARGV[1] || raise('Please pass ${underscored_singular_name} name as second argument')
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require 'date'
6
+ require 'time'
7
+ require 'active_support'
8
+ # require 'active_support/time'
9
+ require 'forwardable'
10
+ require 'cache_method'
11
+ require_relative 'internal/config_loader'
12
+ require_relative 'workspaces'
13
+ require_relative 'clients'
14
+
15
+ module Checkoff
16
+ # Common vocabulary for managing time and time periods
17
+ class Timing
18
+ MINUTE = 60
19
+ HOUR = MINUTE * 60
20
+ DAY = 24 * HOUR
21
+ REALLY_LONG_CACHE_TIME = HOUR * 1
22
+ LONG_CACHE_TIME = MINUTE * 15
23
+ SHORT_CACHE_TIME = MINUTE
24
+
25
+ # @param today_getter [Class<Date>]
26
+ def initialize(today_getter: Date)
27
+ @today_getter = today_getter
28
+ end
29
+
30
+ # @param date [Date]
31
+ # @param period [Symbol<:indefinite>]
32
+ def in_period?(date, period)
33
+ return this_week?(date) if period == :this_week
34
+
35
+ return true if period == :indefinite
36
+
37
+ raise "Teach me how to handle period #{period.inspect}"
38
+ end
39
+
40
+ private
41
+
42
+ # @param date [Date]
43
+ def this_week?(date)
44
+ today = @today_getter.today
45
+
46
+ # Beginning of this week (assuming week starts on Sunday)
47
+ beginning_of_week = today - today.wday
48
+
49
+ # End of this week (assuming week ends on Saturday)
50
+ end_of_week = beginning_of_week + 6
51
+
52
+ date >= beginning_of_week && date <= end_of_week
53
+ end
54
+
55
+ # bundle exec ./time.rb
56
+ # :nocov:
57
+ class << self
58
+ # @return [void]
59
+ def run
60
+ time = Checkoff::Timing.new
61
+ # time = time.time_or_raise(workspace_name, time_name)
62
+ puts "Results: #{time}"
63
+ end
64
+ end
65
+ # :nocov:
66
+ end
67
+ end
68
+
69
+ # :nocov:
70
+ abs_program_name = File.expand_path($PROGRAM_NAME)
71
+ Checkoff::Timing.run if abs_program_name == File.expand_path(__FILE__)
72
+ # :nocov:
@@ -3,5 +3,5 @@
3
3
  # Command-line and gem client for Asana (unofficial)
4
4
  module Checkoff
5
5
  # Version of library
6
- VERSION = '0.67.1'
6
+ VERSION = '0.68.0'
7
7
  end
data/lib/checkoff.rb CHANGED
@@ -6,6 +6,7 @@ require 'checkoff/workspaces'
6
6
  require 'checkoff/projects'
7
7
  require 'checkoff/sections'
8
8
  require 'checkoff/subtasks'
9
+ require 'checkoff/timing'
9
10
  require 'checkoff/tasks'
10
11
  require 'checkoff/custom_fields'
11
12
  require 'checkoff/tags'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.67.1
4
+ version: 0.68.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-20 00:00:00.000000000 Z
11
+ date: 2023-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -163,6 +163,7 @@ files:
163
163
  - lib/checkoff/task_searches.rb
164
164
  - lib/checkoff/task_selectors.rb
165
165
  - lib/checkoff/tasks.rb
166
+ - lib/checkoff/timing.rb
166
167
  - lib/checkoff/version.rb
167
168
  - lib/checkoff/workspaces.rb
168
169
  - metrics/bigfiles_high_water_mark