word_search 0.5.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rubocop.yml +8 -5
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +3 -2
  6. data/Gemfile +2 -1
  7. data/README.md +26 -4
  8. data/Rakefile +26 -12
  9. data/bin/console +5 -4
  10. data/bin/test +19 -0
  11. data/docs/Gemfile +8 -7
  12. data/docs/Gemfile.lock +31 -31
  13. data/docs/Rakefile +2 -1
  14. data/docs/config.rb +4 -3
  15. data/docs/source/images/logo.png +0 -0
  16. data/docs/source/images/search.png +0 -0
  17. data/docs/source/index.html.haml +49 -7
  18. data/docs/source/layouts/layout.html.haml +7 -9
  19. data/docs/source/stylesheets/site.css.sass +83 -0
  20. data/docs/vendor/cache/activesupport-5.0.1.gem +0 -0
  21. data/docs/vendor/cache/addressable-2.5.0.gem +0 -0
  22. data/docs/vendor/cache/backports-3.6.8.gem +0 -0
  23. data/docs/vendor/cache/coffee-script-2.4.1.gem +0 -0
  24. data/docs/vendor/cache/coffee-script-source-1.12.2.gem +0 -0
  25. data/docs/vendor/cache/compass-import-once-1.0.5.gem +0 -0
  26. data/docs/vendor/cache/concurrent-ruby-1.0.4.gem +0 -0
  27. data/docs/vendor/cache/contracts-0.13.0.gem +0 -0
  28. data/docs/vendor/cache/dotenv-2.1.1.gem +0 -0
  29. data/docs/vendor/cache/em-websocket-0.5.1.gem +0 -0
  30. data/docs/vendor/cache/erubis-2.7.0.gem +0 -0
  31. data/docs/vendor/cache/eventmachine-1.2.1.gem +0 -0
  32. data/docs/vendor/cache/execjs-2.7.0.gem +0 -0
  33. data/docs/vendor/cache/fast_blank-1.0.0.gem +0 -0
  34. data/docs/vendor/cache/fastimage-2.0.1.gem +0 -0
  35. data/docs/vendor/cache/ffi-1.9.14.gem +0 -0
  36. data/docs/vendor/cache/haml-4.0.7.gem +0 -0
  37. data/docs/vendor/cache/hamster-3.0.0.gem +0 -0
  38. data/docs/vendor/cache/hashie-3.4.6.gem +0 -0
  39. data/docs/vendor/cache/http_parser.rb-0.6.0.gem +0 -0
  40. data/docs/vendor/cache/i18n-0.7.0.gem +0 -0
  41. data/docs/vendor/cache/kramdown-1.13.2.gem +0 -0
  42. data/docs/vendor/cache/listen-3.0.8.gem +0 -0
  43. data/docs/vendor/cache/memoist-0.15.0.gem +0 -0
  44. data/docs/vendor/cache/middleman-4.2.0.gem +0 -0
  45. data/docs/vendor/cache/middleman-cli-4.2.0.gem +0 -0
  46. data/docs/vendor/cache/middleman-core-4.2.0.gem +0 -0
  47. data/docs/vendor/cache/middleman-gh-pages-0.3.1.gem +0 -0
  48. data/docs/vendor/cache/middleman-livereload-3.4.6.gem +0 -0
  49. data/docs/vendor/cache/minitest-5.10.1.gem +0 -0
  50. data/docs/vendor/cache/padrino-helpers-0.13.3.3.gem +0 -0
  51. data/docs/vendor/cache/padrino-support-0.13.3.3.gem +0 -0
  52. data/docs/vendor/cache/parallel-1.10.0.gem +0 -0
  53. data/docs/vendor/cache/public_suffix-2.0.5.gem +0 -0
  54. data/docs/vendor/cache/rack-2.0.1.gem +0 -0
  55. data/docs/vendor/cache/rack-livereload-0.3.16.gem +0 -0
  56. data/docs/vendor/cache/rake-12.0.0.gem +0 -0
  57. data/docs/vendor/cache/rb-fsevent-0.9.8.gem +0 -0
  58. data/docs/vendor/cache/rb-inotify-0.9.7.gem +0 -0
  59. data/docs/vendor/cache/sass-3.4.23.gem +0 -0
  60. data/docs/vendor/cache/servolux-0.12.0.gem +0 -0
  61. data/docs/vendor/cache/thor-0.19.4.gem +0 -0
  62. data/docs/vendor/cache/thread_safe-0.3.5.gem +0 -0
  63. data/docs/vendor/cache/tilt-2.0.5.gem +0 -0
  64. data/docs/vendor/cache/tzinfo-1.2.2.gem +0 -0
  65. data/docs/vendor/cache/uglifier-3.0.4.gem +0 -0
  66. data/lib/word_search.rb +25 -24
  67. data/lib/word_search/catalog.rb +1 -0
  68. data/lib/word_search/generator.rb +9 -3
  69. data/lib/word_search/generator/base.rb +50 -2
  70. data/lib/word_search/plane.rb +1 -0
  71. data/lib/word_search/plane/base.rb +25 -2
  72. data/lib/word_search/position_word/base.rb +32 -3
  73. data/lib/word_search/solver.rb +113 -3
  74. data/lib/word_search/three_dimensional/direction.rb +1 -0
  75. data/lib/word_search/three_dimensional/generator.rb +1 -18
  76. data/lib/word_search/three_dimensional/plane.rb +8 -1
  77. data/lib/word_search/three_dimensional/point.rb +5 -0
  78. data/lib/word_search/three_dimensional/position_word.rb +7 -0
  79. data/lib/word_search/two_dimensional/direction.rb +1 -0
  80. data/lib/word_search/two_dimensional/generator.rb +1 -18
  81. data/lib/word_search/two_dimensional/plane.rb +6 -1
  82. data/lib/word_search/two_dimensional/point.rb +5 -0
  83. data/lib/word_search/two_dimensional/position_word.rb +7 -0
  84. data/lib/word_search/version.rb +2 -1
  85. data/lib/word_search/word_bank.rb +4 -3
  86. data/vendor/cache/activemodel-5.0.1.gem +0 -0
  87. data/vendor/cache/activesupport-5.0.1.gem +0 -0
  88. data/vendor/cache/codeclimate-test-reporter-1.0.4.gem +0 -0
  89. data/vendor/cache/concurrent-ruby-1.0.4.gem +0 -0
  90. data/vendor/cache/metaclass-0.0.4.gem +0 -0
  91. data/vendor/cache/minitest-5.10.1.gem +0 -0
  92. data/vendor/cache/mocha-1.2.1.gem +0 -0
  93. data/vendor/cache/parser-2.3.3.1.gem +0 -0
  94. data/vendor/cache/rainbow-2.2.1.gem +0 -0
  95. data/vendor/cache/rake-12.0.0.gem +0 -0
  96. data/vendor/cache/rspec-core-3.5.4.gem +0 -0
  97. data/vendor/cache/rubocop-0.46.0.gem +0 -0
  98. data/vendor/cache/ruby-enum-0.6.0.gem +0 -0
  99. data/vendor/cache/unicode-display_width-1.1.2.gem +0 -0
  100. data/word_search.gemspec +23 -21
  101. metadata +91 -29
  102. data/docs/source/images/github-light.png +0 -0
  103. data/docs/source/images/github.png +0 -0
  104. data/docs/source/stylesheets/site.css.scss +0 -71
  105. data/lib/solution.rb +0 -67
  106. data/vendor/cache/activemodel-5.0.0.1.gem +0 -0
  107. data/vendor/cache/activesupport-5.0.0.1.gem +0 -0
  108. data/vendor/cache/codeclimate-test-reporter-0.6.0.gem +0 -0
  109. data/vendor/cache/concurrent-ruby-1.0.2.gem +0 -0
  110. data/vendor/cache/minitest-5.9.0.gem +0 -0
  111. data/vendor/cache/parser-2.3.1.2.gem +0 -0
  112. data/vendor/cache/rainbow-2.1.0.gem +0 -0
  113. data/vendor/cache/rake-10.5.0.gem +0 -0
  114. data/vendor/cache/rspec-core-3.5.2.gem +0 -0
  115. data/vendor/cache/rubocop-0.42.0.gem +0 -0
  116. data/vendor/cache/ruby-enum-0.5.0.gem +0 -0
  117. data/vendor/cache/unicode-display_width-1.1.0.gem +0 -0
