aoc_cli 0.2.3 → 1.0.1

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.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/.rubocop.yml +88 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +8 -0
  6. data/Gemfile.lock +187 -0
  7. data/README.md +88 -282
  8. data/Rakefile +9 -2
  9. data/Steepfile +13 -0
  10. data/aoc_cli.gemspec +36 -26
  11. data/db/migrate/1_create_events.rb +14 -0
  12. data/db/migrate/2_create_puzzles.rb +21 -0
  13. data/db/migrate/3_create_stats.rb +19 -0
  14. data/db/migrate/4_create_attempts.rb +19 -0
  15. data/db/migrate/5_create_locations.rb +17 -0
  16. data/db/migrate/6_create_puzzle_dir_sync_logs.rb +18 -0
  17. data/db/migrate/7_create_progresses.rb +17 -0
  18. data/db/migrate/8_remove_legacy_timestamps.rb +8 -0
  19. data/exe/aoc +5 -0
  20. data/lib/aoc_cli/components/attempts_table.erb +5 -0
  21. data/lib/aoc_cli/components/attempts_table.rb +58 -0
  22. data/lib/aoc_cli/components/docs_component.erb +19 -0
  23. data/lib/aoc_cli/components/docs_component.rb +41 -0
  24. data/lib/aoc_cli/components/errors_component.erb +8 -0
  25. data/lib/aoc_cli/components/errors_component.rb +36 -0
  26. data/lib/aoc_cli/components/progress_table.erb +1 -0
  27. data/lib/aoc_cli/components/progress_table.rb +43 -0
  28. data/lib/aoc_cli/components/puzzle_sync_component.erb +2 -0
  29. data/lib/aoc_cli/components/puzzle_sync_component.rb +26 -0
  30. data/lib/aoc_cli/configurators/session_configurator.rb +7 -0
  31. data/lib/aoc_cli/controllers/application_controller.rb +27 -0
  32. data/lib/aoc_cli/controllers/concerns/error_concern.rb +17 -0
  33. data/lib/aoc_cli/controllers/concerns/location_concern.rb +79 -0
  34. data/lib/aoc_cli/controllers/default_controller.rb +9 -0
  35. data/lib/aoc_cli/controllers/event_controller.rb +35 -0
  36. data/lib/aoc_cli/controllers/help/event_controller.rb +11 -0
  37. data/lib/aoc_cli/controllers/help/puzzle_controller.rb +13 -0
  38. data/lib/aoc_cli/controllers/puzzle_controller.rb +39 -0
  39. data/lib/aoc_cli/core/attempt_parser.rb +69 -0
  40. data/lib/aoc_cli/core/processor.rb +32 -0
  41. data/lib/aoc_cli/core/repository.rb +74 -0
  42. data/lib/aoc_cli/core/request.rb +37 -0
  43. data/lib/aoc_cli/core/resource.rb +39 -0
  44. data/lib/aoc_cli/core/stats_parser.rb +43 -0
  45. data/lib/aoc_cli/helpers/table_generator.rb +64 -0
  46. data/lib/aoc_cli/helpers/view_helper.rb +35 -0
  47. data/lib/aoc_cli/models/attempt.rb +67 -0
  48. data/lib/aoc_cli/models/event.rb +9 -0
  49. data/lib/aoc_cli/models/location.rb +24 -0
  50. data/lib/aoc_cli/models/progress.rb +33 -0
  51. data/lib/aoc_cli/models/puzzle.rb +28 -0
  52. data/lib/aoc_cli/models/puzzle_dir_sync_log.rb +14 -0
  53. data/lib/aoc_cli/models/stats.rb +43 -0
  54. data/lib/aoc_cli/presenters/attempt_presenter.rb +29 -0
  55. data/lib/aoc_cli/presenters/puzzle_presenter.rb +29 -0
  56. data/lib/aoc_cli/presenters/stats_presenter.rb +32 -0
  57. data/lib/aoc_cli/processors/event_initialiser.rb +64 -0
  58. data/lib/aoc_cli/processors/progress_syncer.rb +48 -0
  59. data/lib/aoc_cli/processors/puzzle_dir_synchroniser.rb +80 -0
  60. data/lib/aoc_cli/processors/puzzle_initialiser.rb +106 -0
  61. data/lib/aoc_cli/processors/puzzle_refresher.rb +27 -0
  62. data/lib/aoc_cli/processors/resource_attacher.rb +22 -0
  63. data/lib/aoc_cli/processors/solution_poster.rb +72 -0
  64. data/lib/aoc_cli/processors/stats_initialiser.rb +36 -0
  65. data/lib/aoc_cli/processors/stats_refresher.rb +23 -0
  66. data/lib/aoc_cli/validators/collection_type_validator.rb +57 -0
  67. data/lib/aoc_cli/validators/event_year_validator.rb +42 -0
  68. data/lib/aoc_cli/validators/included_validator.rb +21 -0
  69. data/lib/aoc_cli/validators/integer_validator.rb +32 -0
  70. data/lib/aoc_cli/validators/path_validator.rb +39 -0
  71. data/lib/aoc_cli/validators/type_validator.rb +54 -0
  72. data/lib/aoc_cli/version.rb +1 -1
  73. data/lib/aoc_cli/views/event/attach.erb +3 -0
  74. data/lib/aoc_cli/views/event/init.erb +3 -0
  75. data/lib/aoc_cli/views/help/event/attach.erb +32 -0
  76. data/lib/aoc_cli/views/help/event/init.erb +38 -0
  77. data/lib/aoc_cli/views/help/event/progress.erb +12 -0
  78. data/lib/aoc_cli/views/help/puzzle/attempts.erb +12 -0
  79. data/lib/aoc_cli/views/help/puzzle/init.erb +31 -0
  80. data/lib/aoc_cli/views/help/puzzle/solve.erb +33 -0
  81. data/lib/aoc_cli/views/help/puzzle/sync.erb +32 -0
  82. data/lib/aoc_cli/views/puzzle/init.erb +3 -0
  83. data/lib/aoc_cli/views/puzzle/solve.erb +10 -0
  84. data/lib/aoc_cli.rb +36 -16
  85. data/rbs_collection.lock.yaml +168 -0
  86. data/rbs_collection.yaml +28 -0
  87. data/sig/aoc_cli/components/attempts_table.rbs +29 -0
  88. data/sig/aoc_cli/components/docs_component.rbs +15 -0
  89. data/sig/aoc_cli/components/errors_component.rbs +19 -0
  90. data/sig/aoc_cli/components/progress_table.rbs +28 -0
  91. data/sig/aoc_cli/components/puzzle_sync_component.rbs +19 -0
  92. data/sig/aoc_cli/configurators/session_configurator.rbs +7 -0
  93. data/sig/aoc_cli/controllers/application_controller.rbs +12 -0
  94. data/sig/aoc_cli/controllers/concerns/error_concern.rbs +9 -0
  95. data/sig/aoc_cli/controllers/concerns/location_concern.rbs +35 -0
  96. data/sig/aoc_cli/controllers/default_controller.rbs +7 -0
  97. data/sig/aoc_cli/controllers/event_controller.rbs +18 -0
  98. data/sig/aoc_cli/controllers/help/event_controller.rbs +11 -0
  99. data/sig/aoc_cli/controllers/help/puzzle_controller.rbs +13 -0
  100. data/sig/aoc_cli/controllers/puzzle_controller.rbs +15 -0
  101. data/sig/aoc_cli/core/attempt_parser.rbs +41 -0
  102. data/sig/aoc_cli/core/processor.rbs +25 -0
  103. data/sig/aoc_cli/core/repository.rbs +25 -0
  104. data/sig/aoc_cli/core/request.rbs +29 -0
  105. data/sig/aoc_cli/core/resource.rbs +25 -0
  106. data/sig/aoc_cli/core/stats_parser.rbs +23 -0
  107. data/sig/aoc_cli/helpers/table_generator.rbs +36 -0
  108. data/sig/aoc_cli/helpers/view_helper.rbs +15 -0
  109. data/sig/aoc_cli/models/attempt.rbs +35 -0
  110. data/sig/aoc_cli/models/event.rbs +17 -0
  111. data/sig/aoc_cli/models/location.rbs +19 -0
  112. data/sig/aoc_cli/models/progress.rbs +21 -0
  113. data/sig/aoc_cli/models/puzzle.rbs +27 -0
  114. data/sig/aoc_cli/models/puzzle_dir_sync_log.rbs +11 -0
  115. data/sig/aoc_cli/models/stats.rbs +53 -0
  116. data/sig/aoc_cli/presenters/attempt_presenter.rbs +13 -0
  117. data/sig/aoc_cli/presenters/puzzle_presenter.rbs +19 -0
  118. data/sig/aoc_cli/presenters/stats_presenter.rbs +19 -0
  119. data/sig/aoc_cli/processors/event_initialiser.rbs +26 -0
  120. data/sig/aoc_cli/processors/progress_syncer.rbs +29 -0
  121. data/sig/aoc_cli/processors/puzzle_dir_synchroniser.rbs +40 -0
  122. data/sig/aoc_cli/processors/puzzle_initialiser.rbs +41 -0
  123. data/sig/aoc_cli/processors/puzzle_refresher.rbs +21 -0
  124. data/sig/aoc_cli/processors/resource_attacher.rbs +16 -0
  125. data/sig/aoc_cli/processors/solution_poster.rbs +34 -0
  126. data/sig/aoc_cli/processors/stats_initialiser.rbs +15 -0
  127. data/sig/aoc_cli/processors/stats_refresher.rbs +19 -0
  128. data/sig/aoc_cli/validators/collection_type_validator.rbs +24 -0
  129. data/sig/aoc_cli/validators/event_year_validator.rbs +19 -0
  130. data/sig/aoc_cli/validators/included_validator.rbs +11 -0
  131. data/sig/aoc_cli/validators/integer_validator.rbs +15 -0
  132. data/sig/aoc_cli/validators/path_validator.rbs +17 -0
  133. data/sig/aoc_cli/validators/type_validator.rbs +22 -0
  134. data/sig/aoc_cli.rbs +6 -0
  135. data/sig/http.rbs +3 -0
  136. data/sig/kangaru.rbs +5 -0
  137. data/sig/nokogiri.rbs +3 -0
  138. data/sig/reverse_markdown.rbs +3 -0
  139. metadata +149 -34
  140. data/.gitignore +0 -5
  141. data/bin/aoc +0 -4
  142. data/bin/console +0 -15
  143. data/bin/setup +0 -7
  144. data/lib/aoc_cli/commands.rb +0 -232
  145. data/lib/aoc_cli/database.rb +0 -224
  146. data/lib/aoc_cli/day.rb +0 -124
  147. data/lib/aoc_cli/db/reddit.db +0 -0
  148. data/lib/aoc_cli/errors.rb +0 -275
  149. data/lib/aoc_cli/files.rb +0 -163
  150. data/lib/aoc_cli/help.rb +0 -77
  151. data/lib/aoc_cli/interface.rb +0 -81
  152. data/lib/aoc_cli/paths.rb +0 -101
  153. data/lib/aoc_cli/solve.rb +0 -104
  154. data/lib/aoc_cli/tables.rb +0 -138
  155. data/lib/aoc_cli/tools.rb +0 -120
  156. data/lib/aoc_cli/year.rb +0 -116
  157. data/sample/aoc.rc +0 -21
