Class: MetaCodeCommenter::Generator
- Inherits:
-
Object
- Object
- MetaCodeCommenter::Generator
- Includes:
- Enumerable
- Defined in:
- lib/meta_code_commenter.rb
Instance Method Summary collapse
- #generate(line) ⇒ Object
- #generate! ⇒ Object
-
#initialize(lines, params = {}) ⇒ Generator
constructor
A new instance of Generator.
- #to_s ⇒ Object
Constructor Details
#initialize(lines, params = {}) ⇒ Generator
Returns a new instance of Generator.
34 35 36 37 38 39 40 |
# File 'lib/meta_code_commenter.rb', line 34 def initialize(lines, params={}) @lines = lines.map(&:chomp) @evaluator = Evaluator.new(params) @max_length = (lines.max_by(&:length) || "").length @max_length += 1 unless @max_length % 2 != 0 @remove_spaces = @lines.map { |line| (line[/^\s+/] || "").length }.min end |
Instance Method Details
#generate(line) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/meta_code_commenter.rb', line 42 def generate(line) pad = " " * (@max_length - line.length) comment = " # " evaluated = @evaluator.__eval__(line)[@remove_spaces..-1] line + pad + comment + evaluated end |
#generate! ⇒ Object
50 51 52 |
# File 'lib/meta_code_commenter.rb', line 50 def generate! @lines.map { |line| generate(line) } end |
#to_s ⇒ Object
54 55 56 |
# File 'lib/meta_code_commenter.rb', line 54 def to_s generate!.join("\n") end |