lib/veewee/provider/core/provider.rb in veewee-0.3.0.alpha6 vs lib/veewee/provider/core/provider.rb in veewee-0.3.0.alpha7
- old
+ new
@@ -10,10 +10,17 @@
attr_accessor :type
attr_accessor :name
include ::Veewee::Provider::Core::Helper::Shell
+ def ui
+ return @_ui if defined?(@_ui)
+ @_ui = @env.ui.dup
+ @_ui.resource = @name
+ @_ui
+ end
+
def initialize(name,options,env)
@env=env
@name=name
@options=options
@@ -27,11 +34,11 @@
require require_path
# Get a real box object from the Provider
box=Object.const_get("Veewee").const_get("Provider").const_get(type.to_s.capitalize).const_get("Box").new(name,env)
rescue Error => ex
- env.ui.error "Could not instante the box #{name} with provider #{type} ,#{ex}"
+ ui.error "Could not instante the box #{name} with provider #{type} ,#{ex}"
raise
end
end
def self.available?
@@ -42,22 +49,22 @@
return false
end
end
def gem_available?(gemname)
- env.logger.info "Checking for gem #{gemname}"
+ env.logger.info "Checking for gem #{gemname}"
+ available=false
+ begin
+ available=true unless Gem::Specification::find_by_name("#{gemname}").nil?
+ rescue Gem::LoadError
+ env.logger.info "Error loading gem #{gemname}"
available=false
- begin
- available=true unless Gem::Specification::find_by_name("#{gemname}").nil?
- rescue Gem::LoadError
- env.logger.info "Error loading gem #{gemname}"
- available=false
- rescue
- env.logger.info "Falling back to old syntax for #{gemname}"
- available=Gem.available?("#{gemname}")
- env.logger.info "Old syntax #{gemname}.available? #{available}"
- end
- return available
+ rescue
+ env.logger.info "Falling back to old syntax for #{gemname}"
+ available=Gem.available?("#{gemname}")
+ env.logger.info "Old syntax #{gemname}.available? #{available}"
+ end
+ return available
end
def gems_available?(names)
names.each do |gemname|
return false if !gem_available?(gemname)