Sha256: 92fbb4a49d2c299d0a710c51d5fbb125eba8d850c7080e5b3d94eef0a24c5ca1

Contents?: true

Size: 1.95 KB

Versions: 2

Compression:

Stored size: 1.95 KB

Contents

#!/usr/bin/env rake
begin
  require 'bundler/setup'
rescue LoadError
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
end

begin
  require 'rdoc/task'
rescue LoadError
  require 'rdoc/rdoc'
  require 'rake/rdoctask'
  RDoc::Task = Rake::RDocTask
end

require 'ansi'

RDoc::Task.new(:rdoc) do |rdoc|
  rdoc.rdoc_dir = 'rdoc'
  rdoc.title    = 'LayMeOut'
  rdoc.options << '--line-numbers'
  rdoc.rdoc_files.include('README.rdoc')
  rdoc.rdoc_files.include('lib/**/*.rb')
end

Bundler::GemHelper.install_tasks

begin
  require 'jasmine'
  load 'jasmine/tasks/jasmine.rake'
rescue LoadError
  task :jasmine do
    abort "Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine"
  end
end

require "bundler/gem_tasks"
require "yaml"

def version_file_name
  "lib/#{gem_name}/version.rb"
end

def get_version
  r = eval "module TempVersionModule; #{File.read(version_file_name)}; end", binding, version_file_name
  Object.send(:remove_const, "TempVersionModule")
  r
end

def gem_name
  File.basename(Dir["*.gemspec"].first).gsub(/\.gemspec$/, '')
end

def git_directory_dirty?
  status = `git status --porcelain`
  status.strip == '' ? false : status
end

task :ensure_clean_working_directory do
  if dirty = git_directory_dirty?
    $stderr.puts ANSI.red { "Can't push! Working directory not clean!" }
    $stderr.puts ANSI.yellow { dirty }
    exit 1
  end
end

task :push_version_changes_to_git do
  sh "git add #{version_file_name} #{gem_name}.gemspec"
  sh "git commit -m '#{get_version}'"
  sh "git push"
end

task :push => :ensure_clean_working_directory do

  raise "please set EDITOR variable" unless ENV["EDITOR"]
  system "$EDITOR #{version_file_name}"

  unless git_directory_dirty?
    $stderr.puts ANSI.red { "version not changed!" }
    exit 1
  end

  Rake::Task[:build].invoke

  system("fury push pkg/#{gem_name}-#{get_version}.gem --as=payrollhero")
  puts "Done"

  Rake::Task[:push_version_changes_to_git].invoke
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lay_me_out-1.2.9 Rakefile
lay_me_out-1.2.8 Rakefile