checkoff 0.248.0 → 0.249.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: cf2ef1bb397eb6f71c13c2b0b80a07bcce2768bf949f7306552f42196ff2ee2f
4
- data.tar.gz: e13e1ddd086c25666513f065d6d1d0efcb3498117207bd2db2be0832a3369a97
3
+ metadata.gz: 8e527558624aab2c9e02b922913ce52e69736a7b21d4b8bb6e94b584a8cd2c02
4
+ data.tar.gz: f31c0e0261c39128c34a4aa03dcc328cc3bf3800ef6413fdfe09eaaf53dc8fed
5
5
  SHA512:
6
- metadata.gz: 5b1e83d10cc864255f05003342919ff7c1c4171821232a6d702672c395bda000ef923e4da9084a5d86398e0107bdffa813e40bb6a78fd7a656f65f342c32bc09
7
- data.tar.gz: f79ec8061cd3b0a3180f4f94370c468e57c8731e873486a912f280ed2a860751047433a7660068ac57283f7f8e608925b8e615a7224c3f8b41cea0bb58e0702c
6
+ metadata.gz: 9510e332a1579dfbc2c58d59d1e6ed98b8cf1525760e35c7c266510c20156fd21dcb5e5c5e6775bc12e7f69f546324731d5ac9f43daab23eda243f7c82c51ab4
7
+ data.tar.gz: 53415dbef70b417c6659bc994fe79fe2fd340653af682399a63aae053a3c9f1448db1eab94a9dad5b2be9ab327e3141c20d33d697a087286736548db7b25c899
@@ -4,5 +4,5 @@
4
4
  # Command-line and gem client for Asana (unofficial)
5
5
  module Checkoff
6
6
  # Version of library
7
- VERSION = '0.248.0'
7
+ VERSION = '0.249.0'
8
8
  end
data/rbi/checkoff.rbi CHANGED
@@ -75,7 +75,7 @@ module Overcommit
75
75
  end
76
76
 
77
77
  module Checkoff
78
- VERSION = '0.248.0'
78
+ VERSION = '0.249.0'
79
79
 
80
80
  class Attachments
81
81
  include Logging
@@ -2442,7 +2442,7 @@ end
2442
2442
  # typed: ignore
2443
2443
  # Command-line and gem client for Asana (unofficial)
2444
2444
  module Checkoff
2445
- VERSION = T.let('0.248.0', T.untyped)
2445
+ VERSION = T.let('0.249.0', T.untyped)
2446
2446
 
2447
2447
  # Move tasks from one place to another
2448
2448
  class MvSubcommand
@@ -6993,6 +6993,214 @@ end
6993
6993
  # Test the Checkoff::Tasks class
6994
6994
  class TestTasks < BaseAsana
6995
6995
  extend Forwardable
