Class: Semverve::Generator
- Inherits:
-
Object
- Object
- Semverve::Generator
- Defined in:
- lib/semverve/generator.rb
Overview
Generates new Ruby version files from Semverve configuration.
Constant Summary collapse
- DEFAULT_VERSION =
Default version used when a version argument is not provided.
"0.1.0"
Instance Method Summary collapse
-
#generate ⇒ String
Generates the configured version file.
-
#initialize(configuration, version: nil, format: nil, force: false) ⇒ Semverve::Generator
constructor
Initializes a version-file generator.
Constructor Details
#initialize(configuration, version: nil, format: nil, force: false) ⇒ Semverve::Generator
Initializes a version-file generator.
28 29 30 31 32 33 |
# File 'lib/semverve/generator.rb', line 28 def initialize(configuration, version: nil, format: nil, force: false) @configuration = configuration @version = version @format = format @force = force end |
Instance Method Details
#generate ⇒ String
Generates the configured version file.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/semverve/generator.rb', line 39 def generate version = SemanticVersion.parse(requested_version) format = Formats.fetch(requested_format) path = configuration.absolute_version_file if File.exist?(path) && !force? raise Error, "Version file already exists at #{path}. Run rake 'semverve:generate[force]' to overwrite it." end FileUtils.mkdir_p(File.dirname(path)) File.write(path, format.generate(version, module_name: configuration.module_name)) path end |