Sha256: a35c1c8b222c27a6f423c4f3f0f4ec437dea6b4f5c57c272bd6bc7d60ef57a03

Contents?: true

Size: 1013 Bytes

Versions: 1

Compression:

Stored size: 1013 Bytes

Contents

require_relative 'base'

require 'active_support/core_ext/string/strip'
require 'erubis'

namespace :version do
  desc 'bump version of library to new version'
  task :bump do

    new_version = ENV['VERSION'] || ENV['version']

    raise Exception, "You need to define a version via \"VERSION=<version>\" or \"version=<version>\"."

    raw_module_names = File.open(version_file, "r").readlines.grep(/module/)
    module_names = raw_module_names.collect { |n| n.chomp.match(/module\s+(\S+)/) {$1} }

    template = <<-EOF
    #main <%= @modules.first %>
    <% @modules.each do |m| %>
    module <%= m %>
    <% end %>
      VERSION = '<%= @version %>'
    <% @modules.size.times do |m| %>
    end
    <% end %>
EOF

    version_string = Erubis::Eruby.new(template).evaluate(modules: module_names, version: new_version)

    File.open(version_file, "w") do |f|
      f.write version_string.strip_heredoc
    end

    sh "git add #{version_file}"
    sh "git commit -m 'version bump to #{new_version}'"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fedux_org-stdlib-0.0.12 lib/fedux_org/stdlib/rake/version/bump.rb