class Yalphabetize::FileYalphabetizer
Attributes
Public Class Methods
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 5 def initialize(file_path, **options) @file_path = file_path @reader_class = options[:reader_class] @offence_detector_class = options[:offence_detector_class] @logger = options[:logger] @autocorrect = options[:autocorrect] @alphabetizer_class = options[:alphabetizer_class] @writer_class = options[:writer_class] @order_checker_class = options[:order_checker_class] end
Public Instance Methods
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 16 def call return logger.log_no_offence unless offences? logger.log_offence(file_path) autocorrect_file if autocorrect end
Private Instance Methods
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 39 def alphabetize alphabetizer_class.new(stream_node, order_checker_class: order_checker_class).call end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 28 def autocorrect_file alphabetize handle_aliases rewrite_yml_file print_to_log end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 43 def handle_aliases Aliaser.new(stream_node).call end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 35 def offences? offence_detector_class.new(stream_node, order_checker_class: order_checker_class).offences? end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 51 def print_to_log logger.log_correction(file_path) end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 55 def reader @_reader ||= reader_class.new(file_path) end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 47 def rewrite_yml_file writer_class.new(stream_node, file_path).call end
Source
# File lib/yalphabetize/file_yalphabetizer.rb, line 59 def stream_node @_stream_node ||= reader.to_ast end