Top Level Namespace
Defined Under Namespace
Modules: DeclarativeCache, Enumerable, NotDefined, Observable2, OpenConstructor, RubyExt Classes: Array, AssertionError, BasicObject, FalseClass, GemHelper, Hash, Module, Must, MustAssertions, MustNot, NilClass, Object, OpenObject, String, Symbol, TrueClass, Tuple
Instance Method Summary collapse
- #after(task_name, &block) ⇒ Object
-
#before(task_name, &block) ⇒ Object
before, after and remove task.
-
#parse_project_gemfile ⇒ Object
parse_dependencies_for.
-
#project(options = nil) ⇒ Object
project.
- #project_dir ⇒ Object
- #remove_task(task_name) ⇒ Object (also: #delete_task)
- #rspec(&block) ⇒ Object
Instance Method Details
#after(task_name, &block) ⇒ Object
69 70 71 |
# File 'lib/rake_ext.rb', line 69 def after task_name, &block task task_name, &block end |
#before(task_name, &block) ⇒ Object
before, after and remove task
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rake_ext.rb', line 58 def before task_name, &block $_task_counter ||= {} counter = ($_task_counter[task_name] ||= 0) before_task_name = "#{task_name}_before_#{counter}" task before_task_name, &block task task_name => before_task_name $_task_counter[task_name] += 1 end |
#parse_project_gemfile ⇒ Object
parse_dependencies_for
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rake_ext/project.rb', line 8 def parse_project_gemfile required_gems, required_fake_gems = [], [] gem_file = "#{project_dir}/lib/#{project[:name]}/gems.rb" if File.exist? gem_file # puts "Parsing gemfile #{gem_file}" code = File.open(gem_file){|f| f.read} stub_class = Class.new stub_class.send(:define_method, :gem){|*args| required_gems << args} stub_class.send(:define_method, :fake_gem){|*args| required_fake_gems << args} stub = stub_class.new stub.instance_eval code, __FILE__, __LINE__ end return required_gems, required_fake_gems end |
#project(options = nil) ⇒ Object
project
82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/rake_ext.rb', line 82 def project = nil if $_project = {} .each{|k, v| $_project[k.to_sym] = v} $_project[:name] || raise("project name not defined") $_project[:official_name] ||= $_project[:name] require 'rake_ext/project' end $_project || raise("project not defined!") end |
#project_dir ⇒ Object
50 51 52 |
# File 'lib/rake_ext.rb', line 50 def project_dir $_project_dir end |
#remove_task(task_name) ⇒ Object Also known as: delete_task
73 74 75 |
# File 'lib/rake_ext.rb', line 73 def remove_task(task_name) Rake.application.instance_variable_get('@tasks').delete(task_name.to_s) end |
#rspec(&block) ⇒ Object
27 28 29 30 |
# File 'lib/rspec_ext.rb', line 27 def rspec &block RSpec::Core::ExampleGroup.class_eval &block if block return RSpec::Core::ExampleGroup end |