Class: Vara::PrereleaseVersioner
- Inherits:
-
Object
- Object
- Vara::PrereleaseVersioner
- Defined in:
- lib/vara/prerelease_versioner.rb
Constant Summary collapse
- PRERELEASE_VERSION_PLACEHOLDER =
'$PRERELEASE_VERSION$'.freeze
- PRODUCT_VERSION_KEY =
'product_version'.freeze
- TO_VERSION_KEY =
'to_version'.freeze
- MIGRATIONS_KEY =
'migrations'.freeze
- MIGRATIONS_RULES_KEY =
'rules'.freeze
- MIGRATIONS_RULES_TO_KEY =
'to'.freeze
Instance Method Summary collapse
-
#initialize(product_directory_path, cycle) ⇒ PrereleaseVersioner
constructor
A new instance of PrereleaseVersioner.
- #override_prerelease_version!(new_prerelease_version) ⇒ void
-
#update_content_migrations(migrations_hash) ⇒ Hash
Content migrations with product version value updated if necessary.
-
#update_metadata(metadata_hash) ⇒ Hash
Product metadata with product version value updated if necessary.
Constructor Details
#initialize(product_directory_path, cycle) ⇒ PrereleaseVersioner
Returns a new instance of PrereleaseVersioner.
14 15 16 17 |
# File 'lib/vara/prerelease_versioner.rb', line 14 def initialize(product_directory_path, cycle) @product_directory_path = product_directory_path @cycle = cycle end |
Instance Method Details
#override_prerelease_version!(new_prerelease_version) ⇒ void
This method returns an undefined value.
21 22 23 |
# File 'lib/vara/prerelease_versioner.rb', line 21 def override_prerelease_version!(new_prerelease_version) @prerelease_version = new_prerelease_version end |
#update_content_migrations(migrations_hash) ⇒ Hash
Returns content migrations with product version value updated if necessary.
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/vara/prerelease_versioner.rb', line 35 def update_content_migrations(migrations_hash) migrations_hash[TO_VERSION_KEY].gsub!(PRERELEASE_VERSION_PLACEHOLDER, prerelease_version) if migrations_hash.key?(TO_VERSION_KEY) migrations_hash.fetch(MIGRATIONS_KEY, []).each do |migration| migration.fetch(MIGRATIONS_RULES_KEY, []).each do |rule| next unless updates_product_version?(rule) rule[MIGRATIONS_RULES_TO_KEY].gsub!(PRERELEASE_VERSION_PLACEHOLDER, prerelease_version) end end migrations_hash end |
#update_metadata(metadata_hash) ⇒ Hash
Returns product metadata with product version value updated if necessary.
27 28 29 30 31 |
# File 'lib/vara/prerelease_versioner.rb', line 27 def () return unless .fetch(PRODUCT_VERSION_KEY).include?(PRERELEASE_VERSION_PLACEHOLDER) [PRODUCT_VERSION_KEY].gsub!(PRERELEASE_VERSION_PLACEHOLDER, prerelease_version) end |