divygrid 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 38e392b50f6af50e3dfd478f272d62d369b7e941
4
- data.tar.gz: 4967a50bc05991739dc5dd6e5bbac7bb24371c1f
3
+ metadata.gz: 4b4eeb20f434b517a67a0626b7a3fea6129ca493
4
+ data.tar.gz: df0548b8228d09f9225a659c8c3c145b977e5ee0
5
5
  SHA512:
6
- metadata.gz: 208bf7eb651b078cb1b28964ff442553c9e99eea24a9b83a4b211109b727a0986d3dc480776c5fa15eb7abb19d7a5c84d8bc4e539bd2ab203aaa5a08935785cc
7
- data.tar.gz: 3cf4b571121bf9455a0145bc9df4348443165d736f9cf1ef446a5fdfac564525a09cdef51f19353082526b92adf2ac09a967ce1966c7abd2d60aaafd6893009f
6
+ metadata.gz: 9052b49613a019c02e5de80ea05850145943aa720b73bbdfe1233d861f542bcab34bddeea3a1a35920b5262815097be70dfe0389cc46d4a8c8a0dc289f6f6b0d
7
+ data.tar.gz: 79a6f1ccdc2795c020c4040e9cffcace38bc3df81d453f78dc1596b6b650cf34a2ec68a4bc89ca4a0261385f9073551f50725e523dbe01927dc882f3dc6e8353
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  .hound.yml
2
2
  .bundle
