sudoku_builder 0.1.1 → 0.1.2

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
  SHA1:
3
- metadata.gz: d31c9a419525975d9c40974e3963b227d70defee
4
- data.tar.gz: 4bc3124d4e6dbc1760a42c66d5a865f65bfce958
3
+ metadata.gz: 5977dccd866d6fe1cd40a2d106dce354e213f911
4
+ data.tar.gz: 37796c827c72d619070d70b9f6b9efc74d13a441
5
5
  SHA512:
6
- metadata.gz: 88d11bfc2e8efd7a6998f947a1f8d41321060574860ade5022bcfe00f4a609e54f9fcd927cdbd59505af7493445697bfeb9a1dc15db59d318f83ef11ca6c46dc
7
- data.tar.gz: 3168bfb3fe236f11aeffefa8787f178d11a73a23f2192376e7cd55fe8d324e0b54dd4ff9d205472f5ae06ab02a07c3750649751fb5aa710800a6a462f41d2aab
6
+ metadata.gz: 908c1519655f94d702b5f32067017c0966a831c98182ffaa0f8ff8413cef02e03b12eb4eb6b737fa9514b875f3a2d296ca5a2dc07828609a7599c76f1a9f4bee
7
+ data.tar.gz: ee13c0d69b89d9605414c9239f098a6fdd445ea70d3a16a1ece04c9bf04b1b40ee716d66a2861ff1ea96f319d47a3dc523bd77dba079ed16c1d3878912b56007
data/.idea/workspace.xml CHANGED
@@ -2,8 +2,7 @@
2
2
  <project version="4">
3
3
  <component name="ChangeListManager">
4
4
  <list default="true" id="4ba0e926-77d1-4436-9c09-2db6ca58a641" name="Default" comment="">
5
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Gemfile.lock" afterPath="$PROJECT_DIR$/Gemfile.lock" />
6
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
5
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
7
6
  </list>
8
7
  <ignored path="sudoku.iws" />
9
8
  <ignored path=".idea/workspace.xml" />
@@ -28,68 +27,11 @@
28
27
  </component>
29
28
  <component name="FileEditorManager">
30
29
  <leaf>
31
- <file leaf-file-name="sudoku_builder.rb" pinned="false" current-in-tab="false">
32
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
30
+ <file leaf-file-name="sudoku_builder.gemspec" pinned="false" current-in-tab="true">
31
+ <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
33
32
  <provider selected="true" editor-type-id="text-editor">
34
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="345">
35
- <caret line="13" column="7" selection-start-line="8" selection-start-column="4" selection-end-line="13" selection-end-column="7" />
36
- <folding />
37
- </state>
38
- </provider>
39
- </entry>
40
- </file>
41
- <file leaf-file-name="sudoku.rb" pinned="false" current-in-tab="false">
42
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
43
- <provider selected="true" editor-type-id="text-editor">
44
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="375">
45
- <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
46
- <folding>
47
- <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
48
- </folding>
49
- </state>
50
- </provider>
51
- </entry>
52
- </file>
53
- <file leaf-file-name="solver.rb" pinned="false" current-in-tab="false">
54
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
55
- <provider selected="true" editor-type-id="text-editor">
56
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="960">
57
- <caret line="61" column="83" selection-start-line="61" selection-start-column="83" selection-end-line="61" selection-end-column="83" />
58
- <folding>
59
- <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
60
- </folding>
61
- </state>
62
- </provider>
63
- </entry>
64
- </file>
65
- <file leaf-file-name="builder.rb" pinned="false" current-in-tab="false">
66
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
67
- <provider selected="true" editor-type-id="text-editor">
68
- <state vertical-scroll-proportion="0.0" vertical-offset="746" max-vertical-offset="1425">
69
- <caret line="52" column="8" selection-start-line="52" selection-start-column="8" selection-end-line="52" selection-end-column="8" />
70
- <folding />
71
- </state>
72
- </provider>
73
- </entry>
74
- </file>
75
- <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
76
- <entry file="file://$PROJECT_DIR$/README.md">
77
- <provider editor-type-id="MarkdownPreviewEditor">
78
- <state />
79
- </provider>
80
- <provider selected="true" editor-type-id="text-editor">
81
- <state vertical-scroll-proportion="-8.1" vertical-offset="807" max-vertical-offset="1155">
82
- <caret line="70" column="28" selection-start-line="70" selection-start-column="28" selection-end-line="70" selection-end-column="28" />
83
- <folding />
84
- </state>
85
- </provider>
86
- </entry>
87
- </file>
88
- <file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
89
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
90
- <provider selected="true" editor-type-id="text-editor">
91
- <state vertical-scroll-proportion="0.03968254" vertical-offset="0" max-vertical-offset="378">
92
- <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
33
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="610">
34
+ <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
93
35
  <folding />