@@ -0,0 +1,34 @@
1
+ module AocCli
2
+ module Processors
3
+ class SolutionPoster < Core::Processor
4
+ attr_accessor puzzle: Puzzle
5
+ attr_accessor answer: Integer
6
+
7
+ def run: -> Attempt
8
+
9
+ def self.run!: (puzzle: untyped, answer: untyped) -> Attempt
10
+
11
+ private
12
+
13
+ # Delegated to @puzzle
14
+ def event: -> Event
15
+ def location: -> Location
16
+ def year: -> Integer
17
+ def day: -> Integer
18
+
19
+ attr_reader level: Integer
20
+
21
+ def post_solution!: -> Hash[Symbol, untyped]
22
+
23
+ def create_attempt!: (Hash[Symbol, untyped]) -> Attempt
24
+
25
+ def advance_puzzle!: -> void
26
+
27
+ def validate_puzzle_location_set!: -> void
28
+
29
+ def validate_stats_associated!: -> void
30
+
31
+ def validate_puzzle_not_complete!: -> void
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,15 @@
1
+ module AocCli
2
+ module Processors
3
+ class StatsInitialiser < Core::Processor
4
+ attr_accessor event: Event
5
+
6
+ private
7
+
8
+ BLANK_STATS: Hash[Symbol, Integer]
9
+
10
+ def fetch_stats!: -> Hash[Symbol, Integer]
11
+
12
+ def validate_stats_do_not_exist!: -> void
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ module AocCli
2
+ module Processors
3
+ class StatsRefresher < Core::Processor
4
+ extend Forwardable
5
+
6
+ attr_accessor stats: Stats
7
+
8
+ def run: -> Stats
9
+
10
+ def self.run!: (stats: Stats) -> Stats
11
+
12
+ private
13
+
14
+ def year: -> Integer
15
+
16
+ def updated_stats: -> Hash[Symbol, Integer]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ module AocCli
2
+ module Validators
3
+ class CollectionTypeValidator < Kangaru::Validator
4
+
5
+ private
6
+
7
+ VALIDATION_RULES: Array[Symbol]
8
+
9
+ ERROR: String
10
+
11
+ attr_reader validation_rule: Symbol
12
+
13
+ attr_reader target_type: Class
14
+
15
+ def validate_preconditions!: -> void
16
+
17
+ def validate_all_elements!: -> void
18
+
19
+ def validate_any_elements!: -> void
20
+
21
+ def validate_none_elements!: -> void
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ module AocCli
2
+ module Validators
3
+ class EventYearValidator < Kangaru::Validator
4
+ def validate: -> untyped
5
+
6
+ private
7
+
8
+ ERRORS: Hash[Symbol, String]
9
+
10
+ MIN_YEAR: Integer
11
+
12
+ def max_year: -> untyped
13
+
14
+ def in_december?: -> bool
15
+
16
+ def validate_year!: -> void
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ module AocCli
2
+ module Validators
3
+ class IncludedValidator < Kangaru::Validator
4
+ private
5
+
6
+ ERRORS: Hash[Symbol, String]
7
+
8
+ def allowed_values: -> Array[untyped]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ module AocCli
2
+ module Validators
3
+ class IntegerValidator < Kangaru::Validator
4
+ def validate: -> void
5
+
6
+ private
7
+
8
+ ERRORS: Hash[Symbol, String]
9
+
10
+ def range: -> Range[Integer]
11
+
12
+ def validate_range!: -> void
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ module AocCli
2
+ module Validators
3
+ class PathValidator < Kangaru::Validator
4
+ def validate: -> void
5
+
6
+ private
7
+
8
+ ERRORS: Hash[Symbol, String]
9
+
10
+ def path_exists?: -> bool
11
+
12
+ def validate_path_does_not_exist!: -> void
13
+
14
+ def validate_path_exists!: -> void
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ module AocCli
2
+ module Validators
3
+ class TypeValidator < Kangaru::Validator
4
+
5
+ private
6
+
7
+ ERRORS: Hash[Symbol, String]
8
+
9
+ def valid_type: -> Class?
10
+
11
+ def valid_types: -> Array[Class]?
12
+
13
+ def error: -> String
14
+
15
+ def validate_target_type_set!: -> void
16
+
17
+ def validate_type!: -> void
18
+
19
+ def validate_type_from_list!: -> void
20
+ end
21
+ end
22
+ end
data/sig/aoc_cli.rbs ADDED
@@ -0,0 +1,6 @@
1
+ module AocCli
2
+ VERSION: String
3
+
4
+ extend Kangaru::Initialiser
5
+ extend Kangaru::Interface
6
+ end
data/sig/http.rbs ADDED
@@ -0,0 +1,3 @@
1
+ module HTTP
2
+ def self.headers: (**untyped) -> Client
3
+ end
data/sig/kangaru.rbs ADDED
@@ -0,0 +1,5 @@
1
+ module Kangaru
2
+ class Config
3
+ attr_reader session: AocCli::Configurators::SessionConfigurator
4
+ end
5
+ end
data/sig/nokogiri.rbs ADDED
@@ -0,0 +1,3 @@
1
+ module Nokogiri
2
+ def self.HTML5: (String) -> HTML::Document
3
+ end
@@ -0,0 +1,3 @@
1
+ module ReverseMarkdown
2
+ def self.convert: (String, **untyped) -> String
3
+ end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aoc_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Welham
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-13 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
- name: colorize
14
+ name: http
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: curb
28
+ name: kangaru
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: git
42
+ name: nokogiri
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pandoc-ruby
56
+ name: reverse_markdown
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: sqlite3
70
+ name: sequel_polymorphic
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -84,19 +84,21 @@ dependencies:
84
84
  name: terminal-table
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 3.0.0
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 3.0.0
97
- description: A command-line interface for the Advent of Code puzzles. Features include
96
+ version: '0'
97
+ description: 'A command-line interface for the Advent of Code puzzles. Features include
98
98
  downloading puzzles and inputs, solving puzzles and tracking year progress from
