whirled_peas 0.9.1 → 0.10.0

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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +65 -20
  4. data/lib/data/themes.yaml +13 -0
  5. data/lib/whirled_peas.rb +10 -2
  6. data/lib/whirled_peas/command/config_command.rb +1 -2
  7. data/lib/whirled_peas/command/play.rb +3 -0
  8. data/lib/whirled_peas/command/themes.rb +76 -0
  9. data/lib/whirled_peas/command_line.rb +3 -1
  10. data/lib/whirled_peas/graphics/composer.rb +5 -2
  11. data/lib/whirled_peas/settings/border.rb +25 -4
  12. data/lib/whirled_peas/settings/container_settings.rb +2 -2
  13. data/lib/whirled_peas/settings/element_settings.rb +8 -4
  14. data/lib/whirled_peas/settings/graph_settings.rb +1 -1
  15. data/lib/whirled_peas/settings/text_settings.rb +1 -0
  16. data/lib/whirled_peas/settings/theme.rb +40 -0
  17. data/lib/whirled_peas/settings/theme_library.rb +63 -0
  18. data/lib/whirled_peas/version.rb +1 -1
  19. data/screen_test/elements/box.frame +1 -1
  20. data/screen_test/elements/box.rb +1 -1
  21. data/screen_test/elements/graph.frame +1 -1
  22. data/screen_test/elements/graph.rb +1 -1
  23. data/screen_test/elements/grid.frame +1 -1
  24. data/screen_test/elements/grid.rb +1 -1
  25. data/screen_test/elements/screen_overflow_x.frame +1 -1
  26. data/screen_test/elements/screen_overflow_x.rb +1 -1
  27. data/screen_test/elements/screen_overflow_y.frame +1 -1
  28. data/screen_test/elements/screen_overflow_y.rb +1 -1
  29. data/screen_test/elements/text.frame +1 -1
  30. data/screen_test/elements/text.rb +1 -1
  31. data/screen_test/elements/text_multiline.frame +1 -1
  32. data/screen_test/elements/text_multiline.rb +1 -1
  33. data/screen_test/elements/theme.frame +1 -0
  34. data/screen_test/elements/theme.rb +26 -0
  35. data/screen_test/settings/align/box_around.frame +1 -1
  36. data/screen_test/settings/align/box_around.rb +1 -1
  37. data/screen_test/settings/align/box_between.frame +1 -1
  38. data/screen_test/settings/align/box_between.rb +1 -1
  39. data/screen_test/settings/align/box_center.frame +1 -1
  40. data/screen_test/settings/align/box_center.rb +1 -1
  41. data/screen_test/settings/align/box_default.frame +1 -1
  42. data/screen_test/settings/align/box_default.rb +1 -1
  43. data/screen_test/settings/align/box_evenly.frame +1 -1
  44. data/screen_test/settings/align/box_evenly.rb +1 -1
  45. data/screen_test/settings/align/box_left.frame +1 -1
  46. data/screen_test/settings/align/box_left.rb +1 -1
  47. data/screen_test/settings/align/box_right.frame +1 -1
  48. data/screen_test/settings/align/box_right.rb +1 -1
  49. data/screen_test/settings/align/children_center.frame +1 -1
  50. data/screen_test/settings/align/children_center.rb +1 -1
  51. data/screen_test/settings/align/children_left.frame +1 -1
  52. data/screen_test/settings/align/children_left.rb +1 -1
  53. data/screen_test/settings/align/children_right.frame +1 -1
  54. data/screen_test/settings/align/children_right.rb +1 -1
  55. data/screen_test/settings/align/grid_center.frame +1 -1
  56. data/screen_test/settings/align/grid_center.rb +1 -1
  57. data/screen_test/settings/align/grid_default.frame +1 -1
  58. data/screen_test/settings/align/grid_default.rb +1 -1
  59. data/screen_test/settings/align/grid_left.frame +1 -1
  60. data/screen_test/settings/align/grid_left.rb +1 -1
  61. data/screen_test/settings/align/grid_right.frame +1 -1
  62. data/screen_test/settings/align/grid_right.rb +1 -1
  63. data/screen_test/settings/ansi/bold.frame +1 -1
  64. data/screen_test/settings/ansi/bold.rb +1 -1
  65. data/screen_test/settings/ansi/color.frame +1 -1
  66. data/screen_test/settings/ansi/color.rb +1 -1
  67. data/screen_test/settings/ansi/underline.frame +1 -1
  68. data/screen_test/settings/ansi/underline.rb +1 -1
  69. data/screen_test/settings/border.frame +1 -1
  70. data/screen_test/settings/border.rb +1 -1
  71. data/screen_test/settings/flow/box_b2t.frame +1 -1
  72. data/screen_test/settings/flow/box_b2t.rb +1 -1
  73. data/screen_test/settings/flow/box_l2r.frame +1 -1
  74. data/screen_test/settings/flow/box_l2r.rb +1 -1
  75. data/screen_test/settings/flow/box_r2l.frame +1 -1
  76. data/screen_test/settings/flow/box_r2l.rb +1 -1
  77. data/screen_test/settings/flow/box_t2b.frame +1 -1
  78. data/screen_test/settings/flow/box_t2b.rb +1 -1
  79. data/screen_test/settings/flow/grid_b2t.frame +1 -1
  80. data/screen_test/settings/flow/grid_b2t.rb +1 -1
  81. data/screen_test/settings/flow/grid_l2r.frame +1 -1
  82. data/screen_test/settings/flow/grid_l2r.rb +1 -1
  83. data/screen_test/settings/flow/grid_r2l.frame +1 -1
  84. data/screen_test/settings/flow/grid_r2l.rb +1 -1
  85. data/screen_test/settings/flow/grid_t2b.frame +1 -1
  86. data/screen_test/settings/flow/grid_t2b.rb +1 -1
  87. data/screen_test/settings/height/box.frame +1 -1
  88. data/screen_test/settings/height/box.rb +1 -1
  89. data/screen_test/settings/height/box_border_sizing.frame +1 -1
  90. data/screen_test/settings/height/box_border_sizing.rb +1 -1
  91. data/screen_test/settings/height/grid.frame +1 -1
  92. data/screen_test/settings/height/grid.rb +1 -1
  93. data/screen_test/settings/height/overflow_box.frame +1 -1
  94. data/screen_test/settings/height/overflow_box.rb +1 -1
  95. data/screen_test/settings/height/overflow_box_l2r.frame +1 -1
  96. data/screen_test/settings/height/overflow_box_l2r.rb +1 -1
  97. data/screen_test/settings/height/overflow_box_t2b.frame +1 -1
  98. data/screen_test/settings/height/overflow_box_t2b.rb +1 -1
  99. data/screen_test/settings/height/overflow_grid.frame +1 -1
  100. data/screen_test/settings/height/overflow_grid.rb +1 -1
  101. data/screen_test/settings/margin.frame +1 -1
  102. data/screen_test/settings/margin.rb +1 -1
  103. data/screen_test/settings/padding.frame +1 -1
  104. data/screen_test/settings/padding.rb +1 -1
  105. data/screen_test/settings/position/box_left.frame +1 -1
  106. data/screen_test/settings/position/box_left.rb +1 -1
  107. data/screen_test/settings/position/box_left_negative.frame +1 -1
  108. data/screen_test/settings/position/box_left_negative.rb +1 -1
  109. data/screen_test/settings/position/box_top.frame +1 -1
  110. data/screen_test/settings/position/box_top.rb +1 -1
  111. data/screen_test/settings/position/box_top_negative.frame +1 -1
  112. data/screen_test/settings/position/box_top_negative.rb +1 -1
  113. data/screen_test/settings/position/grid_left.frame +1 -1
  114. data/screen_test/settings/position/grid_left.rb +1 -1
  115. data/screen_test/settings/position/grid_left_negative.frame +1 -1
  116. data/screen_test/settings/position/grid_left_negative.rb +1 -1
  117. data/screen_test/settings/position/grid_top.frame +1 -1
  118. data/screen_test/settings/position/grid_top.rb +1 -1
  119. data/screen_test/settings/position/grid_top_negative.frame +1 -1
  120. data/screen_test/settings/position/grid_top_negative.rb +1 -1
  121. data/screen_test/settings/scroll/horiz_box.frame +1 -1
  122. data/screen_test/settings/scroll/horiz_box.rb +1 -1
  123. data/screen_test/settings/scroll/horiz_box_align_center.rb +1 -1
  124. data/screen_test/settings/scroll/horiz_box_align_right.rb +1 -1
  125. data/screen_test/settings/scroll/vert_box.frame +1 -1
  126. data/screen_test/settings/scroll/vert_box.rb +1 -1
  127. data/screen_test/settings/title_font.frame +1 -1
  128. data/screen_test/settings/title_font.rb +1 -1
  129. data/screen_test/settings/valign/box_around.frame +1 -1
  130. data/screen_test/settings/valign/box_around.rb +1 -1
  131. data/screen_test/settings/valign/box_between.frame +1 -1
  132. data/screen_test/settings/valign/box_between.rb +1 -1
  133. data/screen_test/settings/valign/box_bottom.frame +1 -1
  134. data/screen_test/settings/valign/box_bottom.rb +1 -1
  135. data/screen_test/settings/valign/box_default.frame +1 -1
  136. data/screen_test/settings/valign/box_default.rb +1 -1
  137. data/screen_test/settings/valign/box_evenly.frame +1 -1
  138. data/screen_test/settings/valign/box_evenly.rb +1 -1
  139. data/screen_test/settings/valign/box_middle.frame +1 -1
  140. data/screen_test/settings/valign/box_middle.rb +1 -1
  141. data/screen_test/settings/valign/box_top.frame +1 -1
  142. data/screen_test/settings/valign/box_top.rb +1 -1
  143. data/screen_test/settings/valign/grid_bottom.frame +1 -1
  144. data/screen_test/settings/valign/grid_bottom.rb +1 -1
  145. data/screen_test/settings/valign/grid_default.frame +1 -1
  146. data/screen_test/settings/valign/grid_default.rb +1 -1
  147. data/screen_test/settings/valign/grid_middle.frame +1 -1
  148. data/screen_test/settings/valign/grid_middle.rb +1 -1
  149. data/screen_test/settings/valign/grid_top.frame +1 -1
  150. data/screen_test/settings/valign/grid_top.rb +1 -1
  151. data/screen_test/settings/width/box_border_sizing.frame +1 -1
  152. data/screen_test/settings/width/box_border_sizing.rb +1 -1
  153. data/screen_test/settings/width/box_content.frame +1 -1
  154. data/screen_test/settings/width/box_content.rb +1 -1
  155. data/screen_test/settings/width/box_default.frame +1 -1
  156. data/screen_test/settings/width/box_default.rb +1 -1
  157. data/screen_test/settings/width/grid.frame +1 -1
  158. data/screen_test/settings/width/grid.rb +1 -1
  159. data/screen_test/settings/width/overflow_align_center.frame +1 -1
  160. data/screen_test/settings/width/overflow_align_center.rb +1 -1
  161. data/screen_test/settings/width/overflow_align_right.frame +1 -1
  162. data/screen_test/settings/width/overflow_align_right.rb +1 -1
  163. data/screen_test/settings/width/overflow_box.frame +1 -1
  164. data/screen_test/settings/width/overflow_box.rb +1 -1
  165. data/screen_test/settings/width/overflow_box_l2r.frame +1 -1
  166. data/screen_test/settings/width/overflow_box_l2r.rb +1 -1
  167. data/screen_test/settings/width/overflow_box_t2b.frame +1 -1
  168. data/screen_test/settings/width/overflow_box_t2b.rb +1 -1
  169. data/screen_test/settings/width/overflow_grid.frame +1 -1
  170. data/screen_test/settings/width/overflow_grid.rb +1 -1
  171. data/tools/whirled_peas/tools/screen_tester.rb +15 -1
  172. metadata +8 -2
