commentbox 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/commentbox.rb +15 -6
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90f17dc47dac4efaadbc785344203e7e47f76cc6ac2231f75e35e58e3f95d223
4
- data.tar.gz: ef860e5264a95a586d21700f3401504c83e191e41cf7e3a3d4712abe1abcba6a
3
+ metadata.gz: c075de18d6c7e47412397f8429b95a4ccf4a510915c412912fecb899ea3c6e37
4
+ data.tar.gz: 293ef1564eed9d108736d08284df7cc9d7e8f04961e0918fc5be062071d0e7ba
5
5
  SHA512:
6
- metadata.gz: 62542e2dcc6cf851a228f1ac355372dc110052671df44fc5b02c3d60d64e9dde9a4636087829013aff28592acda72c5028cccd91e6a1afd53f5e0b447f6f75af
7
- data.tar.gz: 47975ff1fe460113e109125798dc6c8b1b27e64d3e67f9fda36d7dfdd8ebf52e5a82f529152c4cfbe3596a5736d7100cd77859ec9eecc2c2b07557e8821ac20a
6
+ metadata.gz: 544071b2459e49a38323151808d87d172d0e29785cddb4aa54ef708a74479c93bcfe0a61f13791d672d0c1d38308b59acc9f6e3943f9ed2f669f18c43c9fd8ba
7
+ data.tar.gz: a5ff842476987796f19f49b0523986e559b5868f3200b8fcf0b6b129407f4d43afeb87a87c43d5cede01ac66cfc842df1194e2502811a0d75fb173969584be6f
data/lib/commentbox.rb CHANGED
@@ -78,10 +78,13 @@ class CommentBox
78
78
  attr_writer :padding, :spacelines, :alignment, :offset
79
79
  # I don't know how to call param= methods from the inside so I just use a set_param in private
80
80
  def text= (value); set_text value; self end; def alignment= (value); set_alignment value; self end
81
- def style= (value); @style = Styles[value]; self end
81
+ def style= (value); set_style value; self end
82
82
  # there is no @stretch, stretch is just added to @max_line_length
83
83
  # but, if stretch= is called, then @max_line_length must be recalculated
84
- def stretch= (value); @max_line_length = @text.map(&:length).max + value; self end
84
+ def stretch= (value)
85
+ @max_line_length = @text.map(&:length).max + value
86
+ if !@max_line_length.is_even? then @max_line_length += 1 end
87
+ self end
85
88
 
86
89
  def initialize (params) # params: {text: String or Array, style: Symbol, padding: Integer, spacelines: Boolean, alignment: Symbol or Array}
87
90
  # for now require an argument of some sort
@@ -91,7 +94,7 @@ class CommentBox
91
94
  if params.is_a? String then params = {text: params} end
92
95
 
93
96
  # fill in a bunch of instance variables from params or default values
94
- style_symbol = params[:style] || DefaultParams[:style]; @style = Styles[style_symbol]
97
+ # style_symbol = params[:style] || DefaultParams[:style]; @style = Styles[style_symbol]
95
98
  @padding = params[:padding] || DefaultParams[:padding]
96
99
  @offset = params[:offset] || DefaultParams[:offset]
97
100
  # one of the options for this is false, so it's not gonna play nice with ||
@@ -100,7 +103,9 @@ class CommentBox
100
103
  # call on some special methods to parse text and alignment
101
104
  set_text params[:text]
102
105
  set_alignment params[:alignment]
106
+ set_style params[:style]
103
107
  @max_line_length += (params[:stretch] || DefaultParams[:stretch]).to_i
108
+ if !@max_line_length.is_even? then @max_line_length += 1 end
104
109
  end
105
110
  def to_s
106
111
  spaceLine = @spacelines ? [@style[:oddlines][0], ' ' * (@max_line_length + @padding * 2), @style[:oddlines][1], "\n"].join : ''
@@ -149,6 +154,12 @@ private
149
154
  # if the number of lines is even, insert a blank line between the first and second lines
150
155
  insert_line_if_even
151
156
  end
157
+ def set_style (style)
158
+ if style == nil then @style = Styles[DefaultParams[:style]]
159
+ elsif style.is_a? Symbol then @style = Styles[style]
160
+ elsif style.is_a? Hash then @style = style
161
+ else raise 'CommentBox#style= : expected Symbol or Hash here' end
162
+ end
152
163
  def insert_line_if_even # also will delete a blank line if there is one
153
164
  # stop this function from raising errors we don't really care about if the instance isn't fully constructed yet
154
165
  if !(@text.is_a?(Array) && @alignment.is_a?(Array)) then return end
@@ -177,6 +188,4 @@ private
177
188
  if line.is_even? then @style[:evenlines][0] + ret + @style[:evenlines][1] + "\n"
178
189
  else @style[:oddlines][0] + ret + @style[:oddlines][1] + "\n" end
179
190
  end
180
- end
181
-
182
- puts CommentBox.new "Lenny's box"
191
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commentbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonard H. Phelan IV