module NormalizeLineEndings

Constants

VERSION

Attributes

normalize_line_endings_options[R]

Public Instance Methods

attrs_for_normalized_line_endings() click to toggle source
# File lib/normalize_line_endings.rb, line 26
def attrs_for_normalized_line_endings
  options = self.class.normalize_line_endings_options

  return attributes if options.blank?

  if options[:except]
    except = Array(options[:except]).flatten.map(&:to_s)

    attributes.stringify_keys.except(*except)
  elsif options[:only]
    only = Array(options[:only]).flatten.map(&:to_s)

    attributes.stringify_keys.slice(*only)
  end
end
normalize_line_endings(*opts) click to toggle source
# File lib/normalize_line_endings.rb, line 9
def normalize_line_endings(*opts)
  @normalize_line_endings_options = opts.first.is_a?(Hash) ? opts.first : { only: opts } unless opts.empty?

  class << self; attr_reader :normalize_line_endings_options; end

  before_validation { |record| record.normalize_line_endings } # rubocop:disable Style/SymbolProc
end