Binary file
Binary file
Binary file
Binary file
Binary file
data/word_search.gemspec CHANGED
@@ -1,35 +1,37 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ # frozen_string_literal: true
3
+ lib = File.expand_path("../lib", __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'word_search/version'
5
+ require "word_search/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = 'word_search'
8
+ spec.name = "word_search"
8
9
  spec.version = WordSearch::VERSION
9
- spec.authors = ['npezza93']
10
- spec.email = ['npezza93@gmail.com']
10
+ spec.authors = ["npezza93"]
11
+ spec.email = ["npezza93@gmail.com"]
11
12
 
12
- spec.summary = 'Word Search Generator and Solver'
13
- spec.description = 'Makes word searches and solves them'
14
- spec.homepage = 'https://www.github.com/npezza93/word_searcher'
15
- spec.license = 'MIT'
13
+ spec.summary = "Word Search Generator and Solver"
14
+ spec.description = "Makes word searches and solves them"
15
+ spec.homepage = "https://www.github.com/npezza93/word_searcher"
16
+ spec.license = "MIT"
16
17
 
17
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
19
  f.match(%r{^(test|spec|features)/})
19
20
  end
20
- spec.bindir = 'exe'
21
+ spec.bindir = "exe"
21
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ['lib']
23
+ spec.require_paths = ["lib"]
23
24
 
24
- spec.add_dependency 'activesupport', '< 5.1'
25
- spec.add_dependency 'activemodel', '< 5.1'
26
- spec.add_dependency 'ruby-enum', '~> 0.5.0'
25
+ spec.add_dependency "activesupport", "< 5.1"
26
+ spec.add_dependency "activemodel", "< 5.1"
27
+ spec.add_dependency "ruby-enum", "~> 0.6.0"
27
28
 
28
- spec.add_development_dependency 'bundler', '~> 1.11'
29
- spec.add_development_dependency 'rake', '~> 10.0'
30
- spec.add_development_dependency 'pry', '~> 0.10.4'
31
- spec.add_development_dependency 'rspec', '~> 3.5'
32
- spec.add_development_dependency 'simplecov', '~> 0.12.0'
33
- spec.add_development_dependency 'rubocop', '~> 0.42.0'
34
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.6.0'
29
+ spec.add_development_dependency "bundler", "~> 1.13"
30
+ spec.add_development_dependency "rake", "~> 12.0"
31
+ spec.add_development_dependency "pry", "~> 0.10.4"
32
+ spec.add_development_dependency "rspec", "~> 3.5"
33
+ spec.add_development_dependency "simplecov", "~> 0.12.0"
34
+ spec.add_development_dependency "mocha", "~> 1.2"
35
+ spec.add_development_dependency "rubocop", "~> 0.46"
36
+ spec.add_development_dependency "codeclimate-test-reporter", "~> 1.0"
35
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: word_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - npezza93
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-04 00:00:00.000000000 Z
11
+ date: 2017-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -44,42 +44,42 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.5.0
47
+ version: 0.6.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.5.0
54
+ version: 0.6.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.11'
61
+ version: '1.13'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.11'
68
+ version: '1.13'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '12.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '12.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,34 +122,48 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.12.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: mocha
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.2'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.2'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rubocop
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: 0.42.0
145
+ version: '0.46'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: 0.42.0
152
+ version: '0.46'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: codeclimate-test-reporter
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 0.6.0
159
+ version: '1.0'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 0.6.0
166
+ version: '1.0'
153
167
  description: Makes word searches and solves them
154
168
  email:
155
169
  - npezza93@gmail.com
@@ -170,18 +184,64 @@ files:
170
184
  - bin/console
171
185
  - bin/coverage
172
186
  - bin/setup
187
+ - bin/test
173
188
  - docs/Gemfile
174
189
  - docs/Gemfile.lock
175
190
  - docs/Rakefile
176
191
  - docs/config.rb
177
- - docs/source/images/github-light.png
178
- - docs/source/images/github.png
192
+ - docs/source/images/logo.png
193
+ - docs/source/images/search.png
179
194
  - docs/source/index.html.haml
180
195
  - docs/source/javascripts/all.js
181
196
  - docs/source/layouts/layout.html.haml
182
197
  - docs/source/stylesheets/_normalize.scss
183
- - docs/source/stylesheets/site.css.scss
184
- - lib/solution.rb
198
+ - docs/source/stylesheets/site.css.sass
199
+ - docs/vendor/cache/activesupport-5.0.1.gem
200
+ - docs/vendor/cache/addressable-2.5.0.gem
201
+ - docs/vendor/cache/backports-3.6.8.gem
202
+ - docs/vendor/cache/coffee-script-2.4.1.gem
203
+ - docs/vendor/cache/coffee-script-source-1.12.2.gem
204
+ - docs/vendor/cache/compass-import-once-1.0.5.gem
205
+ - docs/vendor/cache/concurrent-ruby-1.0.4.gem
206
+ - docs/vendor/cache/contracts-0.13.0.gem
207
+ - docs/vendor/cache/dotenv-2.1.1.gem
208
+ - docs/vendor/cache/em-websocket-0.5.1.gem
209
+ - docs/vendor/cache/erubis-2.7.0.gem
210
+ - docs/vendor/cache/eventmachine-1.2.1.gem
211
+ - docs/vendor/cache/execjs-2.7.0.gem
212
+ - docs/vendor/cache/fast_blank-1.0.0.gem
213
+ - docs/vendor/cache/fastimage-2.0.1.gem
214
+ - docs/vendor/cache/ffi-1.9.14.gem
215
+ - docs/vendor/cache/haml-4.0.7.gem
216
+ - docs/vendor/cache/hamster-3.0.0.gem
217
+ - docs/vendor/cache/hashie-3.4.6.gem
218
+ - docs/vendor/cache/http_parser.rb-0.6.0.gem
219
+ - docs/vendor/cache/i18n-0.7.0.gem
220
+ - docs/vendor/cache/kramdown-1.13.2.gem
221
+ - docs/vendor/cache/listen-3.0.8.gem
222
+ - docs/vendor/cache/memoist-0.15.0.gem
223
+ - docs/vendor/cache/middleman-4.2.0.gem
224
+ - docs/vendor/cache/middleman-cli-4.2.0.gem
225
+ - docs/vendor/cache/middleman-core-4.2.0.gem
226
+ - docs/vendor/cache/middleman-gh-pages-0.3.1.gem
227
+ - docs/vendor/cache/middleman-livereload-3.4.6.gem
228
+ - docs/vendor/cache/minitest-5.10.1.gem
229
+ - docs/vendor/cache/padrino-helpers-0.13.3.3.gem
230
+ - docs/vendor/cache/padrino-support-0.13.3.3.gem
231
+ - docs/vendor/cache/parallel-1.10.0.gem
232
+ - docs/vendor/cache/public_suffix-2.0.5.gem
233
+ - docs/vendor/cache/rack-2.0.1.gem
234
+ - docs/vendor/cache/rack-livereload-0.3.16.gem
235
+ - docs/vendor/cache/rake-12.0.0.gem
236
+ - docs/vendor/cache/rb-fsevent-0.9.8.gem
237
+ - docs/vendor/cache/rb-inotify-0.9.7.gem
238
+ - docs/vendor/cache/sass-3.4.23.gem
239
+ - docs/vendor/cache/servolux-0.12.0.gem
240
+ - docs/vendor/cache/thor-0.19.4.gem
241
+ - docs/vendor/cache/thread_safe-0.3.5.gem
242
+ - docs/vendor/cache/tilt-2.0.5.gem
243
+ - docs/vendor/cache/tzinfo-1.2.2.gem
244
+ - docs/vendor/cache/uglifier-3.0.4.gem
185
245
  - lib/word_search.rb
186
246
  - lib/word_search/catalog.rb
187
247
  - lib/word_search/generator.rb
@@ -202,37 +262,39 @@ files:
202
262
  - lib/word_search/two_dimensional/position_word.rb
203
263
  - lib/word_search/version.rb
204
264
  - lib/word_search/word_bank.rb
205
- - vendor/cache/activemodel-5.0.0.1.gem
206
- - vendor/cache/activesupport-5.0.0.1.gem
265
+ - vendor/cache/activemodel-5.0.1.gem
266
+ - vendor/cache/activesupport-5.0.1.gem
207
267
  - vendor/cache/ast-2.3.0.gem
208
- - vendor/cache/codeclimate-test-reporter-0.6.0.gem
268
+ - vendor/cache/codeclimate-test-reporter-1.0.4.gem
209
269
  - vendor/cache/coderay-1.1.1.gem
210
- - vendor/cache/concurrent-ruby-1.0.2.gem
270
+ - vendor/cache/concurrent-ruby-1.0.4.gem
211
271
  - vendor/cache/diff-lcs-1.2.5.gem
212
272
  - vendor/cache/docile-1.1.5.gem
213
273
  - vendor/cache/i18n-0.7.0.gem
214
274
  - vendor/cache/json-2.0.2.gem
275
+ - vendor/cache/metaclass-0.0.4.gem
215
276
  - vendor/cache/method_source-0.8.2.gem
216
- - vendor/cache/minitest-5.9.0.gem
217
- - vendor/cache/parser-2.3.1.2.gem
277
+ - vendor/cache/minitest-5.10.1.gem
278
+ - vendor/cache/mocha-1.2.1.gem
279
+ - vendor/cache/parser-2.3.3.1.gem
218
280
  - vendor/cache/powerpack-0.1.1.gem
219
281
  - vendor/cache/pry-0.10.4.gem
220
- - vendor/cache/rainbow-2.1.0.gem
221
- - vendor/cache/rake-10.5.0.gem
282
+ - vendor/cache/rainbow-2.2.1.gem
283
+ - vendor/cache/rake-12.0.0.gem
222
284
  - vendor/cache/rspec-3.5.0.gem
223
- - vendor/cache/rspec-core-3.5.2.gem
285
+ - vendor/cache/rspec-core-3.5.4.gem
224
286
  - vendor/cache/rspec-expectations-3.5.0.gem
225
287
  - vendor/cache/rspec-mocks-3.5.0.gem
226
288
  - vendor/cache/rspec-support-3.5.0.gem
227
- - vendor/cache/rubocop-0.42.0.gem
228
- - vendor/cache/ruby-enum-0.5.0.gem
289
+ - vendor/cache/rubocop-0.46.0.gem
290
+ - vendor/cache/ruby-enum-0.6.0.gem
229
291
  - vendor/cache/ruby-progressbar-1.8.1.gem
230
292
  - vendor/cache/simplecov-0.12.0.gem
231
293
  - vendor/cache/simplecov-html-0.10.0.gem
232
294
  - vendor/cache/slop-3.6.0.gem
233
295
  - vendor/cache/thread_safe-0.3.5.gem
234
296
  - vendor/cache/tzinfo-1.2.2.gem
235
- - vendor/cache/unicode-display_width-1.1.0.gem
297
+ - vendor/cache/unicode-display_width-1.1.2.gem
236
298
  - word_search.gemspec
237
299
  homepage: https://www.github.com/npezza93/word_searcher
238
300
  licenses:
@@ -254,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
254
316
  version: '0'
255
317
  requirements: []
256
318
  rubyforge_project:
257
- rubygems_version: 2.5.1
319
+ rubygems_version: 2.6.8
258
320
  signing_key:
259
321
  specification_version: 4
260
322
  summary: Word Search Generator and Solver
Binary file
Binary file
@@ -1,71 +0,0 @@
1
- @charset "utf-8";
2
- @import "normalize";
3
-
4
- body {
5
- background: #4DD0E1;
6
- font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
7
- }
8
-
9
- h1 {
10
- color: rgba(0,0,0,0.5);
11
- font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
12
- font-size: 3.5em;
13
- font-weight: 400;
14
- margin: 0;
15
- padding: 20px;
16
- }
17
-
18
- .container {
19
- width: 700px;
20
- max-width: 90%;
21
- margin: auto;
22
- }
23
-
24
- .hljs {
25
- padding: 20px;
26
- font-family: 'Droid Sans Mono', monospace;
27
- }
28
-
29
- .center {
30
- text-align: center;
31
- }
32
-
33
- .fork .block {
34
- justify-content: flex-end;
35
- display: flex;
36
- flex-direction: row;
37
-
38
- a {
39
- display: flex;
40
- flex-direction: row;
41
- align-items: center;
42
- cursor: pointer;
43
- margin: 7px;
44
- margin-right: 13px;
45
- border: 2px solid rgba(0,0,0,0.5);
46
- padding: 10px;
47
- color: rgba(0,0,0,0.5);
48
- background: transparent;
49
- transition: all 0.5s ease;
50
- text-decoration: none;
51
-
52
- .github-icon {
53
- background-image: url('../images/github.png');
54
- width: 25px;
55
- height: 25px;
56
- background-repeat: no-repeat;
57
- background-size: contain;
58
- margin-right: 10px;
59
- transition: all 0.5s ease;
60
- }
61
- &:hover {
62
- background-color: rgba(0,0,0,0.5);
63
- color: #fff;
64
- border: 2px solid rgba(0, 0, 0, 0.0);
65
-
66
- .github-icon {
67
- background-image: url('../images/github-light.png');
68
- }
69
- }
70
- }
71
- }
data/lib/solution.rb DELETED
@@ -1,67 +0,0 @@
1
- require 'word_search'
2
-
3
- class Solution
4
- attr_accessor :solved
5
-
6
- def initialize
7
- @solved = {}
8
- end
9
-
10
- def perform
11
- word_bank.each do |word|
12
- find_word(word)
13
- end
14
- end
15
-
16
- def plane
17
- @plane ||= WordSearch::Plane.make_from_file('word_search')
18
- end
19
-
20
- def word_bank
21
- @word_bank ||= WordSearch::WordBank.new('words.csv')
22
- end
23
-
24
- def directions
25
- @directions ||=
26
- if plane.two_dimensional?
27
- WordSearch::TwoDimensional::Direction
28
- else
29
- WordSearch::ThreeDimensional::Direction
30
- end.values
31
- end
32
-
33
- # 100 Benches - avg. 1.8195600882917642 sec
34
- # 100 Benches - avg. 3.1153619168809383 sec - brute force
35
- def find_word(word)
36
- plane.catalog[word[0]].find do |point|
37
- directions.find do |direction|
38
- next if (spot = find_point(point, word.size - 1, direction)).blank? ||
39
- not_found?(spot, word, point, direction)
40
-
41
- @solved[word] = { first: point, last: spot}
42
- spot
43
- end
44
- end
45
- end
46
-
47
- def not_found?(spot, word, point, direction)
48
- !(spot.letter == word[-1] && double_check(word, point, direction))
49
- end
50
-
51
- def find_point(point, move, direction)
52
- plane.dig(
53
- point.x + (move * direction[0]),
54
- point.y + (move * direction[1]),
55
- )
56
- end
57
-
58
- def double_check(word, point, direction)
59
- matching = true
60
-
61
- (word.length - 3).times do |i|
62
- matching &&= find_point(point, (1 + i), direction).letter == word[1 + i]
63
- end
64
-
65
- matching
66
- end
67
- end