software_challenge_client 22.1.0.1 → 23.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -15
  3. data/.rspec +3 -3
  4. data/.rubocop.yml +11 -11
  5. data/.ruby-version +1 -1
  6. data/.stickler.yml +7 -7
  7. data/.vscode/launch.json +40 -40
  8. data/.vscode/settings.json +9 -9
  9. data/AUTHORS +6 -6
  10. data/CODE_OF_CONDUCT.md +13 -13
  11. data/Dockerfile +3 -3
  12. data/Gemfile +5 -5
  13. data/Guardfile +45 -45
  14. data/README.md +172 -147
  15. data/RELEASES.md +144 -140
  16. data/Rakefile +7 -7
  17. data/bin/console +15 -15
  18. data/bin/setup +7 -7
  19. data/develop.sh +3 -3
  20. data/example/client.rb +35 -35
  21. data/example/main.rb +42 -42
  22. data/example/start.bat +2 -2
  23. data/generate-authors.sh +19 -19
  24. data/lib/software_challenge_client/board.rb +149 -127
  25. data/lib/software_challenge_client/client_interface.rb +19 -19
  26. data/lib/software_challenge_client/condition.rb +27 -27
  27. data/lib/software_challenge_client/coordinates.rb +71 -45
  28. data/lib/software_challenge_client/debug_hint.rb +17 -17
  29. data/lib/software_challenge_client/direction.rb +41 -0
  30. data/lib/software_challenge_client/field.rb +70 -69
  31. data/lib/software_challenge_client/game_rule_logic.rb +206 -141
  32. data/lib/software_challenge_client/game_state.rb +57 -24
  33. data/lib/software_challenge_client/invalid_move_exception.rb +15 -15
  34. data/lib/software_challenge_client/logging.rb +26 -26
  35. data/lib/software_challenge_client/move.rb +37 -41
  36. data/lib/software_challenge_client/network.rb +126 -126
  37. data/lib/software_challenge_client/piece.rb +43 -81
  38. data/lib/software_challenge_client/player.rb +31 -31
  39. data/lib/software_challenge_client/protocol.rb +103 -54
  40. data/lib/software_challenge_client/runner.rb +36 -36
  41. data/lib/software_challenge_client/team.rb +23 -25
  42. data/lib/software_challenge_client/util/constants.rb +9 -9
  43. data/lib/software_challenge_client/version.rb +5 -5
  44. data/lib/software_challenge_client.rb +23 -25
  45. data/lib/update_client_module.sh +15 -15
  46. data/push_image_production.sh +12 -12
  47. data/release.sh +9 -9
  48. data/software_challenge_client.gemspec +41 -41
  49. metadata +3 -5
  50. data/lib/software_challenge_client/color.rb +0 -26
  51. data/lib/software_challenge_client/has_hints.rb +0 -11
  52. data/lib/software_challenge_client/piece_type.rb +0 -16
