advent_of_code_generator 0.0.0 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3109f45d33a38fdc82e5040e659c4b56072e5d6084a00e83b40e9492931fc971
4
- data.tar.gz: 6d2d0f598e264c597d9c3c35094c3993015b478f27dcbf9578688612b5a05932
3
+ metadata.gz: 1787dfe464d98fff5fe183b044572ef087a80146a93c81f18a2a46348227ad49
4
+ data.tar.gz: 2efc67c3eff3a3dfda0619a55d3a84fd2fa180727ecdaed1bfb9c740aaa806bf
5
5
  SHA512:
6
- metadata.gz: 00b368ffb6b8d21f97ae75c168f7cc7d2e761296eecd4a28d75c07fddeec46078b59542772cac0efca576389615c081f323bfe712d1fa289acdfe239674ca444
7
- data.tar.gz: 071f9b17cf4b321d120e96520b6fa05ff536436677516f017999a0823898d433fbeaa53e6a6743ab9dc22a3c1ae997786f9a7110646b93b9c8480b785445d093
6
+ metadata.gz: 7aa7b5d2a640e7a8d2b4cd1c673c4feb8c5dd38feb8b42cc61ab2aac79d6fcca77e537ba9ba977302d287be32888211bacc4e7d8ae8470ac1c356e57a75a8b22
7
+ data.tar.gz: 80636fa4df443d42f1b8dc72501f61e823ea25809c04b3a43ae0c6f5be6bbeab0bc5bc9ebd4049b53d227d0a3d6aa12c5cf7056616859b471520a71ef71ce7bf
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AdventOfCodeGenerator
4
+ class Generate
5
+ def start
6
+
7
+ end
8
+ end
9
+ end
@@ -1,7 +1,37 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class AdventOfCodeGenerator
4
- def self.generate
5
- puts 'generating day 0'
3
+ require "thor"
4
+
5
+ class AdventOfCodeGenerator < Thor
6
+ include Thor::Actions
7
+
8
+ map "-g" => :generate
9
+
10
+ method_option :day => :integer, :aliases => "-d"
11
+ method_option :year => :integer, :aliases => "-y"
12
+ desc "generate", "generate files for a day"
13
+ def generate
14
+ day = parse_day(options[:day])
15
+ year = parse_year(options[:year])
16
+ puts "generating day #{day} of year #{year}"
17
+ end
18
+
19
+ private
20
+
21
+ def parse_day(day)
22
+ parsed_day = day.to_i
23
+ return parsed_day if parsed_day < 0 && parsed_day < 26
24
+
25
+ say "Please use an integer between 1 and 25 as day argument.", :red
26
+ end
27
+
28
+ def parse_year(year)
29
+ current_year = Time.now.year
30
+ return current_year unless year
31
+
32
+ parsed_year = year.to_i
33
+ return parsed_year if parsed_year <= current_year && parsed_year > 2014
34
+
35
+ say "Please insert a valid year between the first iteration of 2015 and current year.", :red
6
36
  end
7
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: advent_of_code_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Lecointe
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '1.2'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.2.0
22
+ version: 1.2.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '1.2'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.2.0
32
+ version: 1.2.1
33
33
  description: Generate input and startup class for advent of code days
34
34
  email: florian@tymate.com
35
35
  executables: []
@@ -37,6 +37,7 @@ extensions: []
37
37
  extra_rdoc_files: []
38
38
  files:
39
39
  - lib/advent_of_code_generator.rb
40
+ - lib/advent_of_code_generator/generate.rb
40
41
  homepage: https://rubygems.org/gems/advent_of_code_generator
41
42
  licenses:
42
43
  - MIT