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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c97ab26d922c738ae675bbc88cb26d8b8d259d5
4
- data.tar.gz: f2cf755474ec48ee6b028795e243619fef637976
3
+ metadata.gz: 48253eaf2c103bd7c5b330bc03c906109f8bda85
4
+ data.tar.gz: 7c8fe758d89eaa7f2e34ff227ad71896bf8be0ec
5
5
  SHA512:
6
- metadata.gz: 616483c367ca49dfbbea46f862dcda1bdfae2b5f07eaf3dacab3cacaffa0e87f5dd6054745d2bd6d019999010176335a4c9269660b80718cf385019cfdc8a0bf
7
- data.tar.gz: bb60d2804922912522d8622e1feee0124030754c8a68ba0ed4125cd972806f290511d51e3eb6d042efda925e691dce3ca0aa4e9a6650dd72b189b1dd002d300c
6
+ metadata.gz: 22ee49551ca08bf0f05b4996e8a2de23f56f3d7ab9f6e999e9a8616cec04535f7c2b7ea9fc67954af63b6ac796978fd40f971460d194d0c95c21a833310330b9
7
+ data.tar.gz: b91eb716f44882ee61ff8e8e38549f2139cc31bd22ba6b420aae192f943a4b43c4aa38696302e32d0a065b1b31c56c9d595206f1c6d3bc869db77a543a0f8bf5
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Combinatorial Puzzle Solver
1
+ # Combinatorial Puzzle Solver [![Gem Version](https://badge.fury.io/rb/combinatorial_puzzle_solver.svg)](http://badge.fury.io/rb/combinatorial_puzzle_solver)
2
2
 
3
3
  A resolver of combinatorial number-placement puzzles, like Sudoku.
4
4
 
data/Rakefile CHANGED
@@ -1,40 +1,22 @@
1
1
  require "bundler/gem_tasks"
2
- Bundler.setup
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
- task :examples => ['doc/examples.md']
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('doc/examples.md', markdown)
10
+ File.write('tmp/examples.md', markdown)
31
11
  $stderr.puts "examples ok!"
32
12
  end
33
13
 
34
- desc "List the undocumented code."
35
- YARD::Rake::YardocTask.new(:list_undoc) do |t|
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
- task :default => :doc
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.0"
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.2.2"
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 = @identifiers.each_slice(@dimension).each_slice(@dimension).to_a
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
- divisors = [horizontal, "\n", "|", " "]
77
+ separators = [" ", "|", "\n", horizontal]
78
78
 
79
- strings = @identifiers.collect{|id| (id.has_value?) ? id.value.to_s : " "}
80
- while divisor = divisors.pop do
81
- strings = strings.each_slice(@dimension).collect{|s| s.join(divisor) }
82
- end
83
- strings.join
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
@@ -1,4 +1,4 @@
1
1
  module CombinatorialPuzzleSolver
2
2
  # the current version
3
- VERSION = "0.1.5"
3
+ VERSION = "0.1.6"
4
4
  end
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.5
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-05-27 00:00:00.000000000 Z
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.0
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.0
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.2.2
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.2.2
82
+ version: '3.3'
83
83
  description: A resolver of combinatorial number-placement puzzles, like Sudoku.
84
84
  email:
85
85
  - erik@erisc.se