lays 0.0.2 → 0.0.3

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: fa165b0dfc65a1195a7219030c7b72f2ff19af7e
4
- data.tar.gz: ddf9af5ca25cc4594bd9077ee55c90b6a4011fd3
3
+ metadata.gz: e72ed5d8477765417dde167c2dbeac3b89f62a70
4
+ data.tar.gz: 7d074dff6b535e3a80288e1de7231e0591a13e48
5
5
  SHA512:
6
- metadata.gz: b1f1d692c83e10f5366de6aa0ce611b3d4b3d5b2be2c26155e1f672935524c8f42563ccc971ed48bb1fba36955a90a183d1d2f9e5d2e2b17c7198eeeac8174ad
7
- data.tar.gz: c36bb27d8de37a8f885f170eb831f2d0d8bb837ab054fd9e2f200bc926af62cfe3de2a1ed3fddb13d22a01c07b51495721b0d29b4a56966dd245b17c62575d8b
6
+ metadata.gz: 9ce367aab90f87597976dc85c4ef55650a3ed5784970a0dcbae6c22a025e0fcd4cd46b9fbac7487147da1e465bf4136c4efec406d256f4663b31790e67933548
7
+ data.tar.gz: 36cd5ab70131d080ca515cc8f7cb78d706cbdac3a99710dc4eef1a8bcad4757d26cf60f8424471f460cf522c4c5e845671186b41d97697ee232fc087cf540d07
data/.travis.yml ADDED
@@ -0,0 +1,8 @@
1
+ rvm:
2
+ - 1.9.2
3
+ - 1.9.3
4
+ - 2.1.0
5
+ - 2.1.1
6
+ - 2.1.2
7
+ - ruby-head
8
+ - jruby-19mode
data/lib/lays/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lays
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/lays.rb CHANGED
@@ -1,16 +1,23 @@
1
1
  require "lays/version"
2
+ require "ostruct"
2
3
 
3
4
  module Lays
4
5
 
5
6
  def []=(layer, content)
6
- layers[layer] = content
7
+ set_layer(layer)
8
+ layers[layer].content = content
7
9
  @result = nil
8
10
  end
9
11
 
10
12
  def [](layer)
13
+ set_layer(layer)
11
14
  layers[layer]
12
15
  end
13
16
 
17
+ def set_layer(id)
18
+ layers[id] ||= OpenStruct.new
19
+ end
20
+
14
21
  def layers
15
22
  @layer ||= {}
16
23
  end
@@ -21,11 +28,13 @@ module Lays
21
28
 
22
29
  def render
23
30
  result = []
24
- layers.sort {|a, b| a[0] <=> b[0] }.each do |_, content|
31
+ layers.sort {|a, b| a[0] <=> b[0] }.each do |_, layer|
32
+ content = layer.content
25
33
  content.split("\n").each_with_index.map do |line, i|
26
34
  line.each_char.each_with_index do |c, j|
27
35
  result[i] ||= []
28
- result[i][j] = c unless c == nil || c == " "
36
+ transparent = layer.transparent || " "
37
+ result[i][j] = c unless c == nil || c == transparent
29
38
  end
30
39
  end
31
40
  end
@@ -58,27 +58,27 @@ end
58
58
 
59
59
  test "three layers, three lines" do
60
60
  frame = Frame.new
61
- frame[3] = <<THREE
61
+ frame[3] = <<-THREE
62
62
  3 3
63
63
  3
64
64
  333
65
- THREE
66
- frame[2] = <<TWO
65
+ THREE
66
+ frame[2] = <<-TWO
67
67
  22
68
68
  222 2
69
69
  222
70
- TWO
71
- frame[1] = <<ONE
70
+ TWO
71
+ frame[1] = <<-ONE
72
72
  1111111
73
73
  111111
74
74
  11111
75
- ONE
75
+ ONE
76
76
 
77
- res = <<RES.chomp
77
+ res = <<-RES.chomp
78
78
  3231111
79
79
  232121
80
80
  33321
81
- RES
81
+ RES
82
82
  assert_equal frame.to_s, res
83
83
  end
84
84
 
@@ -88,12 +88,33 @@ test "re-rendering frames" do
88
88
  frame[2] = "two"
89
89
  frame[1] = "one"
90
90
  frame.to_s
91
-
91
+
92
92
  frame[2] = "* *"
93
93
  frame.to_s
94
94
 
95
95
  frame[8] = " #"
96
96
  res = frame.to_s
97
-
97
+
98
98
  assert_equal res, "*n*#"
99
99
  end
100
+
101
+ scope do
102
+ # Transparency
103
+ test "transparent char" do
104
+ frame = Frame.new
105
+
106
+ frame[6] = "0=0 0"
107
+ frame[6].transparent = "="
108
+ frame[3] = "11111"
109
+ assert_equal frame.to_s, "010 0"
110
+ end
111
+
112
+ test "setting transparent char beforehand" do
113
+ frame = Frame.new
114
+
115
+ frame[6].transparent = "#"
116
+ frame[6] = "2 # 2"
117
+ frame[3] = "11111"
118
+ assert_equal frame.to_s, "2 1 2"
119
+ end
120
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lays
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Iachetti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-17 00:00:00.000000000 Z
11
+ date: 2014-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -60,6 +60,7 @@ extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
62
  - ".gitignore"
63
+ - ".travis.yml"
63
64
  - Gemfile
64
65
  - LICENSE.txt
65
66
  - README.md
@@ -67,8 +68,8 @@ files:
67
68
  - lays.gemspec
68
69
  - lib/lays.rb
69
70
  - lib/lays/version.rb
71
+ - test/lays_test.rb
70
72
  - test/test_helper.rb
71
- - test/text_layers_test.rb
72
73
  homepage: ''
73
74
  licenses:
74
75
  - MIT
@@ -94,5 +95,5 @@ signing_key:
94
95
  specification_version: 4
95
96
  summary: Layered text frames for TRecs.
96
97
  test_files:
98
+ - test/lays_test.rb
97
99
  - test/test_helper.rb
98
- - test/text_layers_test.rb