Sha256: 5ee39359521fe387d28a9d0107360dae857153931f9a51ca73be1cd4c9353237
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
module HtmlToHaml module Erb class IndentationTracker attr_accessor :indentation_level attr_reader :indentation_amount, :case_statement_level def initialize(indentation_level:, indentation_amount:) @indentation_level = indentation_level @indentation_amount = indentation_amount @case_statement_level = [] end def begin_case_statement self.indentation_level += indentation_amount * 2 case_statement_level << indentation_level end def add_indentation self.indentation_level += indentation_amount end def end_block if indentation_level == @case_statement_level.last case_statement_level.pop self.indentation_level -= indentation_amount * 2 else self.indentation_level -= indentation_amount end end # I may allow people to use this for nested case statements, # but reserve the right to be snarky about it when they do. def nested_case_statement? case_statement_level.length > 1 end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
html-to-haml-0.0.6 | lib/html_to_haml/tools/erb/indentation_tracker.rb |
html-to-haml-0.0.5 | lib/html_to_haml/tools/erb/indentation_tracker.rb |