94
36
  </state>
95
37
  </provider>
@@ -112,12 +54,13 @@
112
54
  <option value="$PROJECT_DIR$/.gitignore" />
113
55
  <option value="$PROJECT_DIR$/sudoku.gemspec" />
114
56
  <option value="$PROJECT_DIR$/sudoku_builder.gemspec" />
115
- <option value="$PROJECT_DIR$/lib/sudoku_builder/version.rb" />
116
- <option value="$PROJECT_DIR$/spec/sudoku_spec.rb" />
57
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/builder.rb" />
58
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb" />
117
59
  <option value="$PROJECT_DIR$/lib/sudoku_builder.rb" />
118
60
  <option value="$PROJECT_DIR$/lib/sudoku_builder/solver.rb" />
119
- <option value="$PROJECT_DIR$/lib/sudoku_builder/builder.rb" />
61
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/version.rb" />
120
62
  <option value="$PROJECT_DIR$/README.md" />
63
+ <option value="$PROJECT_DIR$/spec/sudoku_spec.rb" />
121
64
  </list>
122
65
  </option>
123
66
  </component>
@@ -125,9 +68,10 @@
125
68
  <detection-done>true</detection-done>
126
69
  </component>
127
70
  <component name="ProjectFrameBounds">
128
- <option name="y" value="23" />
71
+ <option name="x" value="-1280" />
72
+ <option name="y" value="-224" />
129
73
  <option name="width" value="1280" />
130
- <option name="height" value="773" />
74
+ <option name="height" value="1024" />
131
75
  </component>
132
76
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
133
77
  <OptionsSetting value="true" id="Add" />
@@ -152,6 +96,7 @@
152
96
  <sortByType />
153
97
  </navigator>
154
98
  <panes>
99
+ <pane id="Scope" />
155
100
  <pane id="ProjectPane">
156
101
  <subPane>
157
102
  <PATH>
@@ -170,61 +115,14 @@
170
115
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
171
116
  </PATH_ELEMENT>
172
117
  </PATH>
173
- <PATH>
174
- <PATH_ELEMENT>
175
- <option name="myItemId" value="sudoku" />
176
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
177
- </PATH_ELEMENT>
178
- <PATH_ELEMENT>
179
- <option name="myItemId" value="sudoku" />
180
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
181
- </PATH_ELEMENT>
182
- <PATH_ELEMENT>
183
- <option name="myItemId" value="lib" />
184
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
185
- </PATH_ELEMENT>
186
- </PATH>
187
- <PATH>
188
- <PATH_ELEMENT>
189
- <option name="myItemId" value="sudoku" />
190
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
191
- </PATH_ELEMENT>
192
- <PATH_ELEMENT>
193
- <option name="myItemId" value="sudoku" />
194
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
195
- </PATH_ELEMENT>
196
- <PATH_ELEMENT>
197
- <option name="myItemId" value="lib" />
198
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
199
- </PATH_ELEMENT>
200
- <PATH_ELEMENT>
201
- <option name="myItemId" value="sudoku_builder" />
202
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
203
- </PATH_ELEMENT>
204
- </PATH>
205
- <PATH>
206
- <PATH_ELEMENT>
207
- <option name="myItemId" value="sudoku" />
208
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
209
- </PATH_ELEMENT>
210
- <PATH_ELEMENT>
211
- <option name="myItemId" value="sudoku" />
212
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
213
- </PATH_ELEMENT>
214
- <PATH_ELEMENT>
215
- <option name="myItemId" value="bin" />
216
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
217
- </PATH_ELEMENT>
218
- </PATH>
219
118
  </subPane>
220
119
  </pane>
221
- <pane id="Scope" />
222
120
  </panes>
223
121
  </component>
224
122
  <component name="PropertiesComponent">
225
123
  <property name="last_opened_file_path" value="$PROJECT_DIR$" />
226
124
  <property name="WebServerToolWindowFactoryState" value="false" />
227
- <property name="FullScreen" value="false" />
125
+ <property name="FullScreen" value="true" />
228
126
  </component>
229
127
  <component name="RunManager">
230
128
  <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
@@ -332,28 +230,28 @@
332
230
  <servers />
333
231
  </component>
334
232
  <component name="ToolWindowManager">
335
- <frame x="0" y="23" width="1280" height="773" extended-state="6" />
233
+ <frame x="-1280" y="-224" width="1280" height="1024" extended-state="6" />
336
234
  <editor active="false" />
337
235
  <layout>
338
236
  <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
339
- <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3847328" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
237
+ <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.31573275" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
340
238
  <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
341
239
  <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
342
240
  <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
343
241
  <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
344
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2536349" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
345
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
346
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
242
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25767368" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
347
243
  <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
348
244
  <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.63053435" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
349
245
  <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
350
246
  <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
351
247
  <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
352
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
353
248
  <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977098" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
249
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
250
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
354
251
  <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
355
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
252
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
356
253
  <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
254
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
357
255
  </layout>
358
256
  </component>
359
257
  <component name="Vcs.Log.UiProperties">
@@ -379,6 +277,61 @@
379
277
  <watches-manager />
380
278
  </component>
381
279
  <component name="editorHistoryManager">
280
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
281
+ <provider selected="true" editor-type-id="text-editor">
282
+ <state vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="345">
283
+ <caret line="13" column="7" selection-start-line="8" selection-start-column="4" selection-end-line="13" selection-end-column="7" />
284
+ <folding />
285
+ </state>
286
+ </provider>
287
+ </entry>
288
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
289
+ <provider selected="true" editor-type-id="text-editor">
290
+ <state vertical-scroll-proportion="0.0" vertical-offset="135" max-vertical-offset="375">
291
+ <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
292
+ <folding>
293
+ <marker date="1433620419000" expanded="false" signature="-1:-1" placeholder="..." />
294
+ </folding>
295
+ </state>
296
+ </provider>
297
+ </entry>
298
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
299
+ <provider selected="true" editor-type-id="text-editor">
300
+ <state vertical-scroll-proportion="0.0" vertical-offset="765" max-vertical-offset="960">
301
+ <caret line="61" column="83" selection-start-line="61" selection-start-column="83" selection-end-line="61" selection-end-column="83" />
302
+ <folding>
303
+ <marker date="1433621661000" expanded="false" signature="-1:-1" placeholder="..." />
304
+ </folding>
305
+ </state>
306
+ </provider>
307
+ </entry>
308
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
309
+ <provider selected="true" editor-type-id="text-editor">
310
+ <state vertical-scroll-proportion="0.0" vertical-offset="746" max-vertical-offset="1425">
311
+ <caret line="52" column="8" selection-start-line="52" selection-start-column="8" selection-end-line="52" selection-end-column="8" />
312
+ <folding />
313
+ </state>
314
+ </provider>
315
+ </entry>
316
+ <entry file="file://$PROJECT_DIR$/README.md">
317
+ <provider editor-type-id="MarkdownPreviewEditor">
318
+ <state />
319
+ </provider>
320
+ <provider selected="true" editor-type-id="text-editor">
321
+ <state vertical-scroll-proportion="0.0" vertical-offset="855" max-vertical-offset="1170">
322
+ <caret line="57" column="113" selection-start-line="57" selection-start-column="113" selection-end-line="57" selection-end-column="113" />
323
+ <folding />
324
+ </state>
325
+ </provider>
326
+ </entry>
327
+ <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
328
+ <provider selected="true" editor-type-id="text-editor">
329
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1200">
330
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
331
+ <folding />
332
+ </state>
333
+ </provider>
334
+ </entry>
382
335
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
383
336
  <provider selected="true" editor-type-id="text-editor">
