Sha256: 98f94dd18597da894b9a2545b7509c90c235439be827f53e3b57b929b4578977

Contents?: true

Size: 945 Bytes

Versions: 14

Compression:

Stored size: 945 Bytes

Contents

# encoding: utf-8

require 'yaml'


module Epuber
  class Lockfile
    attr_accessor :defined_from_file

    # @param [Hash] data
    #
    def initialize(data = {})
      @internal_data = data
    end

    # @return [self]
    #
    def self.from_file(file_path)
      if File.exists?(file_path)
        hash = YAML.load(File.read(file_path))
      else
        hash = {}
      end

      inst = self.new(hash)
      inst.defined_from_file = file_path
      inst
    end

    # @return nil
    #
    def write_to_file
      return if defined_from_file.nil?

      File.open(defined_from_file, 'w') do |f|
        f.write(YAML.dump(@internal_data))
      end
    end


    # @return [Epuber::Version]
    #
    def version
      @internal_data['version']
    end

    # @param [Epuber::Version] new_version
    #
    # @return [Epuber::Version]
    #
    def version=(new_version)
      @internal_data['version'] = new_version
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
epuber-0.5.0 lib/epuber/lockfile.rb
epuber-0.5.0.beta.5 lib/epuber/lockfile.rb
epuber-0.5.0.beta.4 lib/epuber/lockfile.rb
epuber-0.5.0.beta.3 lib/epuber/lockfile.rb
epuber-0.5.0.beta.2 lib/epuber/lockfile.rb
epuber-0.5.0.beta lib/epuber/lockfile.rb
epuber-0.4.0 lib/epuber/lockfile.rb
epuber-0.3.12 lib/epuber/lockfile.rb
epuber-0.3.11 lib/epuber/lockfile.rb
epuber-0.3.10 lib/epuber/lockfile.rb
epuber-0.3.9 lib/epuber/lockfile.rb
epuber-0.3.7 lib/epuber/lockfile.rb
epuber-0.3.6 lib/epuber/lockfile.rb
epuber-0.3.5 lib/epuber/lockfile.rb