module Transpec::Syntax::RSpecConfigure::ConfigModification::ConfigAddition
TODO: Refactor this to remove messy overrides in Framework
.
Public Instance Methods
add_config!(config_name, value = nil, comment = nil)
click to toggle source
# File lib/transpec/syntax/rspec_configure/config_modification.rb, line 80 def add_config!(config_name, value = nil, comment = nil) lines = generate_config_lines(config_name, value, comment) lines.unshift('') unless empty_block_body? lines.map! { |line| line + "\n" } insertion_position = beginning_of_line_range(block_node_to_insert_code.loc.end) insert_after(insertion_position, lines.join('')) block_node_to_insert_code.metadata[:added_config] = true add_record(nil, config_record_syntax(config_name, value)) end
block_node_to_insert_code()
click to toggle source
# File lib/transpec/syntax/rspec_configure/config_modification.rb, line 118 def block_node_to_insert_code block_node end
body_indentation()
click to toggle source
# File lib/transpec/syntax/rspec_configure/config_modification.rb, line 114 def body_indentation indentation_of_line(block_node) + (' ' * 2) end
config_variable_name()
click to toggle source
# File lib/transpec/syntax/rspec_configure/config_modification.rb, line 110 def config_variable_name block_arg_name end
empty_block_body?()
click to toggle source
# File lib/transpec/syntax/rspec_configure/config_modification.rb, line 122 def empty_block_body? block_node = block_node_to_insert_code (block_node.loc.end.line - block_node.loc.begin.line <= 1) && !block_node.metadata[:added_config] end
generate_config_lines(config_name, value = nil, comment = nil)
click to toggle source
# File lib/transpec/syntax/rspec_configure/config_modification.rb, line 93 def generate_config_lines(config_name, value = nil, comment = nil) lines = [] if comment comment_lines = comment.each_line.map do |line| "#{body_indentation}# #{line.chomp}".rstrip end lines.concat(comment_lines) end config_line = body_indentation + "#{config_variable_name}.#{config_name}" config_line << " = #{value}" unless value.nil? lines << config_line lines end