Module: Vump
- Defined in:
- lib/cli.rb,
lib/vump.rb,
lib/vump/meta.rb,
lib/vump/version.rb,
lib/vump/semver/semver.rb,
lib/vump/semver/module/npm.rb,
lib/vump/semver/module/npm_lock.rb,
lib/vump/semver/module/version_file.rb,
lib/vump/semver/module/keepachangelog.rb,
lib/vump/semver/read_write_version_module.rb
Overview
Root package module
Defined Under Namespace
Modules: CLI, VersionModule Classes: ReadWriteVersionModule, Semver
Constant Summary collapse
- SUMMARY =
Brief summary of the package
'Raise version version in root of semver project.'.freeze
- VERSION =
Package version
File.read(File.('../../VERSION', __dir__)).strip.freeze
- @@logger =
Logger.new(STDOUT)
Class Method Summary collapse
- .bump(what, version) ⇒ Object
- .git(modules, release_version) ⇒ Object
- .logger ⇒ Object
- .modules(base = Dir.pwd) ⇒ Object
-
.orchestrate(args) ⇒ String
Format CLI output.
Class Method Details
.bump(what, version) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/vump.rb', line 17 def self.bump(what, version) case what when /^ma/i version.bump_major when /^mi/i version.bump_minor when /^p/i version.bump_patch end version end |
.git(modules, release_version) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/vump.rb', line 56 def self.git(modules, release_version) return unless File.exist?(Dir.pwd + '/.git') modules.each { |m| `git add #{m.path}` } `git commit -m "Release #{release_version}"` unless modules.empty? `git tag "v#{release_version}"` end |
.logger ⇒ Object
13 14 15 |
# File 'lib/vump.rb', line 13 def self.logger @@logger end |
.modules(base = Dir.pwd) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/vump.rb', line 29 def self.modules(base = Dir.pwd) modules_versions = Vump::VersionModule .constants .map { |m| Vump::VersionModule.const_get(m) } .select { |m| m.is_a? Class } .map { |m| m.new(base) } .map { |m| [m, m.read] } .select { |_m, v| v } # "unzip" modules_versions.empty? ? [[], []] : modules_versions.transpose end |
.orchestrate(args) ⇒ String
Format CLI output
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/vump.rb', line 45 def self.orchestrate(args) v_modules, current_versions = modules if current_versions.uniq.length > 1 Vump.logger.error 'Different versions detected. Quitting.' else new_version = bump(args.first, Vump::Semver.new(current_versions.first)) v_modules.each { |m| m.write(new_version.to_s) } git(v_modules, new_version) end end |