combinatorial_puzzle_solver 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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