Class: Semverve::ProjectMetadata

Inherits:
Object
  • Object
show all
Defined in:
lib/semverve/project_metadata.rb

Overview

Infers gem metadata from explicit configuration or project files.

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Semverve::ProjectMetadata

Initializes project metadata inference.

Parameters:



15
16
17
# File 'lib/semverve/project_metadata.rb', line 15

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#gem_nameString

Gem name from explicit config, the version-file path, or the gemspec.

Returns:

  • (String)


23
24
25
# File 'lib/semverve/project_metadata.rb', line 23

def gem_name
  explicit_gem_name || configured_version_file_gem_name || gemspec_name
end

#module_nameString

Ruby module name from explicit config or the resolved gem name.

Returns:

  • (String)


31
32
33
# File 'lib/semverve/project_metadata.rb', line 31

def module_name
  explicit_module_name || configured_module_name || camelize(gem_name)
end

#version_fileString

Version-file path from explicit config or the resolved gem name.

Returns:

  • (String)


39
40
41
# File 'lib/semverve/project_metadata.rb', line 39

def version_file
  configured_version_file || File.join("lib", gem_name, "version.rb")
end