Class: Bump::BumpInfoRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/bump/domain/bump_info_repository.rb

Overview

The repository class for the bump info persistence in file as yaml string

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ BumpInfoRepository

Returns a new instance of BumpInfoRepository.

Parameters:

  • file (String)


12
13
14
# File 'lib/bump/domain/bump_info_repository.rb', line 12

def initialize file
    @file = file
end

Instance Method Details

#fromFileBump::BumpInfo

Gets the bump info from the given file

Parameters:

  • file (String)

Returns:



20
21
22
23
24
25
26
27
28
# File 'lib/bump/domain/bump_info_repository.rb', line 20

def fromFile

    config = YAML.load_file @file
    version = VersionNumberFactory.fromString config['version']
    files = config['files']

    BumpInfo.new version, files

end

#save(bumpInfo) ⇒ void

This method returns an undefined value.

Saves the bump info

Parameters:



34
35
36
# File 'lib/bump/domain/bump_info_repository.rb', line 34

def save bumpInfo
    File.write @file, toYaml(bumpInfo)
end

#toYaml(bumpInfo) ⇒ Hash

Parameters:

Returns:

  • (Hash)


41
42
43
44
45
# File 'lib/bump/domain/bump_info_repository.rb', line 41

def toYaml bumpInfo

    {"version" => bumpInfo.version.to_s, "files" => bumpInfo.files}.to_yaml

end