6996
+ TIME_BY_PERIOD = T.let({
6997
+ two_am: '02:00:20',
6998
+ morning_during_breakfast: '07:30:20',
6999
+ morning: '07:33:20',
7000
+ eight_thirty_am: '8:30:00',
7001
+ ten_am: '10:00:20',
7002
+ mid_morning: '10:33:20',
7003
+ eleven_thirty_am: '11:30:00',
7004
+ afternoon: '14:33:20',
7005
+ three_forty_five_pm: '15:45:20',
7006
+ four_fifteen_pm: '16:15:20',
7007
+ four_forty_five_pm: '16:45:20',
7008
+ five_forty_five_pm: '17:45:20',
7009
+ six_fifteen_pm: '18:15:00',
7010
+ six_forty_five_pm: '18:45:00',
7011
+ night: '19:00:20',
7012
+ evening: '19:01:20',
7013
+ late_evening: '21:33:20',
7014
+ late_late_evening: '22:33:20',
7015
+ }.freeze, T.untyped)
7016
+
7017
+ sig { void }
7018
+ def expect_now_pulled; end
7019
+
7020
+ sig { params(less_than_now: T.untyped).void }
7021
+ def expect_due_on_parsed(less_than_now:); end
7022
+
7023
+ sig { params(less_than_now: T.untyped).void }
7024
+ def expect_start_on_parsed(less_than_now:); end
7025
+
7026
+ sig { params(less_than_now: T.untyped).void }
7027
+ def expect_start_at_parsed(less_than_now:); end
7028
+
7029
+ sig { void }
7030
+ def mock_task_ready_false_due_in_future_on_date; end
7031
+
7032
+ sig { void }
7033
+ def test_task_ready_false_due_in_future_on_date; end
7034
+
7035
+ sig { returns(T.untyped) }
7036
+ def mock_task_ready_true_start_in_past; end
7037
+
7038
+ sig { void }
7039
+ def test_task_ready_true_start_in_past; end
7040
+
7041
+ sig { void }
7042
+ def mock_task_ready_true_start_in_past_time; end
7043
+
7044
+ sig { void }
7045
+ def test_task_ready_true_start_in_past_time; end
7046
+
7047
+ sig { params(less_than_now: T.untyped).void }
7048
+ def expect_due_at_parsed(less_than_now:); end
7049
+
7050
+ sig { void }
7051
+ def mock_task_ready_false_due_in_future_at_time; end
7052
+
7053
+ sig { void }
7054
+ def test_task_ready_false_due_in_future_at_time; end
7055
+
7056
+ sig { params(task: T.untyped, dependency_gids: T.untyped).void }
7057
+ def expect_dependency_gids_pulled(task, dependency_gids); end
7058
+
7059
+ sig { void }
7060
+ def test_task_ready_true_no_due_anything; end
7061
+
7062
+ sig { void }
7063
+ def expect_asana_tasks_client_pulled; end
7064
+
7065
+ sig { void }
7066
+ def default_fields; end
7067
+
7068
+ sig { params(extra_fields: T.untyped).void }
7069
+ def fields_including(extra_fields); end
7070
+
7071
+ sig { params(dependency_gid: T.untyped, dependency_full_task: T.untyped, completed: T.untyped).void }
7072
+ def expect_dependency_completion_pulled(dependency_gid, dependency_full_task, completed); end
7073
+
7074
+ sig { void }
7075
+ def mock_task_ready_false_dependency; end
7076
+
7077
+ sig { returns(T.untyped) }
7078
+ def test_task_ready_false_dependency; end
7079
+
7080
+ sig { void }
7081
+ def test_task_ready_false_dependency_cached; end
7082
+
7083
+ sig do
7084
+ params(
7085
+ start_on: T.untyped,
7086
+ start_at: T.untyped,
7087
+ due_on: T.untyped,
7088
+ due_at: T.untyped
7089
+ ).void
7090
+ end
7091
+ def allow_task_due(start_on: nil, start_at: nil, due_on: nil, due_at: nil); end
7092
+
7093
+ sig { params(task: T.untyped, start_at: T.untyped).void }
7094
+ def allow_start_at_pulled(task, start_at); end
7095
+
7096
+ sig { params(task: T.untyped, start_on: T.untyped).returns(T.untyped) }
7097
+ def allow_start_on_pulled(task, start_on); end
7098
+
7099
+ sig { params(task: T.untyped, due_at: T.untyped).void }
7100
+ def allow_due_at_pulled(task, due_at); end
7101
+
7102
+ sig { params(task: T.untyped, due_on: T.untyped).returns(T.untyped) }
7103
+ def allow_due_on_pulled(task, due_on); end
7104
+
7105
+ sig { returns(T.untyped) }
7106
+ def test_url_of_task; end
7107
+
7108
+ sig { returns(T.untyped) }
7109
+ def expect_task_created; end
7110
+
7111
+ sig { void }
7112
+ def mock_add_task; end
7113
+
7114
+ sig { void }
7115
+ def test_add_task; end
7116
+
7117
+ sig { returns(T.untyped) }
7118
+ def expect_tasks_from_project_pulled; end
7119
+
7120
+ sig { void }
7121
+ def expect_project_pulled; end
7122
+
7123
+ sig { params(extra_fields: T.untyped).returns(T.untyped) }
7124
+ def expect_task_by_gid_pulled(extra_fields: []); end
7125
+
7126
+ sig { returns(T.untyped) }
7127
+ def expect_tasks_from_section_pulled; end
7128
+
7129
+ sig { returns(T.untyped) }
7130
+ def projects; end
7131
+
7132
+ sig { returns(T.untyped) }
7133
+ def expect_task_options_pulled; end
7134
+
7135
+ sig { returns(T.untyped) }
7136
+ def mock_task_with_section; end
7137
+
7138
+ sig { void }
7139
+ def test_task_with_section; end
7140
+
7141
+ sig { returns(T.untyped) }
7142
+ def mock_task; end
7143
+
7144
+ sig { void }
7145
+ def test_task; end
7146
+
7147
+ sig { void }
7148
+ def test_in_portfolio_more_than_once; end
7149
+
7150
+ sig { void }
7151
+ def test_in_portfolio_more_than_once_true; end
7152
+
7153
+ sig { void }
7154
+ def test_gid_for_task; end
7155
+
7156
+ sig { void }
7157
+ def test_gid_for_task_not_found; end
7158
+
7159
+ sig { returns(T.untyped) }
7160
+ def test_task_to_h_delegates; end
7161
+
7162
+ sig { void }
7163
+ def expect_default_workspace_name_pulled; end
7164
+
7165
+ sig { void }
7166
+ def mock_in_portfolio_named_false_no_projects_no_memberships; end
7167
+
7168
+ sig { void }
7169
+ def test_in_portfolio_named_false_no_projects_no_memberships; end
7170
+
7171
+ sig { void }
7172
+ def mock_in_portfolio_named_false_no_projects_but_memberships; end
7173
+
7174
+ sig { void }
7175
+ def test_in_portfolio_named_false_no_projects_but_memberships; end
7176
+
7177
+ sig { void }
7178
+ def mock_in_portfolio_named_false_projects_wrong_memberships; end
7179
+
7180
+ sig { void }
7181
+ def test_in_portfolio_named_false_projects_wrong_memberships; end
7182
+
7183
+ sig { void }
7184
+ def test_date_or_time_field_by_name; end
7185
+
7186
+ sig { void }
7187
+ def test_h_to_task; end
7188
+
7189
+ sig { void }
7190
+ def test_all_dependent_tasks_empty; end
7191
+
7192
+ sig { void }
7193
+ def test_all_dependent_tasks_one; end
7194
+
7195
+ sig { void }
7196
+ def test_as_cache_key; end
7197
+
7198
+ sig { void }
7199
+ def class_under_test; end
7200
+ end
7201
+
7202
+ # Test the Checkoff::CLI class with mv subcommand
7203
+ class TestCLIMv < Minitest::Test
6996
7204
  sig { void }
