Rakefile in foursquare-oauth-0.2.2 vs Rakefile in foursquare-oauth-0.2.3

- old
+ new

@@ -2,51 +2,59 @@ require 'rake/gempackagetask' require 'rubygems/specification' require 'date' require 'spec/rake/spectask' -spec = Gem::Specification.new do |s| - s.name = "foursquare-oauth" - s.version = '0.2.2' - s.authors = ['Jeremy Welch', 'Thomas Hanley', 'Elise Wood'] - s.email = "hello@jeremyrwelch.com" - s.homepage = "http://github.com/glytch/Foursquare" - s.description = s.summary = "A simple Ruby wrapper for the Foursquare API" - s.post_install_message = "NOTE: This version of the Foursquare Gem has significant changes to the way methods are called. Please review the examples in the README" - - s.platform = Gem::Platform::RUBY - s.has_rdoc = true - s.extra_rdoc_files = ["README.rdoc", "History"] - - s.require_path = 'lib' - s.autorequire = 'foursquare' - s.files = %w(README.rdoc Rakefile History) + Dir.glob("{lib,spec,script,examples}/**/*") - - s.add_dependency('httparty', '0.4.3') - s.add_dependency('oauth', '0.3.6') - s.add_dependency('hashie', '0.1.5') -end +begin + require 'jeweler' + Jeweler::Tasks.new do |s| + s.name = "foursquare-oauth" + s.version = '0.2.3' + s.authors = ['Jeremy Welch', 'Thomas Hanley', 'Elise Wood'] + s.email = "hello@jeremyrwelch.com" + s.homepage = "http://github.com/glytch/Foursquare" + s.description = s.summary = "A simple Ruby wrapper for the Foursquare API" + s.post_install_message = "NOTE: This version of the Foursquare Gem has significant changes to the way methods are called. Please review the examples in the README" -task :default => :spec + s.platform = Gem::Platform::RUBY + s.has_rdoc = true + s.extra_rdoc_files = ["README.rdoc", "History"] -desc "Run specs" + s.require_path = 'lib' + s.autorequire = 'foursquare' + s.files = %w(README.rdoc Rakefile History) + Dir.glob("{lib,spec,script,examples}/**/*") + + s.add_dependency('httparty', '0.5.0') + s.add_dependency('oauth', '0.3.6') + s.add_dependency('hashie', '0.1.5') + end +rescue LoadError + puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" +end + Spec::Rake::SpecTask.new do |t| t.spec_files = FileList['spec/**/*_spec.rb'] - t.spec_opts = %w(-fs --color) end - -Rake::GemPackageTask.new(spec) do |pkg| - pkg.gem_spec = spec +desc "Run all examples with RCov" +Spec::Rake::SpecTask.new('rcov') do |t| + t.spec_files = FileList['spec/**/*_spec.rb'] + t.rcov = true end -desc "install the gem locally" -task :install => [:package] do - sh %{sudo gem install pkg/#{GEM}-#{GEM_VERSION}} +desc 'Confirm that gemspec is $SAFE' +task :safe do + require 'yaml' + require 'rubygems/specification' + data = File.read('rack-oauth.gemspec') + spec = nil + if data !~ %r{!ruby/object:Gem::Specification} + Thread.new { spec = eval("$SAFE = 3\n#{data}") }.join + else + spec = YAML.load(data) + end + spec.validate + puts spec + puts "OK" end -desc "create a gemspec file" -task :make_spec do - File.open("foursquare.gemspec", "w") do |file| - file.puts spec.to_ruby - end -end +task :default => :spec \ No newline at end of file