Class: Plist::Emit::IndentedString
- Inherits:
-
Object
- Object
- Plist::Emit::IndentedString
- Defined in:
- lib/facter/util/plist/generator.rb
Overview
:nodoc:
Constant Summary collapse
- @@indent_level =
0
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.
173 174 175 176 |
# File 'lib/facter/util/plist/generator.rb', line 173 def initialize(str = "\t") @indent_string = str @contents = '' end |
Instance Attribute Details
#indent_string ⇒ Object
Returns the value of attribute indent_string.
169 170 171 |
# File 'lib/facter/util/plist/generator.rb', line 169 def indent_string @indent_string end |
Instance Method Details
#<<(val) ⇒ Object
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
# File 'lib/facter/util/plist/generator.rb', line 190 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
186 187 188 |
# File 'lib/facter/util/plist/generator.rb', line 186 def lower_indent @@indent_level -= 1 if @@indent_level > 0 end |
#raise_indent ⇒ Object
182 183 184 |
# File 'lib/facter/util/plist/generator.rb', line 182 def raise_indent @@indent_level += 1 end |
#to_s ⇒ Object
178 179 180 |
# File 'lib/facter/util/plist/generator.rb', line 178 def to_s return @contents end |