module Kernel
Public Instance Methods
Bones { block }
click to toggle source
Configure Mr Bones using the given block of code. If a block is not given, the Bones module is returned.
# File lib/bones.rb, line 108 def Bones( filename = nil, &block ) # we absolutely have to have the bones plugin plugin_names = ::Bones.plugin_names ::Bones.plugin :bones_plugin unless plugin_names.empty? or plugin_names.include? :bones_plugin plugins = ::Bones.initialize_plugins.values ::Bones::Plugins::Gem.import_gemspec(filename) if filename return ::Bones unless block extend_method = Object.instance_method(:extend).bind(::Bones.config) plugins.each { |plugin| ps = plugin.const_get :Syntax rescue next extend_method.call ps } instance_eval_method = Object.instance_method(:instance_eval).bind(::Bones.config) instance_eval_method.call(&block) plugins.each { |plugin| plugin.post_load if plugin.respond_to? :post_load } plugins.each { |plugin| plugin.define_tasks if plugin.respond_to? :define_tasks } rakefiles = Dir.glob(File.join(Dir.pwd, %w[tasks *.rake])).sort rakefiles.each {|fn| Rake.application.add_import(fn)} end