def run
case @action_method
when :analyze
@message << "\n#{colorize("#{colorize(self.class.strategy_name, self.class.color)} (#{@field_definitions.size})", :BOLD)}:\n"
max_path = @field_definitions.map { |f| f.path.size }.max + 2
@field_definitions.each do |field_defn|
name = field_defn.path.ljust(max_path)
@message << "\n - #{name} (#{field_defn.resolve_mode.inspect} -> #{field_defn.resolve_mode_key.inspect}) @ #{@filepath}:#{field_defn.source_line}"
end
@message << "\n"
when :migrate, :cleanup
indent_size = @action.strategy_name_padding + 1
indent = " " * indent_size
indent2_size = @action.field_name_padding
@message << "\n#{colorize(self.class.strategy_name.ljust(indent_size), self.class.color)}"
first = true
@field_definitions.each do |field_defn|
@message << "#{first ? "" : "#{indent}"}#{field_defn.path.ljust(indent2_size)} @ #{@filepath}:#{field_defn.source_line}\n"
first = false
public_send(@action_method, field_defn)
end
end
end