Rakefile in majestic_seo_api-1.3.1 vs Rakefile in majestic_seo_api-1.4.0
- old
+ new
@@ -1,87 +1,6 @@
-## helper functions
+require "bundler/gem_tasks"
+require "rspec/core/rake_task"
-def name
- @name ||= Dir['*.gemspec'].first.split('.').first
-end
+RSpec::Core::RakeTask.new(:spec)
-def version
- line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
- line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
-end
-
-def gemspec_file
- "#{name}.gemspec"
-end
-
-def gem_file
- "#{name}-#{version}.gem"
-end
-
-def replace_header(head, header_name)
- head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
-end
-
-begin
- # Rspec 2.0
- require 'rspec/core/rake_task'
-
- desc 'Default: run specs'
- task :default => :spec
- RSpec::Core::RakeTask.new do |t|
- t.pattern = "spec/**/*_spec.rb"
- end
-
- RSpec::Core::RakeTask.new('rcov') do |t|
- t.pattern = "spec/**/*_spec.rb"
- t.rcov = true
- t.rcov_opts = ['--exclude', 'spec']
- end
-
-rescue LoadError
- puts "Rspec not available. Install it with: gem install rspec"
-end
-
-## release management tasks
-
-desc "Commit, create tag v#{version} and build and push #{gem_file} to Rubygems"
-task :release => :build do
- sh "git commit --allow-empty -a -m 'Release #{version}'"
- sh "git tag v#{version}"
- sh "git push"
- sh "git push origin v#{version}"
- sh "gem push pkg/#{gem_file}"
-end
-
-desc "Build #{gem_file} into the pkg directory"
-task :build => :gemspec do
- sh "mkdir -p pkg"
- sh "gem build #{gemspec_file}"
- sh "mv #{gem_file} pkg"
-end
-
-desc "Generate #{gemspec_file}"
-task :gemspec do
- # read spec file and split out manifest section
- spec = File.read(gemspec_file)
- head, manifest, tail = spec.split(" # = MANIFEST =\n")
-
- # replace name version and date
- replace_header(head, :name)
- replace_header(head, :version)
-
- # determine file list from git ls-files
- files = `git ls-files`.
- split("\n").
- sort.
- reject { |file| file =~ /^\./ }.
- reject { |file| file =~ /^(rdoc|pkg)/ }.
- map { |file| " #{file}" }.
- join("\n")
-
- # piece file back together and write
- manifest = " s.files = %w[\n#{files}\n ]\n"
- spec = [head, manifest, tail].join(" # = MANIFEST =\n")
- File.open(gemspec_file, 'w') { |io| io.write(spec) }
- puts "Updated #{gemspec_file}"
-end
-
+task :default => :spec