99
99
  within the terminal
100
+
101
+ '
100
102
  email:
101
103
  - welhamm@gmail.com
102
104
  executables:
@@ -104,55 +106,168 @@ executables:
104
106
  extensions: []
105
107
  extra_rdoc_files: []
106
108
  files:
107
- - ".gitignore"
109
+ - ".rspec"
110
+ - ".rubocop.yml"
111
+ - ".ruby-version"
108
112
  - CHANGELOG.md
109
113
  - Gemfile
114
+ - Gemfile.lock
110
115
  - LICENSE.txt
111
116
  - README.md
112
117
  - Rakefile
118
+ - Steepfile
113
119
  - aoc_cli.gemspec
114
- - bin/aoc
115
- - bin/console
116
- - bin/setup
120
+ - db/migrate/1_create_events.rb
121
+ - db/migrate/2_create_puzzles.rb
122
+ - db/migrate/3_create_stats.rb
123
+ - db/migrate/4_create_attempts.rb
124
+ - db/migrate/5_create_locations.rb
125
+ - db/migrate/6_create_puzzle_dir_sync_logs.rb
126
+ - db/migrate/7_create_progresses.rb
127
+ - db/migrate/8_remove_legacy_timestamps.rb
128
+ - exe/aoc
117
129
  - lib/aoc_cli.rb