6997
7205
  def expect_workspaces_created; end
6998
7206
 
@@ -7280,6 +7488,99 @@ end
7280
7488
  # Test the Checkoff::Projects class
7281
7489
  class TestProjects < BaseAsana
7282
7490
  extend Forwardable
7491
+ TIME_BY_PERIOD = T.let({
7492
+ two_am: '02:00:20',
7493
+ morning_during_breakfast: '07:30:20',
7494
+ morning: '07:33:20',
7495
+ eight_thirty_am: '8:30:00',
7496
+ ten_am: '10:00:20',
7497
+ mid_morning: '10:33:20',
7498
+ eleven_thirty_am: '11:30:00',
7499
+ afternoon: '14:33:20',
7500
+ three_forty_five_pm: '15:45:20',
7501
+ four_fifteen_pm: '16:15:20',
7502
+ four_forty_five_pm: '16:45:20',
7503
+ five_forty_five_pm: '17:45:20',
7504
+ six_fifteen_pm: '18:15:00',
7505
+ six_forty_five_pm: '18:45:00',
7506
+ night: '19:00:20',
7507
+ evening: '19:01:20',
7508
+ late_evening: '21:33:20',
7509
+ late_late_evening: '22:33:20',
7510
+ }.freeze, T.untyped)
7511
+
7512
+ sig { void }
7513
+ def setup_config; end
7514
+
7515
+ sig { void }
7516
+ def setup_projects_pulled; end
7517
+
7518
+ sig { void }
7519
+ def sample_projects; end
7520
+
7521
+ sig { params(workspace_gid: T.untyped).returns(T.untyped) }
7522
+ def setup_projects_queried(workspace_gid: my_workspace_gid); end
7523
+
7524
+ sig { params(options: T.untyped).void }
7525
+ def expect_tasks_found(options:); end
7526
+
7527
+ sig { params(options: T.untyped).void }
7528
+ def mock_tasks_from_project(options:); end
7529
+
7530
+ sig { void }
7531
+ def test_tasks_from_project_not_only_uncompleted; end
7532
+
7533
+ sig { void }
7534
+ def test_tasks_from_project; end
7535
+
7536
+ sig { void }
7537
+ def test_active_tasks; end
7538
+
7539
+ sig { void }
7540
+ def setup_workspace_pulled; end
7541
+
7542
+ sig { void }
7543
+ def setup_user_task_list_pulled; end
7544
+
7545
+ sig { void }
7546
+ def mock_project_or_raise_unknown; end
7547
+
7548
+ sig { void }
7549
+ def test_project_or_raise_unknown; end
7550
+
7551
+ sig { returns(T.untyped) }
7552
+ def test_project_by_gid; end
7553
+
7554
+ sig { void }
7555
+ def test_project_or_raise_my_tasks; end
7556
+
7557
+ sig { returns(T.untyped) }
7558
+ def mock_project_my_tasks; end
7559
+
7560
+ sig { void }
7561
+ def test_project_my_tasks; end
7562
+
7563
+ sig { returns(T.untyped) }
7564
+ def test_project_to_h; end
7565
+
7566
+ sig { returns(T.untyped) }
7567
+ def mock_test_in_period; end
7568
+
7569
+ sig { void }
7570
+ def test_in_period; end
7571
+
7572
+ sig { void }
7573
+ def mock_project_ready; end
7574
+
7575
+ sig { void }
7576
+ def test_project_ready; end
7577
+
7578
+ sig { void }
7579
+ def class_under_test; end
7580
+ end
7581
+
7582
+ # Test the Checkoff::Sections class
7583
+ class TestSections < BaseAsana
7283
7584
  extend Forwardable
