advent_of_code_generator 1.0.0 → 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.
- checksums.yaml +4 -4
- data/README.md +22 -1
- data/lib/advent_of_code_generator/generate_day.rb +16 -9
- data/lib/advent_of_code_generator/templates/empty_day.tt +2 -2
- data/lib/advent_of_code_generator/utils/parser.rb +1 -9
- data/lib/advent_of_code_generator/utils/version.rb +1 -1
- data/lib/advent_of_code_generator.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7edb73d2264ff39da5a3eccb4b3cef4766f920bb5f8c27d798585c6ce2e945ed
|
4
|
+
data.tar.gz: '059f62d54f1049df523518674d56dcb7db5ab6f96dd5309da149b4a19e203b95'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dffc5cd6a6c0aa711532ce643ede0f5fd8dc2ab0e30773e41244c6e722989fb6f16c212b39b870f2bd91de64af320e4b5b31b08ae1062111e5972e36b1c32065
|
7
|
+
data.tar.gz: 4ac450d516794e5bfd80eecaaf4a0e3196f578941e85eb9e69ee82626f0d8c5c43cf2889a4f5fa8118ab25f4a1e98eb05d1ed1c6c661243b5203110930332054
|
data/README.md
CHANGED
@@ -15,7 +15,28 @@ Then run bundle install and your up to go !
|
|
15
15
|
|
16
16
|
## Usage
|
17
17
|
|
18
|
-
|
18
|
+
### Generate
|
19
|
+
|
20
|
+
For this gem to work, we need to use you Advent of code session cookie in order to fetch your input. You can find
|
21
|
+
it in the cookies of https://adventofcode.com/2022/day/DAY/input. Add it to you environment variables as:
|
22
|
+
|
23
|
+
```
|
24
|
+
export AOC_COOKIE=COOKIE
|
25
|
+
```
|
26
|
+
|
27
|
+
To generate a day of the current year, run:
|
28
|
+
|
29
|
+
$ bundle exec aoc generate --day DAY
|
30
|
+
|
31
|
+
This will create a directory for the day DAY with the ruby file class to solve the puzzle and the input file.
|
32
|
+
|
33
|
+
### Solve
|
34
|
+
|
35
|
+
Incomming command
|
36
|
+
|
37
|
+
### Publish
|
38
|
+
|
39
|
+
Incomming command
|
19
40
|
|
20
41
|
## Contributing
|
21
42
|
|
@@ -6,28 +6,28 @@ module AdventOfCodeGenerator
|
|
6
6
|
class GenerateDay < Thor::Group
|
7
7
|
include Thor::Actions
|
8
8
|
|
9
|
-
class_option :day
|
10
|
-
class_option :year
|
9
|
+
class_option :day, :type => :numeric
|
10
|
+
class_option :year, :type => :numeric
|
11
11
|
|
12
12
|
def self.source_root
|
13
13
|
File.dirname(__FILE__)
|
14
14
|
end
|
15
15
|
|
16
16
|
def create_day_directory
|
17
|
-
unless Dir.exist?(
|
17
|
+
unless Dir.exist?(day_name)
|
18
18
|
say "Creating day #{day} directory", :green
|
19
|
-
Dir.mkdir(
|
19
|
+
Dir.mkdir(day_name)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
def create_solution_file
|
24
24
|
say "Creating day #{day} solution file", :green
|
25
|
-
template('templates/empty_day.tt', "#{day
|
25
|
+
template('templates/empty_day.tt', "#{day_name}/day#{day_name}.rb")
|
26
26
|
end
|
27
27
|
|
28
28
|
def create_input_file
|
29
29
|
say "Creating day #{day} input file", :green
|
30
|
-
create_file "#{
|
30
|
+
create_file "#{day_name}/input.txt", fetch_input
|
31
31
|
end
|
32
32
|
|
33
33
|
def prints_done
|
@@ -37,8 +37,9 @@ module AdventOfCodeGenerator
|
|
37
37
|
private
|
38
38
|
|
39
39
|
def fetch_input
|
40
|
+
binding.pry
|
40
41
|
RestClient.get(
|
41
|
-
"https://adventofcode.com/#{year}/day/#{day
|
42
|
+
"https://adventofcode.com/#{year}/day/#{day}/input",
|
42
43
|
cookies: { session: ENV.fetch('AOC_COOKIE', '') },
|
43
44
|
'User-Agent' => "github.com/Tyflomate/advent_of_code_generator by florian@tymate.com"
|
44
45
|
).body
|
@@ -47,11 +48,17 @@ module AdventOfCodeGenerator
|
|
47
48
|
end
|
48
49
|
|
49
50
|
def day
|
50
|
-
options[:day]
|
51
|
+
@day ||= options[:day]
|
52
|
+
end
|
53
|
+
|
54
|
+
def day_name
|
55
|
+
return day.to_s if day > 9
|
56
|
+
|
57
|
+
"0#{day}"
|
51
58
|
end
|
52
59
|
|
53
60
|
def year
|
54
|
-
options[:year]
|
61
|
+
@year ||= options[:year]
|
55
62
|
end
|
56
63
|
end
|
57
64
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module AdventOfCodeGenerator
|
4
4
|
module Parser
|
5
5
|
def parse_day(day)
|
6
|
-
return
|
6
|
+
return day if day > 0 && day < 26
|
7
7
|
|
8
8
|
raise InvalidDayError
|
9
9
|
end
|
@@ -15,13 +15,5 @@ module AdventOfCodeGenerator
|
|
15
15
|
|
16
16
|
raise InvalidYearError
|
17
17
|
end
|
18
|
-
|
19
|
-
private
|
20
|
-
|
21
|
-
def day_to_string(day)
|
22
|
-
return day.to_s if day > 9
|
23
|
-
|
24
|
-
"0#{day}"
|
25
|
-
end
|
26
18
|
end
|
27
19
|
end
|
@@ -21,7 +21,7 @@ module AdventOfCodeGenerator
|
|
21
21
|
day = parse_day(options[:day])
|
22
22
|
year = parse_year(options[:year])
|
23
23
|
|
24
|
-
invoke 'generateDay', :day => day, :year => year
|
24
|
+
invoke 'generateDay', [], :day => day, :year => year
|
25
25
|
rescue AdventOfCodeGenerator::Error => e
|
26
26
|
say e.message, :red
|
27
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: advent_of_code_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Lecointe
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-12-
|
11
|
+
date: 2022-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|