3
+ *.gem
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- divygrid (0.0.2)
4
+ divygrid (0.0.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,7 +1,7 @@
1
1
  module Divy
2
2
  class DivGenerator
3
3
  def divy_container(container_size, container_content)
4
- style = "style=\"width: #{size_and_unit(container_size[0])}; height: #{size_and_unit(container_size[1])};\""
4
+ style = "style=\"position:relative; width: #{size_and_unit(container_size[0])}; height: #{size_and_unit(container_size[1])};\""
5
5
  begin_tag = "<div class=\"divycontainer\" #{style}>\n"
6
6
  end_tag = "</div>\n"
7
7
  begin_tag + container_content + end_tag
@@ -28,7 +28,7 @@ module Divy
28
28
  when :html
29
29
  divy_box(content[:location][0], content[:location][1], grid_size, content[:value], content[:size], options)
30
30
  when :image
31
- divy_box(content[:location][0], content[:location][1], grid_size, image_html(content[:value]), content[:size],options)
31
+ divy_box(content[:location][0], content[:location][1], grid_size, image_html(content[:value]), content[:size], options)
32
32
  when :none
33
33
  ''
34
34
  end
@@ -39,7 +39,7 @@ module Divy
39
39
  end
40
40
 
41
41
  def grid_html(grid_dimensions, options = {})
42
- div_grid_html = ""
42
+ div_grid_html = ''
43
43
  (0..(grid_dimensions[0] - 1)).each do |x|
44
44
  (0..(grid_dimensions[1] - 1)).each do |y|
45
45
  div_grid_html += divy_box(x, y, grid_dimensions, nil, nil, options)
@@ -55,13 +55,13 @@ module Divy
55
55
 
56
56
  def divy_box_stylez(x, y, grid_size, content_size = nil, options = {})
57
57
  if content_size
58
- content_divy_box_stylez(x, y, grid_size, content_size, options)
58
+ content_divy_box_stylez(x, y, grid_size, content_size)
59
59
  else
60
- general_divy_box_stylez(x, y, grid_size, content_size, options)
60
+ general_divy_box_stylez(x, y, grid_size, options)
61
61
  end
62
62
  end
63
63
 
64
- def general_divy_box_stylez(x, y, grid_size, content_size = nil, options = {})
64
+ def general_divy_box_stylez(x, y, grid_size, options = {})
65
65
  bottom = scaled_value(grid_size[1], y)
66
66
  left = scaled_value(grid_size[0], x)
67
67
  width = scaled_percentage(grid_size[0])
@@ -69,12 +69,12 @@ module Divy
69
69
  "bottom: #{bottom}%; left: #{left}%; width: #{width}%; height: #{height}%; #{default_stylez(options)}"
70
70
  end
71
71
 
72
- def content_divy_box_stylez(x, y, grid_size, content_size = nil, options = {})
72
+ def content_divy_box_stylez(x, y, grid_size, content_size = nil)
73
73
  bottom = scaled_value(grid_size[1], (y - 0.5))
74
74
  left = scaled_value(grid_size[0], (x - 0.5))
75
75
  width = scaled_value(grid_size[0], content_size[0])
76
76
  height = scaled_value(grid_size[1], content_size[1])
77
- "bottom: #{bottom}%; left: #{left}%; width: #{width}%; height: #{height}%; #{default_stylez(options)}"
77
+ "bottom: #{bottom}%; left: #{left}%; width: #{width}%; height: #{height}%; #{default_stylez(nil)}"
78
78
  end
79
79
 
80
80
  def scaled_value(total_units, val)
@@ -86,7 +86,7 @@ module Divy
86
86
  end
87
87
 
88
88
  def default_stylez(options = {})
89
- if options[:show_grid]
89
+ if options && options[:show_grid]
90
90
  color = options[:grid_color] || '#000000'
91
91
  "position: absolute; border-style:solid; border-color:#{color};"
92
92
  else
data/lib/divy/grid.rb CHANGED
@@ -11,6 +11,42 @@ module Divy
11
11
  @div_generator = Divy::DivGenerator.new
12
12
  end
13
13
 
14
+ def content=(input)
15
+ if input.kind_of?(Array)
16
+ @content = validated_content_arr(input)
17
+ elsif input.kind_of?(Hash)
18
+ @content = [validated_content_hsh(input)]
19
+ end
20
+ rescue
21
+ @content = @content
22
+ end
23
+
24
+ def container_size=(input)
25
+ @container_size = validated_container_size(input)
26
+ rescue
27
+ @container_size = @container_size
28
+ end
29
+
30
+ def grid_dimensions=(input)
31
+ @grid_dimensions = validated_number_array(input)
32
+ rescue
33
+ @grid_dimensions = @grid_dimensions
34
+ end
35
+
36
+ def grid_color=(input)
37
+ @grid_color = validated_hex_color(input)
38
+ rescue
39
+ @grid_color = @grid_color
40
+ end
41
+
42
+ def show_grid=(input)
43
+ if input.kind_of?(TrueClass) || input.kind_of?(FalseClass)
44
+ @show_grid = input
45
+ else
46
+ @show_grid = @show_grid
47
+ end
48
+ end
49
+
14
50
  def add_content(input_content)
15
51
  @content += validated_content_arr(input_content)
16
52
  end
@@ -43,8 +79,8 @@ module Divy
43
79
 
44
80
  def validated_content_hsh(content_hsh)
45
81
  if valid_content_type?(content_hsh)
46
- content_hsh[:location] = validated_number_array(content_hsh[:location] || [0,0])
47
- content_hsh[:size] = validated_number_array(content_hsh[:size] || [1,1])
82
+ content_hsh[:location] = validated_number_array(content_hsh[:location] || [0, 0])
83
+ content_hsh[:size] = validated_number_array(content_hsh[:size] || [1, 1])
48
84
  content_hsh[:value] ||= ''
49
85
  content_hsh
50
86
  else
data/lib/divy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Divy
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
@@ -70,7 +70,7 @@ describe Divy::DivGenerator do
70
70
 
71
71
  it 'should return modified content styles if content size is passed' do
72
72
  options = {show_grid: true, grid_color: '#00FFFF'}
73
- style = 'bottom: 15.0%; left: 5.0%; width: 20.0%; height: 20.0%; position: absolute; border-style:solid; border-color:#00FFFF;'
73
+ style = 'bottom: 15.0%; left: 5.0%; width: 20.0%; height: 20.0%; position: absolute;'
74
74
  @test_div.divy_box_stylez(1, 2, [10, 10], [2, 2], options).must_equal style
75
75
  end
76
76
  end
@@ -89,12 +89,12 @@ describe Divy::DivGenerator do
89
89
 
90
90
  describe '#divy_container' do
91
91
  it 'should wrap the given content in a divycontainer div with %' do
92
- div_content = "<div class=\"divycontainer\" style=\"width: 100%; height: 100%;\">\ntest content</div>\n"
92
+ div_content = "<div class=\"divycontainer\" style=\"position:relative; width: 100%; height: 100%;\">\ntest content</div>\n"
93
93
  @test_div.divy_container(['100%', '100%'], 'test content').must_equal div_content
94
94
  end
95
95
 
96
96
  it 'should wrap the given content in a divycontainer div with as px' do
97
- div_content = "<div class=\"divycontainer\" style=\"width: 100px; height: 100px;\">\ntest content</div>\n"
97
+ div_content = "<div class=\"divycontainer\" style=\"position:relative; width: 100px; height: 100px;\">\ntest content</div>\n"
98
98
  @test_div.divy_container([100, 100], 'test content').must_equal div_content
99
99
  end
100
100
 
@@ -203,4 +203,69 @@ describe Divy::Grid do
203
203
  @grid.html.must_equal (@html_results[4] + "\n")
204
204
  end
205
205
  end
206
+
207
+ describe '#content=' do
208
+ it 'sets content if valid array' do
209
+ @grid.content = [{type: :html, value: 'totally valid', location: [1, 3], size: [1, 1]}]
210
+ @grid.content.must_equal([{type: :html, value: 'totally valid', location: [1, 3], size: [1, 1]}])
211
+ end
212
+
213
+ it 'sets content if valid hash' do
214
+ @grid.content = {type: :html, value: 'totally valid', location: [1, 3], size: [1, 1]}
215
+ @grid.content.must_equal([{type: :html, value: 'totally valid', location: [1, 3], size: [1, 1]}])
216
+ end
217
+
218
+ it 'does not change content if invalid' do
219
+ @grid.content = 'not quite right'
220
+ @grid.content.wont_equal 'not quite right'
221
+ end
222
+ end
223
+
224
+ describe '#container_size=' do
225
+ it 'sets container size if valid' do
226
+ @grid.container_size = [4, 5]
227
+ @grid.container_size.must_equal [4, 5]
228
+ end
229
+
230
+ it 'does not set container size if invalid' do
231
+ @grid.container_size = [4, 5, 6, 7]
232
+ @grid.container_size.wont_equal [4, 5, 6, 7]
233
+ end
234
+ end
235
+
236
+ describe '#grid_dimensions=' do
237
+ it 'sets grid dimensions if valid' do
238
+ @grid.grid_dimensions = [4, 5]
239
+ @grid.grid_dimensions.must_equal [4, 5]
240
+ end
241
+
242
+ it 'does not set grid dimensions if invalid' do
243
+ @grid.grid_dimensions = [4, 5, 6, 7]
244
+ @grid.grid_dimensions.wont_equal [4, 5, 6, 7]
245
+ end
246
+ end
247
+
248
+ describe '#grid_color=' do
249
+ it 'sets grid color if valid' do
250
+ @grid.grid_color = '#FFFFFF'
251
+ @grid.grid_color.must_equal '#FFFFFF'
252
+ end
253
+
254
+ it 'does not set grid color if invalid' do
255
+ @grid.grid_color = 'notacolor'
256
+ @grid.grid_color.wont_equal 'notacolor'
257
+ end
258
+ end
259
+
260
+ describe '#show_grid=' do
261
+ it 'sets show grid if a boolean' do
262
+ @grid.show_grid = true
263
+ @grid.show_grid.must_equal true
264
+ end
265
+
266
+ it 'does not set show grid if not a boolean' do
267
+ @grid.show_grid = 'bunnies!'
268
+ @grid.show_grid.wont_equal 'bunnie!'
269
+ end
270
+ end
206
271
  end
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  - |-
3
- <div class="divycontainer" style="width: 100px; height: 100px;">
4
- <div class="divybox" style="bottom: 50.0%; left: 10.0%; width: 20.0%; height: 20.0%; position: absolute; border-style:solid; border-color:#FF00CC;">coolhtmlstuff</div>
5
- <div class="divybox" style="bottom: 50.0%; left: 10.0%; width: 40.0%; height: 40.0%; position: absolute; border-style:solid; border-color:#FF00CC;"><img src="someimagepath" height="100%" width="100%"></img></div>
3
+ <div class="divycontainer" style="position:relative; width: 100px; height: 100px;">
4
+ <div class="divybox" style="bottom: 50.0%; left: 10.0%; width: 20.0%; height: 20.0%; position: absolute;">coolhtmlstuff</div>
5
+ <div class="divybox" style="bottom: 50.0%; left: 10.0%; width: 40.0%; height: 40.0%; position: absolute;"><img src="someimagepath" height="100%" width="100%"></img></div>
6
6
  <div class="divybox" style="bottom: 0.0%; left: 0.0%; width: 20.0%; height: 20.0%; position: absolute; border-style:solid; border-color:#FF00CC;"></div>
7
7
  <div class="divybox" style="bottom: 20.0%; left: 0.0%; width: 20.0%; height: 20.0%; position: absolute; border-style:solid; border-color:#FF00CC;"></div>
8
8
  <div class="divybox" style="bottom: 40.0%; left: 0.0%; width: 20.0%; height: 20.0%; position: absolute; border-style:solid; border-color:#FF00CC;"></div>
@@ -40,13 +40,13 @@
40
40
  <div class="divybox" style="bottom: 33.333333333333336%; left: 66.66666666666667%; width: 33.333333333333336%; height: 33.333333333333336%; position: absolute;"></div>
41
41
  <div class="divybox" style="bottom: 66.66666666666667%; left: 66.66666666666667%; width: 33.333333333333336%; height: 33.333333333333336%; position: absolute;"></div>
42
42
  - |
43
- <div class="divybox" style="bottom: 25.0%; left: 5.0%; width: 10.0%; height: 10.0%; position: absolute; border-style:solid; border-color:#00FFFF;">coolhtmlstuff</div>
44
- <div class="divybox" style="bottom: 45.0%; left: 5.0%; width: 10.0%; height: 10.0%; position: absolute; border-style:solid; border-color:#00FFFF;"><img src="someimagepath" height="100%" width="100%"></img></div>
43
+ <div class="divybox" style="bottom: 25.0%; left: 5.0%; width: 10.0%; height: 10.0%; position: absolute;">coolhtmlstuff</div>
44
+ <div class="divybox" style="bottom: 45.0%; left: 5.0%; width: 10.0%; height: 10.0%; position: absolute;"><img src="someimagepath" height="100%" width="100%"></img></div>
45
45
  - |
46
46
  <div class="divybox" style="bottom: 25.0%; left: 5.0%; width: 10.0%; height: 10.0%; position: absolute;">coolhtmlstuff</div>
47
47
  <div class="divybox" style="bottom: 45.0%; left: 5.0%; width: 10.0%; height: 10.0%; position: absolute;"><img src="someimagepath" height="100%" width="100%"></img></div>
48
48
  - |-
49
- <div class="divycontainer" style="width: 100%; height: 100%;">
49
+ <div class="divycontainer" style="position:relative; width: 100%; height: 100%;">
50
50
  <div class="divybox" style="bottom: 0.0%; left: 0.0%; width: 10.0%; height: 10.0%; position: absolute;"></div>
51
51
  <div class="divybox" style="bottom: 10.0%; left: 0.0%; width: 10.0%; height: 10.0%; position: absolute;"></div>
52
52
  <div class="divybox" style="bottom: 20.0%; left: 0.0%; width: 10.0%; height: 10.0%; position: absolute;"></div>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: divygrid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Salinas