module FunWith::Gems::RakeClassMethods
Attributes
gem[RW]
Public Instance Methods
get_gem()
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 20 def get_gem @gem end
jeweler_requirements()
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 76 def jeweler_requirements require 'rake' require 'jeweler' end
rake_requirements()
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 81 def rake_requirements require 'rdoc/task' require 'rake/testtask' end
run_bundler_setup()
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 28 def run_bundler_setup jeweler_requirements rake_requirements begin Bundler.setup(:default, :development) rescue Bundler::BundlerError => e $stderr.puts e.message $stderr.puts "Run `bundle install` to install missing gems" exit e.status_code end end
run_in_rakefile(&block)
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 86 def run_in_rakefile &block if @rake_main.nil? raise "Did you forget the line FunWith::Gems::Rakefile.set_rake_main by any chance?" elsif ! block_given? raise ArgumentError.new("Block must be given") else @rake_main.instance_eval &block end end
set_gem(g)
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 16 def set_gem g @gem = g end
set_rake_main(m)
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 24 def set_rake_main m @rake_main = m end
setup(this_gem, rake_main)
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 6 def setup this_gem, rake_main set_gem this_gem set_rake_main rake_main run_bundler_setup # Internal tasks are set up in the Rakefile. # External tasks (visible to the gems that depend on your fungem) are setup during the normal gem setup, if the 'rake' gem is present. get_gem.load_internal_tasks end
setup_gem_boilerplate()
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 47 def setup_gem_boilerplate run_in_rakefile do Jeweler::RubygemsDotOrgTasks.new Rake::TestTask.new(:test) do |test| test.libs << 'lib' << 'test' test.pattern = 'test/**/test_*.rb' test.verbose = true end desc "Code coverage detail" task :simplecov do ENV['COVERAGE'] = "true" Rake::Task['test'].execute end task :default => :test Rake::RDocTask.new do |rdoc| version = File.exist?('VERSION') ? File.read('VERSION') : "" rdoc.rdoc_dir = 'rdoc' rdoc.title = "fun_with_gems #{version}" rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('lib/**/*.rb') end end end
specification() { |gem| ... }
click to toggle source
# File lib/fun_with/gems/rake_class_methods.rb, line 41 def specification &block Jeweler::Tasks.new do |gem| yield gem end end