118
- - lib/aoc_cli/commands.rb
119
- - lib/aoc_cli/database.rb
120
- - lib/aoc_cli/day.rb
121
- - lib/aoc_cli/db/reddit.db
122
- - lib/aoc_cli/errors.rb
123
- - lib/aoc_cli/files.rb
124
- - lib/aoc_cli/help.rb
125
- - lib/aoc_cli/interface.rb
126
- - lib/aoc_cli/paths.rb
127
- - lib/aoc_cli/solve.rb
128
- - lib/aoc_cli/tables.rb
129
- - lib/aoc_cli/tools.rb
130
+ - lib/aoc_cli/components/attempts_table.erb
131
+ - lib/aoc_cli/components/attempts_table.rb
132
+ - lib/aoc_cli/components/docs_component.erb
133
+ - lib/aoc_cli/components/docs_component.rb
134
+ - lib/aoc_cli/components/errors_component.erb
135
+ - lib/aoc_cli/components/errors_component.rb
136
+ - lib/aoc_cli/components/progress_table.erb
137
+ - lib/aoc_cli/components/progress_table.rb
138
+ - lib/aoc_cli/components/puzzle_sync_component.erb
139
+ - lib/aoc_cli/components/puzzle_sync_component.rb
140
+ - lib/aoc_cli/configurators/session_configurator.rb
141
+ - lib/aoc_cli/controllers/application_controller.rb
142
+ - lib/aoc_cli/controllers/concerns/error_concern.rb
143
+ - lib/aoc_cli/controllers/concerns/location_concern.rb
144
+ - lib/aoc_cli/controllers/default_controller.rb
145
+ - lib/aoc_cli/controllers/event_controller.rb
146
+ - lib/aoc_cli/controllers/help/event_controller.rb
147
+ - lib/aoc_cli/controllers/help/puzzle_controller.rb
148
+ - lib/aoc_cli/controllers/puzzle_controller.rb
149
+ - lib/aoc_cli/core/attempt_parser.rb
150
+ - lib/aoc_cli/core/processor.rb
151
+ - lib/aoc_cli/core/repository.rb
152
+ - lib/aoc_cli/core/request.rb
153
+ - lib/aoc_cli/core/resource.rb
154
+ - lib/aoc_cli/core/stats_parser.rb
155
+ - lib/aoc_cli/helpers/table_generator.rb
156
+ - lib/aoc_cli/helpers/view_helper.rb
157
+ - lib/aoc_cli/models/attempt.rb
158
+ - lib/aoc_cli/models/event.rb
159
+ - lib/aoc_cli/models/location.rb
160
+ - lib/aoc_cli/models/progress.rb
161
+ - lib/aoc_cli/models/puzzle.rb
162
+ - lib/aoc_cli/models/puzzle_dir_sync_log.rb
163
+ - lib/aoc_cli/models/stats.rb
164
+ - lib/aoc_cli/presenters/attempt_presenter.rb
165
+ - lib/aoc_cli/presenters/puzzle_presenter.rb
166
+ - lib/aoc_cli/presenters/stats_presenter.rb
167
+ - lib/aoc_cli/processors/event_initialiser.rb
168
+ - lib/aoc_cli/processors/progress_syncer.rb
169
+ - lib/aoc_cli/processors/puzzle_dir_synchroniser.rb
170
+ - lib/aoc_cli/processors/puzzle_initialiser.rb
171
+ - lib/aoc_cli/processors/puzzle_refresher.rb
172
+ - lib/aoc_cli/processors/resource_attacher.rb
173
+ - lib/aoc_cli/processors/solution_poster.rb
174
+ - lib/aoc_cli/processors/stats_initialiser.rb
175
+ - lib/aoc_cli/processors/stats_refresher.rb
176
+ - lib/aoc_cli/validators/collection_type_validator.rb
177
+ - lib/aoc_cli/validators/event_year_validator.rb
178
+ - lib/aoc_cli/validators/included_validator.rb
179
+ - lib/aoc_cli/validators/integer_validator.rb
180
+ - lib/aoc_cli/validators/path_validator.rb
181
+ - lib/aoc_cli/validators/type_validator.rb
130
182
  - lib/aoc_cli/version.rb
