module Avrolution::CompatibilityBreaksFile
Constants
- NONE
Public Class Methods
add(name:, fingerprint:, with_compatibility: NONE, after_compatibility: nil, logger: Avrolution.logger)
click to toggle source
# File lib/avrolution/compatibility_breaks_file.rb, line 18 def self.add(name:, fingerprint:, with_compatibility: NONE, after_compatibility: nil, logger: Avrolution.logger) compatibility_break = Avrolution::CompatibilityBreak.new( name, fingerprint, with_compatibility, after_compatibility ) compatibility_break.validate! compatibility_breaks = load raise DuplicateEntryError.new([name, fingerprint]) if compatibility_breaks.key?(compatibility_break.key) line = compatibility_break.line File.write(path, "#{line}\n", mode: 'a') logger.info("Added #{line.inspect} to #{path}") end
load()
click to toggle source
# File lib/avrolution/compatibility_breaks_file.rb, line 37 def self.load return {} unless File.exist?(path) File.read(path).each_line.each_with_object({}) do |line, compatibility_breaks| next if line.blank? || /^#/ =~ line.strip compatibility_break = Avrolution::CompatibilityBreak.new(*line.strip.split(' ')) compatibility_break.validate! raise DuplicateEntryError.new(compatibility_break.key) if compatibility_breaks.key?(compatibility_break.key) compatibility_breaks[compatibility_break.key] = compatibility_break end end
path()
click to toggle source
# File lib/avrolution/compatibility_breaks_file.rb, line 14 def self.path Avrolution.compatibility_breaks_file end