binpack 0.0.3 → 0.0.4

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.
Files changed (3) hide show
  1. data/lib/binpack.rb +8 -8
  2. data/lib/binpack/version.rb +1 -1
  3. metadata +2 -2
@@ -19,7 +19,7 @@ module Binpack
19
19
  def initialize(width, height, padding=1)
20
20
  @width, @height, @padding = width, height, padding.to_i
21
21
  @items = []
22
- @rows = (@padding..@height + (@padding * 2)).map{ "_"*(@width + (@padding * 2)) }
22
+ @rows = (0...@height + (@padding * 2)).map{ "_"*(@width + (@padding * 2)) }
23
23
  end
24
24
 
25
25
  def add(item)
@@ -28,17 +28,17 @@ module Binpack
28
28
  alias_method "<<".to_sym, :add
29
29
 
30
30
  def try_adding(item)
31
- itemrow = "_" * (item.width + (@padding * 2))
31
+ itemrow = "_" * (item.width.ceil + (@padding * 2))
32
32
  @rows.each_with_index {|r,i|
33
- break if i > @rows.size - (item.width + @padding * 2)
33
+ break if i > @rows.size - (item.height.ceil + @padding * 2)
34
34
  next unless r.include?(itemrow)
35
- idxs = @rows[i + @padding, item.height + @padding].map { |s| s.index(itemrow) }
35
+ idxs = @rows[i + @padding, item.height.ceil + @padding].map { |s| s.index(itemrow) }
36
36
  next unless idxs.all?
37
37
  idx = idxs.max
38
- next unless @rows[i, item.height + (@padding*2)].all? { |s| s[idx,itemrow.size] == itemrow }
38
+ next unless @rows[i, item.height.ceil + (@padding * 2)].all? { |s| s[idx,itemrow.size] == itemrow }
39
39
  g = rand(16).to_s(16)
40
- @rows[i + @padding, item.height].each{ |s|
41
- s[idx + @padding, item.width] = "#{g}" * item.width
40
+ @rows[i + @padding, item.height.ceil].each{ |s|
41
+ s[idx + @padding, item.width.ceil] = "#{g}" * item.width.ceil
42
42
  }
43
43
  @items.push([item, idx, i])
44
44
  return item
@@ -74,4 +74,4 @@ module Binpack
74
74
  bins
75
75
  end
76
76
  end
77
- end
77
+ end
@@ -1,3 +1,3 @@
1
1
  module Binpack
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-24 00:00:00.000000000 Z
12
+ date: 2012-04-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: 2 dimensional bin packing library adapted from a RubyQuiz solution by
15
15
  Ilmari Heikkinen