131
- - lib/aoc_cli/year.rb
132
- - sample/aoc.rc
183
+ - lib/aoc_cli/views/event/attach.erb
184
+ - lib/aoc_cli/views/event/init.erb
185
+ - lib/aoc_cli/views/help/event/attach.erb
186
+ - lib/aoc_cli/views/help/event/init.erb
187
+ - lib/aoc_cli/views/help/event/progress.erb
188
+ - lib/aoc_cli/views/help/puzzle/attempts.erb
189
+ - lib/aoc_cli/views/help/puzzle/init.erb
190
+ - lib/aoc_cli/views/help/puzzle/solve.erb
191
+ - lib/aoc_cli/views/help/puzzle/sync.erb
192
+ - lib/aoc_cli/views/puzzle/init.erb
193
+ - lib/aoc_cli/views/puzzle/solve.erb
194
+ - rbs_collection.lock.yaml
195
+ - rbs_collection.yaml
196
+ - sig/aoc_cli.rbs
197
+ - sig/aoc_cli/components/attempts_table.rbs
198
+ - sig/aoc_cli/components/docs_component.rbs
199
+ - sig/aoc_cli/components/errors_component.rbs
200
+ - sig/aoc_cli/components/progress_table.rbs
201
+ - sig/aoc_cli/components/puzzle_sync_component.rbs
202
+ - sig/aoc_cli/configurators/session_configurator.rbs
203
+ - sig/aoc_cli/controllers/application_controller.rbs
204
+ - sig/aoc_cli/controllers/concerns/error_concern.rbs
205
+ - sig/aoc_cli/controllers/concerns/location_concern.rbs
206
+ - sig/aoc_cli/controllers/default_controller.rbs
207
+ - sig/aoc_cli/controllers/event_controller.rbs
208
+ - sig/aoc_cli/controllers/help/event_controller.rbs
209
+ - sig/aoc_cli/controllers/help/puzzle_controller.rbs
210
+ - sig/aoc_cli/controllers/puzzle_controller.rbs
211
+ - sig/aoc_cli/core/attempt_parser.rbs
212
+ - sig/aoc_cli/core/processor.rbs
213
+ - sig/aoc_cli/core/repository.rbs
214
+ - sig/aoc_cli/core/request.rbs
215
+ - sig/aoc_cli/core/resource.rbs
216
+ - sig/aoc_cli/core/stats_parser.rbs
217
+ - sig/aoc_cli/helpers/table_generator.rbs
218
+ - sig/aoc_cli/helpers/view_helper.rbs
219
+ - sig/aoc_cli/models/attempt.rbs
220
+ - sig/aoc_cli/models/event.rbs
221
+ - sig/aoc_cli/models/location.rbs
222
+ - sig/aoc_cli/models/progress.rbs
223
+ - sig/aoc_cli/models/puzzle.rbs
224
+ - sig/aoc_cli/models/puzzle_dir_sync_log.rbs
225
+ - sig/aoc_cli/models/stats.rbs
226
+ - sig/aoc_cli/presenters/attempt_presenter.rbs
227
+ - sig/aoc_cli/presenters/puzzle_presenter.rbs
228
+ - sig/aoc_cli/presenters/stats_presenter.rbs
229
+ - sig/aoc_cli/processors/event_initialiser.rbs
230
+ - sig/aoc_cli/processors/progress_syncer.rbs
231
+ - sig/aoc_cli/processors/puzzle_dir_synchroniser.rbs
232
+ - sig/aoc_cli/processors/puzzle_initialiser.rbs
233
+ - sig/aoc_cli/processors/puzzle_refresher.rbs
234
+ - sig/aoc_cli/processors/resource_attacher.rbs
235
+ - sig/aoc_cli/processors/solution_poster.rbs
236
+ - sig/aoc_cli/processors/stats_initialiser.rbs
237
+ - sig/aoc_cli/processors/stats_refresher.rbs
238
+ - sig/aoc_cli/validators/collection_type_validator.rbs
239
+ - sig/aoc_cli/validators/event_year_validator.rbs
240
+ - sig/aoc_cli/validators/included_validator.rbs
241
+ - sig/aoc_cli/validators/integer_validator.rbs
242
+ - sig/aoc_cli/validators/path_validator.rbs
243
+ - sig/aoc_cli/validators/type_validator.rbs
244
+ - sig/http.rbs
245
+ - sig/kangaru.rbs
246
+ - sig/nokogiri.rbs
247
+ - sig/reverse_markdown.rbs
133
248
  homepage: https://github.com/apexatoll/aoc-cli