7284
7585
  TIME_BY_PERIOD = T.let({
7285
7586
  two_am: '02:00:20',
@@ -7684,6 +7985,53 @@ end
7684
7985
  # Test the Checkoff::Workspaces class
7685
7986
  class TestWorkspaces < BaseAsana
7686
7987
  extend Forwardable
7988
+ TIME_BY_PERIOD = T.let({
7989
+ two_am: '02:00:20',
7990
+ morning_during_breakfast: '07:30:20',
7991
+ morning: '07:33:20',
7992
+ eight_thirty_am: '8:30:00',
7993
+ ten_am: '10:00:20',
7994
+ mid_morning: '10:33:20',
7995
+ eleven_thirty_am: '11:30:00',
7996
+ afternoon: '14:33:20',
7997
+ three_forty_five_pm: '15:45:20',
7998
+ four_fifteen_pm: '16:15:20',
7999
+ four_forty_five_pm: '16:45:20',
8000
+ five_forty_five_pm: '17:45:20',
8001
+ six_fifteen_pm: '18:15:00',
8002
+ six_forty_five_pm: '18:45:00',
8003
+ night: '19:00:20',
8004
+ evening: '19:01:20',
8005
+ late_evening: '21:33:20',
8006
+ late_late_evening: '22:33:20',
8007
+ }.freeze, T.untyped)
8008
+
8009
+ sig { void }
8010
+ def mock_workspace_or_raise_nil; end
8011
+
8012
+ sig { void }
8013
+ def test_workspace_or_raise_nil; end
8014
+
8015
+ sig { void }
8016
+ def mock_workspace_or_raise; end
8017
+
8018
+ sig { void }
8019
+ def test_workspace_or_raise; end
8020
+
8021
+ sig { void }
8022
+ def expect_default_workspace_gid_config_fetched; end
8023
+
8024
+ sig { void }
8025
+ def test_default_workspace_gid; end
8026
+
8027
+ sig { void }
8028
+ def test_default_workspace; end
8029
+
8030
+ sig { void }
8031
+ def class_under_test; end
8032
+ end
8033
+
8034
+ class TestAttachments < ClassTest
7687
8035
  extend Forwardable
7688
8036
 
7689
8037
  sig { params(url: T.untyped).void }
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.248.0
4
+ version: 0.249.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: 2026-05-25 00:00:00.000000000 Z
11
+ date: 2026-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport