combinatorial_puzzle_solver 0.1.5 → 0.1.6
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 +1 -1
- data/Rakefile +12 -30
- data/combinatorial_puzzle_solver.gemspec +2 -3
- data/lib/combinatorial_puzzle_solver/sudoku.rb +7 -7
- data/lib/combinatorial_puzzle_solver/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48253eaf2c103bd7c5b330bc03c906109f8bda85
|
4
|
+
data.tar.gz: 7c8fe758d89eaa7f2e34ff227ad71896bf8be0ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22ee49551ca08bf0f05b4996e8a2de23f56f3d7ab9f6e999e9a8616cec04535f7c2b7ea9fc67954af63b6ac796978fd40f971460d194d0c95c21a833310330b9
|
7
|
+
data.tar.gz: b91eb716f44882ee61ff8e8e38549f2139cc31bd22ba6b420aae192f943a4b43c4aa38696302e32d0a065b1b31c56c9d595206f1c6d3bc869db77a543a0f8bf5
|
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -1,40 +1,22 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
|
3
|
-
|
4
|
-
require 'rake/clean'
|
5
|
-
require 'yard'
|
6
|
-
require 'rspec/illustrate/yard'
|
7
|
-
require "rspec/core/rake_task"
|
8
|
-
|
9
|
-
desc "Execute tests"
|
10
|
-
RSpec::Core::RakeTask.new(:test)
|
11
|
-
|
12
|
-
desc "Execute RSpec and create a test report at ./doc/api.rspec."
|
13
|
-
RSpec::Core::RakeTask.new(:spec) do |t|
|
14
|
-
t.rspec_opts = "--format RSpec::Formatters::YARD --out ./doc/api.rspec"
|
15
|
-
end
|
16
|
-
|
17
|
-
desc "Create documentation."
|
18
|
-
YARD::Rake::YardocTask.new(:doc) do |t|
|
19
|
-
t.files = ['lib/**/*.rb', 'doc/api.rspec', '-', 'doc/api.rspec', 'doc/examples.md' ]
|
20
|
-
end
|
21
|
-
task :doc => [:spec, :examples]
|
22
|
-
CLEAN.include("doc")
|
23
|
-
CLEAN.include(".yardoc")
|
2
|
+
require 'rspec/illustrate/default_rake_targets'
|
24
3
|
|
25
4
|
desc "Create example documentation."
|
5
|
+
task :examples => ['tmp/examples.md']
|
6
|
+
|
26
7
|
require_relative 'example_puzzles/compile_examples'
|
27
|
-
|
28
|
-
file 'doc/examples.md' => FileList["example_puzzles/*"] do
|
8
|
+
file 'tmp/examples.md' => FileList["example_puzzles/*"] do
|
29
9
|
markdown = compile_examples_to_markdown(Dir.glob('example_puzzles/*.yaml'),2)
|
30
|
-
File.write('
|
10
|
+
File.write('tmp/examples.md', markdown)
|
31
11
|
$stderr.puts "examples ok!"
|
32
12
|
end
|
33
13
|
|
34
|
-
|
35
|
-
|
36
|
-
t.stats_options = ['--list-undoc']
|
37
|
-
end
|
14
|
+
# remove the old doc-task defined in rspec/illustrate/default_rake_targets
|
15
|
+
Rake::Task['doc'].clear
|
38
16
|
|
39
|
-
|
17
|
+
desc "Create documentation."
|
18
|
+
YARD::Rake::YardocTask.new(:doc) do |t|
|
19
|
+
t.files = ['lib/**/*.rb', 'tmp/api.rspec', '-', 'tmp/api.rspec', 'tmp/examples.md' ]
|
20
|
+
end
|
21
|
+
task :doc => [:spec, :examples]
|
40
22
|
|
@@ -23,9 +23,8 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.8"
|
25
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
-
spec.add_development_dependency "rspec-illustrate", "~> 0.2.
|
27
|
-
|
26
|
+
spec.add_development_dependency "rspec-illustrate", "~> 0.2.5"
|
28
27
|
spec.add_development_dependency "yard", "~> 0.8.7.6"
|
29
|
-
spec.add_development_dependency "redcarpet", "~> 3.
|
28
|
+
spec.add_development_dependency "redcarpet", "~> 3.3"
|
30
29
|
|
31
30
|
end
|
@@ -67,20 +67,20 @@ module CombinatorialPuzzleSolver
|
|
67
67
|
|
68
68
|
# @return [Array<Array<Identifier>>] the identifiers grouped by squares
|
69
69
|
def squares
|
70
|
-
slices =
|
70
|
+
slices = columns.flatten.each_slice(@dimension).each_slice(@dimension).to_a
|
71
71
|
slices.transpose.flatten.each_slice(@size).to_a
|
72
72
|
end
|
73
73
|
|
74
74
|
# @return [String] a simple string representation of the sudoku puzzle.
|
75
75
|
def to_s
|
76
76
|
horizontal = "\n#{Array.new(@dimension){"-" * (@dimension*2-1) }.join("+")}\n"
|
77
|
-
|
77
|
+
separators = [" ", "|", "\n", horizontal]
|
78
78
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
79
|
+
values = @identifiers.collect{|id| (id.has_value?) ? id.value.to_s : " "}
|
80
|
+
separators.each{|separator|
|
81
|
+
values = values.each_slice(@dimension).collect{|s| s.join(separator) }
|
82
|
+
}
|
83
|
+
values.join
|
84
84
|
end
|
85
85
|
|
86
86
|
# @return [String] a string representation of an identifier, which would be
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: combinatorial_puzzle_solver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Schlyter
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.2.
|
47
|
+
version: 0.2.5
|
48
48
|
type: :development
|
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.2.
|
54
|
+
version: 0.2.5
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: yard
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.
|
75
|
+
version: '3.3'
|
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: 3.
|
82
|
+
version: '3.3'
|
83
83
|
description: A resolver of combinatorial number-placement puzzles, like Sudoku.
|
84
84
|
email:
|
85
85
|
- erik@erisc.se
|