384
337
  <state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="345">
@@ -392,7 +345,7 @@
392
345
  <state vertical-scroll-proportion="0.0" vertical-offset="135" max-vertical-offset="375">
393
346
  <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
394
347
  <folding>
395
- <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
348
+ <marker date="1433620419000" expanded="false" signature="-1:-1" placeholder="..." />
396
349
  </folding>
397
350
  </state>
398
351
  </provider>
@@ -402,7 +355,7 @@
402
355
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1065">
403
356
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
404
357
  <folding>
405
- <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
358
+ <marker date="1433621661000" expanded="false" signature="-1:-1" placeholder="..." />
406
359
  </folding>
407
360
  </state>
408
361
  </provider>
@@ -447,85 +400,84 @@
447
400
  <provider selected="true" editor-type-id="text-editor">
448
401
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="410">
449
402
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
450
- <folding />
451
403
  </state>
452
404
  </provider>
453
405
  </entry>
454
- <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
406
+ <entry file="file://$USER_HOME$/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rexml/functions.rb">
455
407
  <provider selected="true" editor-type-id="text-editor">
456
- <state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="420">
457
- <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
408
+ <state vertical-scroll-proportion="4.197349" vertical-offset="930" max-vertical-offset="6000">
409
+ <caret line="252" column="37" selection-start-line="252" selection-start-column="37" selection-end-line="252" selection-end-column="37" />
458
410
  <folding />
459
411
  </state>
460
412
  </provider>
461
413
  </entry>
462
- <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
414
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
463
415
  <provider selected="true" editor-type-id="text-editor">
464
- <state vertical-scroll-proportion="0.14516129" vertical-offset="0" max-vertical-offset="1200">
465
- <caret line="3" column="13" selection-start-line="3" selection-start-column="13" selection-end-line="3" selection-end-column="13" />
416
+ <state vertical-scroll-proportion="0.0" vertical-offset="670" max-vertical-offset="1425">
417
+ <caret line="57" column="7" selection-start-line="57" selection-start-column="7" selection-end-line="57" selection-end-column="7" />
466
418
  <folding />
467
419
  </state>
468
420
  </provider>
469
421
  </entry>
470
- <entry file="file://$USER_HOME$/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rexml/functions.rb">
422
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
471
423
  <provider selected="true" editor-type-id="text-editor">
472
- <state vertical-scroll-proportion="4.197349" vertical-offset="930" max-vertical-offset="6000">
473
- <caret line="252" column="37" selection-start-line="252" selection-start-column="37" selection-end-line="252" selection-end-column="37" />
424
+ <state vertical-scroll-proportion="0.024590164" vertical-offset="0" max-vertical-offset="610">
425
+ <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
474
426
  <folding />
475
427
  </state>
476
428
  </provider>
477
429
  </entry>
478
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
430
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
479
431
  <provider selected="true" editor-type-id="text-editor">
480
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="345">
481
- <caret line="13" column="7" selection-start-line="8" selection-start-column="4" selection-end-line="13" selection-end-column="7" />
482
- <folding />
432
+ <state vertical-scroll-proportion="-0.1557377" vertical-offset="950" max-vertical-offset="1560">
433
+ <caret line="67" column="97" selection-start-line="67" selection-start-column="97" selection-end-line="67" selection-end-column="97" />
434
+ <folding>
435
+ <marker date="1433621661000" expanded="false" signature="-1:-1" placeholder="..." />
436
+ </folding>
483
437
  </state>
