class CORL::Build
Public Class Methods
new()
click to toggle source
# File lib/core/build.rb 8 def initialize 9 @config = Config.new({}, {}, true, false) 10 @locations = Config.new({}, {}, true, false) 11 12 @plurals = {} 13 @types = {} 14 end
Public Instance Methods
build_lock()
click to toggle source
# File lib/core/build.rb 23 def build_lock 24 @@build_lock 25 end
config()
click to toggle source
# File lib/core/build.rb 45 def config 46 @config 47 end
import(config)
click to toggle source
# File lib/core/build.rb 49 def import(config) 50 @config.import(config) 51 end
locations()
click to toggle source
# File lib/core/build.rb 56 def locations 57 @locations 58 end
manage(plugin_type, options = {})
click to toggle source
# File lib/core/build.rb 106 def manage(plugin_type, options = {}) 107 CORL.send(plugin_type, options) 108 end
method_missing(method, *args, &code)
click to toggle source
Calls superclass method
# File lib/core/build.rb 71 def method_missing(method, *args, &code) 72 success = false 73 result = nil 74 75 if method.to_s.match(/^set\_([a-z].*)$/) 76 name = $1.to_sym 77 78 if @types.has_key?(name) && args.length > 2 79 @types[name].set([ args[0], args[1] ], args[2]) if args.length > 2 80 success = true 81 end 82 83 elsif method.to_s.match(/^remove\_([a-z].*)$/) 84 name = $1.to_sym 85 86 if @types.has_key?(name) && args.length > 0 87 @types[name].delete([ args[0], args[1] ]) 88 success = true 89 end 90 91 else 92 name = @plurals[method.to_sym] 93 94 if name && @types.has_key?(name) 95 result = @types[name] 96 success = true 97 end 98 end 99 super unless success # Raise NoMethodError 100 result 101 end
register(type, plural = nil)
click to toggle source
# File lib/core/build.rb 30 def register(type, plural = nil) 31 type = type.to_sym 32 33 if plural 34 plural = plural.to_sym 35 else 36 plural = "#{type}s".to_sym 37 end 38 @plurals[plural] = type 39 @types[type] = Config.new 40 end
remove_location(provider, name = nil)
click to toggle source
# File lib/core/build.rb 64 def remove_location(provider, name = nil) 65 @locations.delete([ provider, name ]) 66 end
set_location(provider, name, directory)
click to toggle source
# File lib/core/build.rb 60 def set_location(provider, name, directory) 61 @locations.set([ provider, name ], directory) 62 end