134
249
  licenses:
135
250
  - MIT
136
251
  metadata:
137
252
  homepage_uri: https://github.com/apexatoll/aoc-cli
138
253
  source_code_uri: https://github.com/apexatoll/aoc-cli
139
- changelog_uri: https://github.com/apexatoll/aoc-cli/CHANGELOG.md
140
254
  post_install_message:
141
255
  rdoc_options: []
142
256
  require_paths:
143
257
  - lib
258
+ - db
144
259
  required_ruby_version: !ruby/object:Gem::Requirement
145
260
  requirements:
146
261
  - - ">="
147
262
  - !ruby/object:Gem::Version
148
- version: 2.3.0
263
+ version: 3.2.0
149
264
  required_rubygems_version: !ruby/object:Gem::Requirement
150
265
  requirements:
151
266
  - - ">="
152
267
  - !ruby/object:Gem::Version
153
268
  version: '0'
154
269
  requirements: []
155
- rubygems_version: 3.2.3
270
+ rubygems_version: 3.4.1
156
271
  signing_key:
157
272
  specification_version: 4
158
273
  summary: A command-line interface for the Advent of Code puzzles
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- tags
2
- pkg/**
3
- tests/**
4
- tests
5
- pkg
data/bin/aoc DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require_relative '../lib/aoc_cli.rb'
4
- AocCli::Interface::Query.new
data/bin/console DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "bundler/setup"
5
- require "aoc_cli"
6
-
7
- # You can add fixtures and/or initialization code here to make experimenting
8
- # with your gem easier. You can also use a different console, if you like.
9
-
10
- # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
13
-
14
- require "irb"
15
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
-
7
- bundle install