484
438
  </provider>
485
439
  </entry>
486
440
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
487
441
  <provider selected="true" editor-type-id="text-editor">
488
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="375">
489
- <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
442
+ <state vertical-scroll-proportion="0.46721312" vertical-offset="0" max-vertical-offset="610">
443
+ <caret line="29" column="0" selection-start-line="29" selection-start-column="0" selection-end-line="36" selection-end-column="7" />
490
444
  <folding>
491
- <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
445
+ <marker date="1433620419000" expanded="false" signature="-1:-1" placeholder="..." />
492
446
  </folding>
493
447
  </state>
494
448
  </provider>
495
449
  </entry>
496
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
450
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
497
451
  <provider selected="true" editor-type-id="text-editor">
498
- <state vertical-scroll-proportion="0.0" vertical-offset="495" max-vertical-offset="960">
499
- <caret line="61" column="83" selection-start-line="61" selection-start-column="83" selection-end-line="61" selection-end-column="83" />
500
- <folding>
501
- <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
502
- </folding>
452
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="610">
453
+ <caret line="8" column="14" selection-start-line="8" selection-start-column="14" selection-end-line="8" selection-end-column="14" />
454
+ <folding />
503
455
  </state>
504
456
  </provider>
505
457
  </entry>
506
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
458
+ <entry file="file://$PROJECT_DIR$/README.md">
459
+ <provider editor-type-id="MarkdownPreviewEditor">
460
+ <state />
461
+ </provider>
507
462
  <provider selected="true" editor-type-id="text-editor">
508
- <state vertical-scroll-proportion="0.0" vertical-offset="746" max-vertical-offset="1425">
509
- <caret line="52" column="8" selection-start-line="52" selection-start-column="8" selection-end-line="52" selection-end-column="8" />
463
+ <state vertical-scroll-proportion="0.54310346" vertical-offset="0" max-vertical-offset="1080">
464
+ <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
510
465
  <folding />
511
466
  </state>
512
467
  </provider>
513
468
  </entry>
514
- <entry file="file://$PROJECT_DIR$/README.md">
469
+ <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
515
470
  <provider selected="true" editor-type-id="text-editor">
516
- <state vertical-scroll-proportion="-8.1" vertical-offset="807" max-vertical-offset="1155">
517
- <caret line="70" column="28" selection-start-line="70" selection-start-column="28" selection-end-line="70" selection-end-column="28" />
471
+ <state vertical-scroll-proportion="0.6557377" vertical-offset="590" max-vertical-offset="1200">
472
+ <caret line="66" column="39" selection-start-line="66" selection-start-column="39" selection-end-line="66" selection-end-column="39" />
518
473
  <folding />
519
474
  </state>
520
475
  </provider>
521
- <provider editor-type-id="MarkdownPreviewEditor">
522
- <state />
523
- </provider>
524
476
  </entry>
525
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
477
+ <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
526
478
  <provider selected="true" editor-type-id="text-editor">
527
- <state vertical-scroll-proportion="0.03968254" vertical-offset="0" max-vertical-offset="378">
528
- <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
479
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="610">
480
+ <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
529
481
  <folding />
530
482
  </state>
