Sha256: 989a7c72eb6d1f9f3418c547ce89af009bc7e1d400f35397aebaa85e186849cd

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

require 'pathname'

class Bueller
  module Commands
    module Version
      class Base
        def self.run_for(bueller)
          command = new bueller
          command.run
          command
        end

        attr_accessor :version_helper, :gemspec
        attr_reader :bueller

        def initialize(bueller)
          @bueller = bueller
        end

        def version_helper; bueller.version_helper; end
        def gemspec_helper; bueller.gemspec_helper; end
        def repo; bueller.repo; end
        def commit; bueller.commit; end

        def run
          update_version

          gemspec_helper.set_date
          gemspec_helper.write
          version_helper.write_version

          commit_version
        end

        def update_version
          raise "Subclasses should implement this"
        end

        def commit_version
          if repo and commit
            repo.add gemspec_helper.path
            repo.add version_helper.path
            repo.commit "Version bump to #{version_helper.to_s}"
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bueller-0.0.9 lib/bueller/commands/version/base.rb
bueller-0.0.8 lib/bueller/commands/version/base.rb
bueller-0.0.7 lib/bueller/commands/version/base.rb
bueller-0.0.6 lib/bueller/commands/version/base.rb