Class: Vump::ReadWriteVersionModule

Inherits:
Object
  • Object
show all
Defined in:
lib/vump/semver/read_write_version_module.rb

Overview

Read write version module archetype

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base) ⇒ ReadWriteVersionModule



4
5
6
# File 'lib/vump/semver/read_write_version_module.rb', line 4

def initialize(base)
  @base = base
end

Class Method Details

.nameObject

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/vump/semver/read_write_version_module.rb', line 27

def self.name
  raise NotImplementedError
end

Instance Method Details

#compose(_new_version) ⇒ Object

Raises:

  • (NotImplementedError)


39
40
41
# File 'lib/vump/semver/read_write_version_module.rb', line 39

def compose(_new_version)
  raise NotImplementedError
end

#pathObject

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/vump/semver/read_write_version_module.rb', line 31

def path
  raise NotImplementedError
end

#readObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/vump/semver/read_write_version_module.rb', line 8

def read
  name = self.class.name
  if File.file?(path)
    @read_contents = File.read(path)
    ver = scrape(@read_contents)
    Vump.logger.debug("#{name} read `#{ver}` from `#{path}`")
  else
    Vump.logger.debug("#{name} could not find `#{path}`")
  end
  ver
end

#scrape(_str) ⇒ Object

Raises:

  • (NotImplementedError)


35
36
37
# File 'lib/vump/semver/read_write_version_module.rb', line 35

def scrape(_str)
  raise NotImplementedError
end

#write(new_version) ⇒ Object



20
21
22
23
24
25
# File 'lib/vump/semver/read_write_version_module.rb', line 20

def write(new_version)
  name = self.class.name
  File.write(path, compose(new_version))
  Vump.logger.debug("#{name} bumped to `#{new_version}` in `#{path}`")
  Vump.logger.info("#{name} successfully bumped!")
end