@@ -5,7 +5,7 @@ module WhirledPeas
5
5
  module Settings
6
6
  class GraphSettings < ElementSettings
7
7
  def axis_color
8
- @_axis_color || color
8
+ @_axis_color || theme.axis_color
9
9
  end
10
10
 
11
11
  def axis_color=(color)
@@ -8,6 +8,7 @@ module WhirledPeas
8
8
  attr_reader :title_font
9
9
 
10
10
  def title_font=(font)
11
+ font = theme.title_font if font == :theme
11
12
  @title_font = Utils::TitleFont.validate!(font)
12
13
  end
13
14
  end
@@ -0,0 +1,40 @@
1
+ require 'whirled_peas/utils/title_font'
2
+
3
+ require_relative 'bg_color'
4
+ require_relative 'text_color'
5
+
6
+ module WhirledPeas
7
+ module Settings
8
+ class Theme
9
+ attr_reader :color, :bg_color, :title_font
10
+
11
+ def color=(value)
12
+ @color = TextColor.validate!(value)
13
+ end
14
+
15
+ def bg_color=(value)
16
+ @bg_color = BgColor.validate!(value)
17
+ end
18
+
19
+ def border_color=(value)
20
+ @border_color = TextColor.validate!(value)
21
+ end
22
+
23
+ def border_color
24
+ @border_color || color
25
+ end
26
+
27
+ def axis_color=(value)
28
+ @axis_color = TextColor.validate!(value)
29
+ end
30
+
31
+ def axis_color
32
+ @axis_color || border_color
33
+ end
34
+
35
+ def title_font=(value)
36
+ @title_font = Utils::TitleFont.validate!(value)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,63 @@
1
+ require 'yaml'
2
+
3
+ require_relative 'theme'
4
+
5
+ module WhirledPeas
6
+ module Settings
7
+ module ThemeLibrary
8
+ CONFIG_FILE = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'data', 'themes.yaml')
9
+
10
+ class << self
11
+ def theme_names
12
+ themes.keys
13
+ end
14
+
15
+ def add(name, theme)
16
+ themes[name] = theme
17
+ end
18
+
19
+ def get(name)
20
+ unless themes.key?(name)
21
+ expected = themes.keys.map(&:inspect).join(', ')
22
+ raise ArgumentError, "Unknown theme: #{name.inspect}, expecting one of #{expected}"
23
+ end
24
+ themes[name]
25
+ end
26
+
27
+ def default_name
28
+ themes.keys.first
29
+ end
30
+
31
+ private
32
+
33
+ def themes
34
+ return @themes if @themes
35
+ @themes = {}
36
+ config = YAML.load_file(CONFIG_FILE)
37
+ config.each do |name, settings|
38
+ name = name.to_sym
39
+ theme = Theme.new
40
+ settings.each do |key, value|
41
+ case key
42
+ when 'color'
43
+ theme.color = value
44
+ when 'bg_color'
45
+ theme.bg_color = value
46
+ when 'border_color'
47
+ theme.border_color = value
48
+ when 'axis_color'
49
+ theme.axis_color = value
50
+ when 'title_font'
51
+ theme.title_font = value
52
+ else
53
+ raise ArgumentError, "Unexpected theme setting: #{key} in #{CONFIG_FILE}"
54
+ end
55
+ end
56
+ @themes[name] = theme
57
+ end
58
+ @themes
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,3 +1,3 @@
1
1
  module WhirledPeas
