Sha256: b009045daf4e28690fdcabd0debe2f55827b2a926e4e950a88ac8b91b29158aa

Contents?: true

Size: 1.02 KB

Versions: 33

Compression:

Stored size: 1.02 KB

Contents

require 'git'

describe Pheme do
  def get_version(git, branch = 'HEAD')
    git.grep('VERSION = ', 'lib/*/version.rb', { object: branch }).
      map { |_sha, matches| matches.first[1] }.
      filter_map { |version_string| parse_version(version_string) }.
      first
  end

  def parse_version(string)
    string.match(/VERSION = ['"](.*)['"]/)[1]
  end

  it 'has a version number' do
    git = Git.open('.')
    head_version = get_version(git, 'HEAD')
    expect(head_version).not_to be_nil
  end

  it 'has a bumped version' do
    git = Git.open('.')
    main_version = get_version(git, 'origin/main')
    skip('first time publishing, no need to compare versions') if main_version.nil?

    is_main_branch = git.current_branch == 'main'
    skip('already on main branch, no need to compare versions') if is_main_branch

    head_version = get_version(git, 'HEAD')
    raise 'no version.rb file found on the current branch' if head_version.nil?

    expect(Gem::Version.new(head_version)).to be > Gem::Version.new(main_version)
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
pheme-5.2.5 spec/version_spec.rb
pheme-5.2.4 spec/version_spec.rb
pheme-5.2.3 spec/version_spec.rb
pheme-5.2.2 spec/version_spec.rb
pheme-5.2.1 spec/version_spec.rb
pheme-5.2.0 spec/version_spec.rb
pheme-5.1.15 spec/version_spec.rb
pheme-5.1.14 spec/version_spec.rb
pheme-5.1.13 spec/version_spec.rb
pheme-5.1.12 spec/version_spec.rb
pheme-5.1.11 spec/version_spec.rb
pheme-5.1.10 spec/version_spec.rb
pheme-5.1.9 spec/version_spec.rb
pheme-5.1.7 spec/version_spec.rb
pheme-5.1.6 spec/version_spec.rb
pheme-5.1.5 spec/version_spec.rb
pheme-5.1.4 spec/version_spec.rb
pheme-5.1.3 spec/version_spec.rb
pheme-5.1.2 spec/version_spec.rb
pheme-5.1.1 spec/version_spec.rb