Class: Semverve::ProjectMetadata
- Inherits:
-
Object
- Object
- Semverve::ProjectMetadata
- Defined in:
- lib/semverve/project_metadata.rb
Overview
Infers project metadata from explicit configuration or project files.
Instance Method Summary collapse
-
#gem_name ⇒ String?
Gem name from explicit config, the version-file path, or the gemspec.
-
#initialize(configuration) ⇒ Semverve::ProjectMetadata
constructor
Initializes project metadata inference.
-
#module_name ⇒ String
Ruby module name from explicit config or the resolved gem name.
-
#version_file ⇒ String
Version-file path from explicit config or the resolved gem name.
Constructor Details
#initialize(configuration) ⇒ Semverve::ProjectMetadata
Initializes project metadata inference.
15 16 17 |
# File 'lib/semverve/project_metadata.rb', line 15 def initialize(configuration) @configuration = configuration end |
Instance Method Details
#gem_name ⇒ String?
Gem name from explicit config, the version-file path, or the gemspec. App adapters can disable package-name inference.
24 25 26 27 28 |
# File 'lib/semverve/project_metadata.rb', line 24 def gem_name return explicit_gem_name || configured_gem_name unless configuration.infer_package_name? explicit_gem_name || configured_version_file_gem_name || gemspec_name end |
#module_name ⇒ String
Ruby module name from explicit config or the resolved gem name.
34 35 36 |
# File 'lib/semverve/project_metadata.rb', line 34 def module_name explicit_module_name || configured_module_name || camelize(gem_name) end |
#version_file ⇒ String
Version-file path from explicit config or the resolved gem name.
42 43 44 |
# File 'lib/semverve/project_metadata.rb', line 42 def version_file configured_version_file || File.join("lib", gem_name, "version.rb") end |