2
- VERSION = '0.9.1'
2
+ VERSION = '0.10.0'
3
3
  end
@@ -1 +1 @@
1
- [?25lTOP LEFTBOTTOM LEFT TOP RIGHT  BOTTOM RIGHT[?25h
1
+ [?25l                             TOP LEFT BOTTOM LEFT    TOP RIGHT   BOTTOM RIGHT[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box('Container') do |composer, settings|
7
7
  composer.add_box do |composer, settings|
8
8
  settings.flow = :t2b
@@ -1 +1 @@
1
- [?25l┃ █ ┃ █ ┃ ▄▀ ┃ █ ┃ ▄▀ ┃ █ ┃ ▄▀ ┃ █ ┃ █ ┃ █ ┃▄▄▀ ┗━━━━━━━━━━[?25h
1
+ [?25l                        ┃ █ ┃ █ ┃ ▄▀ ┃ █ ┃ ▄▀ ┃ █ ┃ ▄▀ ┃ █ ┃ █ ┃ █ ┃▄▄▀ ┗━━━━━━━━━━[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_graph('Graph') do |_, settings|
7
7
  settings.height = 12
8
8
  10.times.map { |i| i ** 2 }
@@ -1 +1 @@
1
- [?25l┏━━━━━━┳━━━━━━┳━━━━━━┓┃ ┃ ┃ ┃┣━━━━━━╋━━━━━━╋━━━━━━┫┃ ┃ ┃ ┃┣━━━━━━╋━━━━━━╋━━━━━━┫┃ ┃ ┃ ┃┗━━━━━━┻━━━━━━┻━━━━━━┛Item 0Item 1Item 2Item 3Item 4Item 5Item 6[?25h
1
+ [?25l                        ┏━━━━━━┳━━━━━━┳━━━━━━┓┃ ┃ ┃ ┃┣━━━━━━╋━━━━━━╋━━━━━━┫┃ ┃ ┃ ┃┣━━━━━━╋━━━━━━╋━━━━━━┫┃ ┃ ┃ ┃┗━━━━━━┻━━━━━━┻━━━━━━┛Item 0Item 1Item 2Item 3Item 4Item 5Item 6[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid('Grid') do |_, settings|
7
7
  settings.num_cols = 3
8
8
  settings.full_border
@@ -1 +1 @@
1
- [?25l--------------------------------[?25h
1
+ [?25l                        --------------------------------[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do
5
+ WhirledPeas.template(:test) do
6
6
  '-' * 1000
7
7
  end
8
8
  end
@@ -1 +1 @@
1
- [?25l||||||||||||||||||||||||[?25h
1
+ [?25l                        ||||||||||||||||||||||||[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do
5
+ WhirledPeas.template(:test) do
6
6
  "|\n" * 1000
7
7
  end
8
8
  end
@@ -1 +1 @@
1
- [?25lHello, World![?25h
1
+ [?25l                        Hello, World![?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  "Hello, World!"
7
7
  end
8
8
  end
@@ -1 +1 @@
1
- [?25lLine 1Line 2Line 3[?25h
1
+ [?25l                        Line 1Line 2Line 3[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  "Line 1\nLine 2\nLine 3"
7
7
  end
8
8
  end
@@ -0,0 +1 @@
1
+ [?25l┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ██████╗ ██████╗ ██╗ ██╗██╔═══██╗██╔═══██╗██║ ██║██║ ██║██║ ██║███████║██║ ██║██║ ██║██╔══██║╚██████╔╝╚██████╔╝██║ ██║ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝┃ ▄▄▀ ┃ ▄▄▀ ┃ ▄▀ ┃ ▄▀▀ ┃ ▄▀ ┃ ▄▀ ┃ █ ┃ ▄▀ ┃▄▀ ┃█ ┃█ ┗━━━━━━━━━━━━━━━━━━━━[?25h
@@ -0,0 +1,26 @@
1
+ require 'whirled_peas'
2
+
3
+ WhirledPeas.define_theme(:theme_test) do |theme|
4
+ theme.bg_color = :bright_white
5
+ theme.color = :blue
6
+ theme.border_color = :bright_green
7
+ theme.axis_color = :bright_red
8
+ theme.title_font = :default
9
+ end
10
+
11
+ class TemplateFactory
12
+ def build(*)
13
+ WhirledPeas.template(:theme_test) do |composer, settings|
14
+ settings.full_border
15
+ settings.flow = :t2b
16
+ composer.add_text do |_, settings|
17
+ settings.title_font = :theme
18
+ 'OOH'
19
+ end
20
+ composer.add_graph do |_, settings|
21
+ settings.height = 12
22
+ 20.times.map { |i| Math.sqrt(i) }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━┛ABC[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━┛ABC[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box do |composer, settings|
7
7
  settings.full_border
8
8
  settings.align = :around
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━┛ABC[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━┛ABC[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box do |composer, settings|
7
7
  settings.full_border
8
8
  settings.align = :between
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxCenter[?25h
1
+ [?25l                            ┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxCenter[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid do |composer, settings|
7
7
  settings.num_cols = 2
8
8
  composer.add_box('Alignment') do |composer, settings|
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxDefault[?25h
1
+ [?25l                            ┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxDefault[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid do |composer, settings|
7
7
  settings.num_cols = 2
8
8
  composer.add_box('Alignment') do |composer, settings|
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━┛ABC[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━┛ABC[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box do |composer, settings|
7
7
  settings.full_border
8
8
  settings.align = :evenly
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxLeft[?25h
1
+ [?25l                            ┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxLeft[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid do |composer, settings|
7
7
  settings.num_cols = 2
8
8
  composer.add_box('Alignment') do |composer, settings|
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxRight[?25h
1
+ [?25l                            ┏━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned boxRight[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid do |composer, settings|
7
7
  settings.num_cols = 2
8
8
  composer.add_box('Alignment') do |composer, settings|
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛Thing 1Thing 2[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛Thing 1Thing 2[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box do |composer, settings|
7
7
  settings.align = :center
8
8
  settings.width = 28
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛Thing 1Thing 2[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛Thing 1Thing 2[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box do |composer, settings|
7
7
  settings.align = :left
8
8
  settings.width = 28
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛Thing 1Thing 2[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛Thing 1Thing 2[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_box do |composer, settings|
7
7
  settings.align = :right
8
8
  settings.width = 28
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridCenter[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridCenter[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid('Alignment') do |composer, settings|
7
7
  settings.num_cols = 1
8
8
  settings.full_border
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridDefault[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridDefault[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid('Alignment') do |composer, settings|
7
7
  settings.num_cols = 1
8
8
  settings.full_border
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridLeft[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridLeft[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid('Alignment') do |composer, settings|
7
7
  settings.num_cols = 1
8
8
  settings.full_border
@@ -1 +1 @@
1
- [?25l┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridRight[?25h
1
+ [?25l                        ┏━━━━━━━━━━━━━━━━━━━━━━━┓┃ ┃┣━━━━━━━━━━━━━━━━━━━━━━━┫┃ ┃┗━━━━━━━━━━━━━━━━━━━━━━━┛This is an aligned gridRight[?25h
@@ -2,7 +2,7 @@ require 'whirled_peas'
2
2
 
3
3
  class TemplateFactory
4
4
  def build(*)
5
- WhirledPeas.template do |composer|
5
+ WhirledPeas.template(:test) do |composer|
6
6
  composer.add_grid('Alignment') do |composer, settings|
7
7
  settings.num_cols = 1
8
8
  settings.full_border