data/README.md CHANGED
@@ -1,147 +1,172 @@
1
- # Software-Challenge Client
2
-
3
- This gem includes everything to build a client for the coding
4
- competition [Software-Challenge](http://www.software-challenge.de).
5
-
6
- ------------------------------------------------------------------------
7
-
8
- _Language:_ Most documentation will be in german language, because it is intended
9
- to be used by pupils taking part in the Software-Challenge programming
10
- competition. Only internal documentation is in english.
11
-
12
- ------------------------------------------------------------------------
13
-
14
- _Sprache:_ Ein Grossteil der Dokumentation ist in deutscher Sprache verfasst, da
15
- sie dazu gedacht ist, von am Programmierwettbewerb Software-Challenge
16
- teilnehmenden Schülerinnen und Schülern gelesen zu werden. Interne Dokumentation
17
- ist weiterhin in englisch.
18
-
19
- ------------------------------------------------------------------------
20
-
21
- ## Installation
22
-
23
- Um die Software-Challenge Bibliothek in deinem Computerspieler zu verwenden, füge folgende Zeile in das Gemfile deines Projektes ein:
24
-
25
- gem 'software_challenge_client'
26
-
27
- Installiere das Gem dann mit dem Befehl:
28
-
29
- $ bundle
30
-
31
- Oder installiere das Gem ohne ein Gemfile mit:
32
-
33
- $ gem install software_challenge_client
34
-
35
- ## Verwendung
36
-
37
- Ein Beispielprojekt zur Verwendung der Bibliothek findet man im Verzeichnis `example` ([Beispielprojekt auf GitHub](https://github.com/CAU-Kiel-Tech-Inf/socha_ruby_client/tree/master/example)).
38
-
39
- Du kannst den Beispielclient mittels
40
-
41
- ruby main.rb
42
-
43
- in einer Konsole ausführen (dazu musst du dich im Verzeichnis `example` befinden).
44
-
45
- Damit dies funktioniert, muss das Gem bereits wie oben beschrieben installiert
46
- sein und es muss ein Spielserver auf eine Verbindung warten (also zum Beispiel
47
- ein Spiel mit einem manuell gestarteten Spieler in der grafischen Oberfläche
48
- angelegt worden sein).
49
-
50
- Neben Beiwerk wie dem Initialisieren der Verbindung zum Spielserver und
51
- Verarbeiten der Startparameter (was beides in `main.rb` des Beispielprojektes
52
- passiert), musst du nur eine Klasse implementieren, um einen lauffähigen
53
- Computerspieler zu haben (`client.rb` im Beispielprojekt):
54
-
55
- require 'software_challenge_client'
56
-
57
- class Client < ClientInterface
58
- include Logging
59
-
60
- attr_accessor :gamestate
61
-
62
- def initialize(log_level)
63
- logger.level = log_level
64
- logger.info 'Einfacher Spieler wurde erstellt.'
65
- end
66
-
67
- # gets called, when it's your turn
68
- def move_requested
69
- logger.info "Spielstand: #{gamestate.points_for_player(gamestate.current_player)} - #{gamestate.points_for_player(gamestate.other_player)}"
70
- move = best_move
71
- logger.debug "Zug gefunden: #{move}" unless move.nil?
72
- move
73
- end
74
-
75
- def best_move
76
- GameRuleLogic.possible_moves(gamestate).sample
77
- end
78
- end
79
-
80
- ## Generating the Documentation
81
-
82
- Code documentation can be generated using YARD in the project root (source code
83
- needs to be checked out and `bundle` has to be executed,
84
- see [Installation](#installation)):
85
-
86
- yard
87
-
88
- After generation, the docs can be found in the `doc` directory. Start at
89
- `index.html`.
90
-
91
- Documentation for the latest source can also be found
92
- on
93
- [rubydoc.info](http://www.rubydoc.info/github/CAU-Kiel-Tech-Inf/socha_ruby_client).
94
-
95
- When updating the docs, you may use
96
-
97
- yard server --reload
98
-
99
- or inside a docker container
100
-
101
- yard server --reload --bind 0.0.0.0
102
-
103
- to get a live preview of them at [http://localhost:8808](http://localhost:8808).
104
-
105
- ## Development
106
-
107
- After checking out the repo, run `bin/setup` to install
108
- dependencies. Then, run `rspec` to run the tests. You can also
109
- run `bin/console` for an interactive prompt that will allow you to
110
- experiment.
111
-
112
- To install this gem onto your local machine, run `gem uninstall
113
- software_challenge_client` to remove an existing gem and then `bundle exec rake
114
- install` to install the current version.
115
-
116
- To develop inside a docker container, make sure you have Docker installed and execute
117
- `develop.sh`.
118
-
119
- ### Specs
120
-
121
- The gem is tested using RSpec. To run all tests, execute `rspec`. When
122
- developing, you may use Guard to execute tests when files change. To do this,
123
- execute `guard`. Tests will then be automatically run when you change a file.
124
-
125
- ### Linting
126
-
127
- Linting by rubocop is included in the guard config. It is run when all specs
128
- pass.
129
-
130
- ### Releasing
131
-
132
- To release a new version, update the version number in
133
- `lib/software_challenge_client/version.rb` and update RELEASES.md.
134
-
135
- Then run `bundle exec rake release`, which will create a git tag for the
136
- version, push git commits and tags, and push the `.gem` file to
137
- [rubygems.org](https://rubygems.org). You may also use the `release.sh` script
138
- which executes `bundle exec rake release` in a suitable docker container.
139
-
140
- ## Contributing
141
-
142
- Bug reports and pull requests are welcome on GitHub at
143
- https://github.com/CAU-Kiel-Tech-Inf/socha_ruby_client. This project is intended
144
- to be a safe, welcoming space for collaboration, and contributors are expected
145
- to adhere to the [code of
146
- conduct](https://github.com/CAU-Kiel-Tech-Inf/socha-client-ruby/blob/master/CODE_OF_CONDUCT.md)
147
- (from [Contributor Covenant](http://contributor-covenant.org)).
1
+ # Software-Challenge Client
2
+
3
+ This gem includes everything to build a client for the coding
4
+ competition [Software-Challenge](http://www.software-challenge.de).
5
+
6
+ ------------------------------------------------------------------------
7
+
8
+ _Language:_ Most documentation will be in german language, because it is intended
9
+ to be used by pupils taking part in the Software-Challenge programming
10
+ competition. Only internal documentation is in english.
11
+
12
+ ------------------------------------------------------------------------
13
+
14
+ _Sprache:_ Ein Grossteil der Dokumentation ist in deutscher Sprache verfasst, da
15
+ sie dazu gedacht ist, von am Programmierwettbewerb Software-Challenge
16
+ teilnehmenden Schülerinnen und Schülern gelesen zu werden. Interne Dokumentation
17
+ ist weiterhin in englisch.
18
+
19
+ ------------------------------------------------------------------------
20
+
21
+ ## Installation
22
+
23
+ Um die Software-Challenge Bibliothek in deinem Computerspieler zu verwenden, füge folgende Zeile in das Gemfile deines Projektes ein:
24
+
25
+ $ gem 'software_challenge_client'
26
+
27
+ Installiere das Gem dann mit dem Befehl:
28
+
29
+ $ bundle
30
+
31
+ Oder installiere das Gem ohne ein Gemfile mit:
32
+
33
+ $ gem install software_challenge_client
34
+
35
+ ## Verwendung
36
+
37
+ Ein Beispielprojekt zur Verwendung der Bibliothek findet man im Verzeichnis `example` ([Beispielprojekt auf GitHub](https://github.com/CAU-Kiel-Tech-Inf/socha_ruby_client/tree/master/example)).
38
+
39
+ Du kannst den Beispielclient mittels
40
+
41
+ $ ruby main.rb
42
+
43
+ in einer Konsole ausführen (dazu musst du dich im Verzeichnis `example` befinden).
44
+
45
+ Damit dies funktioniert, muss das Gem bereits wie oben beschrieben installiert
46
+ sein und es muss ein Spielserver auf eine Verbindung warten (also zum Beispiel
47
+ ein Spiel mit einem manuell gestarteten Spieler in der grafischen Oberfläche
48
+ angelegt worden sein).
49
+
50
+ Neben Beiwerk wie dem Initialisieren der Verbindung zum Spielserver und
51
+ Verarbeiten der Startparameter (was beides in `main.rb` des Beispielprojektes
52
+ passiert), musst du nur eine Klasse implementieren, um einen lauffähigen
53
+ Computerspieler zu haben (`client.rb` im Beispielprojekt):
54
+
55
+ require 'software_challenge_client'
56
+
57
+ class Client < ClientInterface
58
+ include Logging
59
+
60
+ attr_accessor :gamestate
61
+
62
+ def initialize(log_level)
63
+ logger.level = log_level
64
+ logger.info 'Einfacher Spieler wurde erstellt.'
65
+ end
66
+
67
+ # gets called, when it's your turn
68
+ def move_requested
69
+ logger.info "Spielstand: #{gamestate.points_for_player(gamestate.current_player)} - #{gamestate.points_for_player(gamestate.other_player)}"
70
+ move = best_move
71
+ logger.debug "Zug gefunden: #{move}" unless move.nil?
72
+ move
73
+ end
74
+
75
+ def best_move
76
+ GameRuleLogic.possible_moves(gamestate).sample
77
+ end
78
+ end
79
+
80
+ ### Abgabe des Clients im SC Wettkampfsystem
81
+
82
+ Da Ruby eine interpretierte Sprache ist, muss der Ruby-Quellcode direkt
83
+ in ein ZIP-Archiv gepackt und auf das [Wettkampfsystem](https://docs.software-challenge.de/glossary/contest) hochgeladen
84
+ werden. Auf dem [Wettkampfsystem](https://docs.software-challenge.de/glossary/contest) ist ein Ruby-Interpreter sowie das
85
+ aktuellste `software_challenge_client` Gem installiert. Alle weiteren
86
+ Bibliotheken müssen im ZIP-Archiv vorhanden sein. Nach dem Hochladen des ZIP-Archivs muss die auszuführende Hauptdatei im [Wettkampfsystem](https://docs.software-challenge.de/glossary/contest)
87
+ ausgewählt werden. Diese wird dann zum Start des Computerspielers
88
+ gestartet. Damit dies richtig funktioniert, ist es entscheidend, dass
89
+ die Hauptdatei mit einer sogenannten "Shebang"-Zeile beginnt:
90
+
91
+ #!/usr/bin/env ruby
92
+
93
+ Weiterhin ist es ratsam, den Magic-Comment zum Encoding direkt unter die
94
+ Shebang-Zeile zu schreiben:
95
+
96
+ # encoding: UTF-8
97
+
98
+ Ein vollständiges Beispiel für einen abgabefertigen Ruby-Computerspieler
99
+ gibt es im [example Verzeichnis des Computerspieler-Gems bei
100
+ Github](https://github.com/software-challenge/client-ruby/tree/main/example).
101
+ Packt man die beiden Dateien `client.rb` und `main.rb` in ein
102
+ ZIP-Archiv, hat man einen abgabefertigen Computerspieler. Beim Hochladen
103
+ wählt man `main.rb` als Hauptdatei.
104
+
105
+ ## Generating the Documentation
106
+
107
+ Code documentation can be generated using YARD in the project root (source code
108
+ needs to be checked out and `bundle` has to be executed,
109
+ see [Installation](#installation)):
110
+
111
+ $ yard
112
+
113
+ After generation, the docs can be found in the `doc` directory. Start at
114
+ `index.html`.
115
+
116
+ Documentation for the latest source can also be found
117
+ on
118
+ [rubydoc.info](http://www.rubydoc.info/github/CAU-Kiel-Tech-Inf/socha_ruby_client).
119
+
120
+ When updating the docs, you may use
121
+
122
+ $ yard server --reload
123
+
124
+ or inside a docker container
125
+
126
+ $ yard server --reload --bind 0.0.0.0
127
+
128
+ to get a live preview of them at [http://localhost:8808](http://localhost:8808).
129
+
130
+ ## Development
131
+
132
+ After checking out the repo, run `bin/setup` to install
133
+ dependencies. Then, run `rspec` to run the tests. You can also
134
+ run `bin/console` for an interactive prompt that will allow you to
135
+ experiment.
136
+
137
+ To install this gem onto your local machine, run `gem uninstall
138
+ software_challenge_client` to remove an existing gem and then `bundle exec rake
139
+ install` to install the current version.
140
+
141
+ To develop inside a docker container, make sure you have Docker installed and execute
142
+ `develop.sh`.
143
+
144
+ ### Specs
145
+
146
+ The gem is tested using RSpec. To run all tests, execute `rspec`. When
147
+ developing, you may use Guard to execute tests when files change. To do this,
148
+ execute `guard`. Tests will then be automatically run when you change a file.
149
+
150
+ ### Linting
151
+
152
+ Linting by rubocop is included in the guard config. It is run when all specs
153
+ pass.
154
+
155
+ ### Releasing
156
+
157
+ To release a new version, update the version number in
158
+ `lib/software_challenge_client/version.rb` and update RELEASES.md.
159
+
160
+ Then run `bundle exec rake release`, which will create a git tag for the
161
+ version, push git commits and tags, and push the `.gem` file to
162
+ [rubygems.org](https://rubygems.org). You may also use the `release.sh` script
163
+ which executes `bundle exec rake release` in a suitable docker container.
164
+
165
+ ## Contributing
166
+
167
+ Bug reports and pull requests are welcome on GitHub at
168
+ https://github.com/CAU-Kiel-Tech-Inf/socha_ruby_client. This project is intended
169
+ to be a safe, welcoming space for collaboration, and contributors are expected
170
+ to adhere to the [code of
171
+ conduct](https://github.com/CAU-Kiel-Tech-Inf/socha-client-ruby/blob/master/CODE_OF_CONDUCT.md)
172
+ (from [Contributor Covenant](http://contributor-covenant.org)).
data/RELEASES.md CHANGED
@@ -1,140 +1,144 @@
1
- = 22.1.0
2
-
3
- Fix gamestate.round
4
-
5
- = 22.0.3
6
-
7
- First tagged Version for Osteseeschach
8
-
9
- = 21.2.0
10
-
11
- Adjustments for Backend version 21.2.0
12
-
13
- = 21.1.0
14
-
15
- Pieces are now mutable and `==` of pieces considers rotated shapes which result in the same covered board fields as equal.
16
-
17
- = 21.0.2
18
-
19
- Fixed problem which caused `last_move` of a `GameState` always be `nil` (thanks to wollw!).
20
-
21
- = 21.0.1
22
-
23
- Improved performance and defined Ruby version 2.5.5 as minimum requirement
24
-
25
- = 21.0.0
26
-
27
- First version for game "Blokus"
28
-
29
- = 20.2.4
30
-
31
- Update game name in documentation
32
-
33
- = 20.2.3
34
-
35
- Improve method documentation
36
-
37
- = 20.2.1 & 20.2.2
38
-
39
- Bugfixes for performing moves on a gamestate
40
-
41
- = 20.2.0
42
-
43
- First version for game "Hive"
44
-
45
- = 19.1.0
46
-
47
- - winning condition is now set when changing a gamestate with Move#perform!
48
-
49
- = 19.0.4
50
-
51
- - fixed one more bug in in Move#perform! (thanks to wollw!)
52
-
53
- = 19.0.3
54
-
55
- - fixed another bug in in Move#perform! (thanks to wollw!)
56
-
57
- = 19.0.2
58
-
59
- - fixed bug in Move#perform! (thanks to wollw!)
60
-
61
- = 19.0.1
62
-
63
- - fixed bug in swarm size calculation (thanks to wollw!)
64
-
65
- = 19.0.0
66
-
67
- First version for game "Piranhas"
68
-
69
- = 1.2.1
70
-
71
- - fixed a bug which could lead to an infinite loop in the possible_move method
72
-
73
- = 1.2.0
74
-
75
- - fixed connection code
76
- - fixed bug which lead to a exception when testing for playability of fallback card
77
-
78
- = 1.1.0
79
-
80
- Added missing perform! methods for actions.
81
-
82
- = 1.0.0
83
-
84
- First version for game "Hase und Igel".
85
-
86
- = 0.3.4
87
-
88
- Last version for game "Mississippi Queen".
89
-
90
- - Renamed Turn#direction to Turn#turn_steps to make clearer that a number should be given, not a Direction instance.
91
- - Corrected generation of XML for Push-actions
92
-
93
- = 0.3.3
94
-
95
- - Corrected checking/updating of coal for decelerations.
96
-
97
- = 0.3.2
98
-
99
- - Corrected some return types in the documentation (thanks to wollw!).
100
-
101
- = 0.3.1
102
-
103
- - Fixed bug: Coal was not read from server-XML (thanks to wollw!)
104
-
105
- = 0.3.0
106
-
107
- - Fixed bug where wrong (old) method getMove was called, the new name is
108
- move_requested
109
- - Improved end game handling
110
-
111
- = 0.2.0
112
-
113
- - First working version for Mississippi Queen
114
-
115
- = 0.1.5
116
-
117
- - Fixed bug in reservation code.
118
-
119
- = 0.1.4
120
-
121
- - Added support for reservation ID to let clients work on contest system.
122
-
123
- = 0.1.3
124
-
125
- - Fixed bug in makeClearBoard method (thanks to wollw!).
126
-
127
- = 0.1.2
128
-
129
- - Fixed bug in == (test for equality) method of connections (thanks to
130
- wollw!).
131
- - Fixed link in readme to code of conduct.
132
- - Removed trailing whitespace.
133
-
134
- = 0.1.1
135
-
136
- Compatibility to Ruby 1.9 (source encoding issues)
137
-
138
- = 0.1.0
139
-
140
- First complete version.
1
+ = 23.0.2
2
+
3
+ First Version for "Hey, Danke für den Fisch"
4
+
5
+ = 22.1.0
6
+
7
+ Fix gamestate.round
8
+
9
+ = 22.0.3
10
+
11
+ First tagged Version for Osteseeschach
12
+
13
+ = 21.2.0
14
+
15
+ Adjustments for Backend version 21.2.0
16
+
17
+ = 21.1.0
18
+
19
+ Pieces are now mutable and `==` of pieces considers rotated shapes which result in the same covered board fields as equal.
20
+
21
+ = 21.0.2
22
+
23
+ Fixed problem which caused `last_move` of a `GameState` always be `nil` (thanks to wollw!).
24
+
25
+ = 21.0.1
26
+
27
+ Improved performance and defined Ruby version 2.5.5 as minimum requirement
28
+
29
+ = 21.0.0
30
+
31
+ First version for game "Blokus"
32
+
33
+ = 20.2.4
34
+
35
+ Update game name in documentation
36
+
37
+ = 20.2.3
38
+
39
+ Improve method documentation
40
+
41
+ = 20.2.1 & 20.2.2
42
+
43
+ Bugfixes for performing moves on a gamestate
44
+
45
+ = 20.2.0
46
+
47
+ First version for game "Hive"
48
+
49
+ = 19.1.0
50
+
51
+ - winning condition is now set when changing a gamestate with Move#perform!
52
+
53
+ = 19.0.4
54
+
55
+ - fixed one more bug in in Move#perform! (thanks to wollw!)
56
+
57
+ = 19.0.3
58
+
59
+ - fixed another bug in in Move#perform! (thanks to wollw!)
60
+
61
+ = 19.0.2
62
+
63
+ - fixed bug in Move#perform! (thanks to wollw!)
64
+
65
+ = 19.0.1
66
+
67
+ - fixed bug in swarm size calculation (thanks to wollw!)
68
+
69
+ = 19.0.0
70
+
71
+ First version for game "Piranhas"
72
+
73
+ = 1.2.1
74
+
75
+ - fixed a bug which could lead to an infinite loop in the possible_move method
76
+
77
+ = 1.2.0
78
+
79
+ - fixed connection code
80
+ - fixed bug which lead to a exception when testing for playability of fallback card
81
+
82
+ = 1.1.0
83
+
84
+ Added missing perform! methods for actions.
85
+
86
+ = 1.0.0
87
+
88
+ First version for game "Hase und Igel".
89
+
90
+ = 0.3.4
91
+
92
+ Last version for game "Mississippi Queen".
93
+
94
+ - Renamed Turn#direction to Turn#turn_steps to make clearer that a number should be given, not a Direction instance.
95
+ - Corrected generation of XML for Push-actions
96
+
97
+ = 0.3.3
98
+
99
+ - Corrected checking/updating of coal for decelerations.
100
+
101
+ = 0.3.2
102
+
103
+ - Corrected some return types in the documentation (thanks to wollw!).
104
+
105
+ = 0.3.1
106
+
107
+ - Fixed bug: Coal was not read from server-XML (thanks to wollw!)
108
+
109
+ = 0.3.0
110
+
111
+ - Fixed bug where wrong (old) method getMove was called, the new name is
112
+ move_requested
113
+ - Improved end game handling
114
+
115
+ = 0.2.0
116
+
117
+ - First working version for Mississippi Queen
118
+
119
+ = 0.1.5
120
+
121
+ - Fixed bug in reservation code.
122
+
123
+ = 0.1.4
124
+
125
+ - Added support for reservation ID to let clients work on contest system.
126
+
127
+ = 0.1.3
128
+
129
+ - Fixed bug in makeClearBoard method (thanks to wollw!).
130
+
131
+ = 0.1.2
132
+
133
+ - Fixed bug in == (test for equality) method of connections (thanks to
134
+ wollw!).
135
+ - Fixed link in readme to code of conduct.
136
+ - Removed trailing whitespace.
137
+
138
+ = 0.1.1
139
+
140
+ Compatibility to Ruby 1.9 (source encoding issues)
141
+
142
+ = 0.1.0
143
+
144
+ First complete version.
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
- # frozen_string_literal: true
2
- require 'bundler/gem_tasks'
3
- require 'yard'
4
-
5
- YARD::Rake::YardocTask.new do |t|
6
- t.files = ['lib/**/*.rb'] # optional
7
- end
1
+ # frozen_string_literal: true
2
+ require 'bundler/gem_tasks'
3
+ require 'yard'
4
+
5
+ YARD::Rake::YardocTask.new do |t|
6
+ t.files = ['lib/**/*.rb'] # optional
7
+ end
data/bin/console CHANGED
@@ -1,15 +1,15 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'bundler/setup'
5
- require 'software_challenge_client'
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
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'software_challenge_client'
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