Class: Plist::Emit::IndentedString
- Inherits:
-
Object
- Object
- Plist::Emit::IndentedString
- Defined in:
- lib/plist/generator.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#indent_string ⇒ Object
Returns the value of attribute indent_string.
Instance Method Summary collapse
- #<<(val) ⇒ Object
-
#initialize(str = "\t") ⇒ IndentedString
constructor
A new instance of IndentedString.
- #lower_indent ⇒ Object
- #raise_indent ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(str = "\t") ⇒ IndentedString
Returns a new instance of IndentedString.
176 177 178 179 180 |
# File 'lib/plist/generator.rb', line 176 def initialize(str = "\t") @indent_string = str @contents = '' @indent_level = 0 end |
Instance Attribute Details
#indent_string ⇒ Object
Returns the value of attribute indent_string.
174 175 176 |
# File 'lib/plist/generator.rb', line 174 def indent_string @indent_string end |
Instance Method Details
#<<(val) ⇒ Object
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/plist/generator.rb', line 194 def <<(val) if val.is_a? Array val.each do |f| self << f end else # if it's already indented, don't bother indenting further unless val =~ /\A#{@indent_string}/ indent = @indent_string * @indent_level @contents << val.gsub(/^/, indent) else @contents << val end # it already has a newline, don't add another @contents << "\n" unless val =~ /\n$/ end end |
#lower_indent ⇒ Object
190 191 192 |
# File 'lib/plist/generator.rb', line 190 def lower_indent @indent_level -= 1 if @indent_level > 0 end |
#raise_indent ⇒ Object
186 187 188 |
# File 'lib/plist/generator.rb', line 186 def raise_indent @indent_level += 1 end |
#to_s ⇒ Object
182 183 184 |
# File 'lib/plist/generator.rb', line 182 def to_s return @contents end |