531
483
  </provider>
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sudoku_builder (0.1.1)
4
+ sudoku_builder (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -34,9 +34,9 @@ To create a new puzzle:
34
34
 
35
35
  This will return a `SudokuBuilder::Builder` object that looks like this:
36
36
 
37
- ```ruby
38
- #<SudokuBuilder::Builder:0x007fdc729373e8 @sud={0=>[6], 1=>[8], 2=>[9], 3=>[5], 4=>[7], 5=>[2], 6=>[3], ...
39
- ```
37
+ ```ruby
38
+ #<SudokuBuilder::Builder:0x007fdc729373e8 @sud={0=>[6], 1=>[8], 2=>[9], 3=>[5], 4=>[7], 5=>[2], 6=>[3], ...
39
+ ```
40
40
 
41
41
  On the builder object you can call a handful of different methods:
42
42
 
@@ -52,19 +52,14 @@ To solve an existing puzzle, call:
52
52
 
53
53
  my_puzzle must be equal to a hash with keys from 0 to 80 and values equal to an integer for already given squares, and an array for empty squares. ie:
54
54
 
55
- ```
56
- {0=>6, 1=>8, 2=>[], 3=>[], 4=>[], 5=>[], 6=>[3] ...
57
- ```
58
-
59
- ## Development
60
-
61
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
55
+ ```
56
+ {0=>6, 1=>8, 2=>[], 3=>[], 4=>[], 5=>[], 6=>[3] ...
57
+ ```
62
58
 
63
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
64
59
 
65
60
  ## Contributing
66
61
 
67
- 1. Fork it ( https://github.com/[my-github-username]/sudoku/fork )
62
+ 1. Fork it ( https://github.com/ColDog/sudoku/fork )
68
63
  2. Create your feature branch (`git checkout -b my-new-feature`)
69
64
  3. Commit your changes (`git commit -am 'Add some feature'`)
70
65
  4. Push to the branch (`git push origin my-new-feature`)
@@ -4,9 +4,8 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'builder'))
4
4
  module SudokuBuilder
5
5
  class Solver < Sudoku
6
6
 
7
- def initialize(sudoku)
7
+ def initialize(sudoku = nil)
8
8
  @sud = sudoku
9
- @pristine = sudoku
10
9
  @used = {
11
10
  0=> [], 1=> [], 2=> [], 3=> [], 4=> [], 5=> [], 6=> [], 7=> [], 8=> [],
12
11
  9=> [], 10=>[], 11=>[], 12=>[], 13=>[], 14=>[], 15=>[], 16=>[], 17=>[],
@@ -20,48 +19,89 @@ module SudokuBuilder
20
19
  }
21
20
  end
22
21
 
23
- # solve any given sudoku. If the sudoku is empty, it will build a complete one.
22
+ def solver_pristine
23
+ @sud
24
+ end
25
+
24
26
  def solve
25
- t = 0 ; o = 0 ;
26
- direction = true ; key = 0 # main key variable.
27
- loop do
28
- if @sud[key].class == Array # skips pre-filled numbers.
29
- c = [] ; r = [] ; g = [] # build values for current grid, row, column.
30
- build_crg(key,c,r,g,@sud) # updates the relevant variables for check.
31
- @sud[key] = [] # makes a fresh possibilities array.
32
- for i in 1..9
33
- if check?(i, c,r,g) &&
34
- !@used[key].include?(i)
35
- @sud[key] << i
27
+ t = 0 ; o = 0 ; key = 0 # main key and metric vars.
28
+ direction = true # indicates the direction in case of a backtrack on number.
29
+ sud = solver_pristine
30
+ used = pristine
31
+ if sud.nil?
32
+ 'Sudoku entered is not valid/
33
+ does not exist.'
34
+ else
35
+ loop do
36
+ if sud[key].class == Array # skips pre-filled numbers.
37
+ c = [] ; r = [] ; g = [] # build values for current grid, row, column.
38
+ build_crg(key,c,r,g,sud) # updates the relevant variables for check.
39
+ sud[key] = [] # makes a fresh possibilities array.
40
+ for i in 1..9
41
+ if check?(i, c,r,g) &&
42
+ !used[key].include?(i)
43
+ sud[key] << i
44
+ end
36
45
  end
46
+ if sud[key].count == 0 # backtrack if no possibilities.
47
+ key -= 1
48
+ direction = false # setting backtrack to false sends the key down if the
49
+ else # next number down is a fixnum.
50
+ use = sud[key].sample # pick a random possibility.
51
+ sud[key] = [use] # uses the possibility.
52
+ used[key] << use # also puts it into the used array.
53
+ key += 1
54
+ direction = true
55
+ end
56
+ elsif sud[key].class == Fixnum
57
+ direction ? key += 1 : key -= 1 # backt or forward track based on current direction.
37
58
  end
38
- if @sud[key].count == 0 # backtrack if no possibilities.
39
- key -= 1
40
- direction = false
41
- else
42
- use = @sud[key].sample # pick a random possibility.
43
- @sud[key] = [use] # uses the possibility.
44
- @used[key] << use # also puts it into the used array.
45
- key += 1
59
+ if key == 0 || t > 104 ||
60
+ key == 1 && t > 3 # resets everything if we've reached a high amount
61
+ sud = solver_pristine
62
+ used = pristine
63
+ key = 0 ; t = 0
46
64
  direction = true
47
65
  end
48
- elsif @sud[key].class == Fixnum
49
- direction ? key += 1 : key -= 1 # backt or forward track based on current direction.
66
+ break if key == 81 # break if we've reached the last value.
67
+ t += 1 ; o += 1 # add the reporting variables.
68
+ break if o > 10000000 # there is the possibility to be given an unsolvable.
50
69
  end
51
- if key == 0 || t > 104 ||
52
- key == 1 && t > 3 # resets everything if we've reached a high amount
53
- @sud = @pristine.dup # of run throughs, or the key has wound down to 0.
54
- @used.each do |k,v|
55
- @used[k] = []
70
+ Builder.new(@sud)
71
+ end
72
+ end
73
+
74
+ def create
75
+ sud = pristine
76
+ used = pristine
77
+ t = 0 ; o = 0 ; key = 0 # main key and metric variables
78
+ loop do
79
+ c = [] ; r = [] ; g = [] # build values for current grid, row, column.
80
+ build_crg(key,c,r,g,sud) # updates the relevant variables for check.
81
+ sud[key] = [] # makes a fresh possibilities array.
82
+ for i in 1..9
83
+ if check?(i,c,r,g) &&
84
+ !used[key].include?(i)
85
+ sud[key] << i
56
86
  end
87
+ end
88
+ if sud[key].count == 0 # backtrack if no possibilities.
89
+ key -= 1
90
+ else
91
+ use = sud[key].sample # pick a random possibility.
92
+ sud[key] = [use] # uses the possibility.
93
+ used[key] << use # also puts it into the used array.
94
+ key += 1
95
+ end
96
+ if key == 0 || t > 104 # resets everything if we've reached a high count.
97
+ sud = pristine
98
+ used = pristine
57
99
  key = 0 ; t = 0
58
- direction = true
59
100
  end
60
- break if key == 81 # break if we've reached the last value.
61
- t += 1 ; o += 1 # add the reporting variables
62
- break if o > 1000000 # there is the possibility to be given an
101
+ break if key == 81 # break if we've reached the last value.
102
+ t += 1 ; o += 1 # add the reporting variables
63
103
  end
64
- Builder.new(@sud)
104
+ Builder.new(sud)
65
105
  end
66
106
 
67
107
  end
@@ -26,5 +26,15 @@ module SudokuBuilder
26
26
  def check?(val,c,r,g)
27
27
  !c.flatten.include?(val) && !r.flatten.include?(val) && !g.flatten.include?(val)
28
28
  end
29
+
30
+ def pristine
31
+ sud = {} ; q = 0
32
+ 81.times do
33
+ sud[q] = []
34
+ q += 1
35
+ end
36
+ sud
37
+ end
38
+
29
39
  end
30
40
  end
@@ -1,3 +1,3 @@
1
1
  module SudokuBuilder
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -6,12 +6,6 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'sudoku_builder/versi
6
6
  module SudokuBuilder
7
7
  extend self
8
8
  def new
9
- sudoku = { }
10
- q = 0
11
- 81.times do
12
- sudoku[q] = []
13
- q += 1
14
- end
15
- Solver.new(sudoku).solve
9
+ Solver.new.create
16
10
  end
17
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sudoku_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Walker
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-04 00:00:00.000000000 Z
11
+ date: 2015-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler