Sha256: 152bc9895b535c1731ff7dfd1636a1861b437eb9935dca47812b00cb604c8ac6

Contents?: true

Size: 637 Bytes

Versions: 1

Compression:

Stored size: 637 Bytes

Contents

require "fileutils"

module Rubycritic

  class SmellyPathnamesSerializer
    def initialize(file_name)
      @file_name = file_name
    end

    def load
      Marshal.load(File.binread(@file_name))
    end

    def dump(smelly_pathnames)
      create_file_directory
      # HACK It's not possible to Marshal procs or lambdas.
      smelly_pathnames.default = []
      File.open(@file_name, "w+") do |file|
        Marshal.dump(smelly_pathnames, file)
      end
    end

    private

    def create_file_directory
      FileUtils.mkdir_p(file_directory)
    end

    def file_directory
      File.dirname(@file_name)
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubycritic-0.0.7 lib/rubycritic/smelly_pathnames_serializer.rb