Class: Veewee::Providers

Inherits:
Object
  • Object
show all
Defined in:
lib/veewee/providers.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Providers

Returns a new instance of Providers.



4
5
6
7
# File 'lib/veewee/providers.rb', line 4

def initialize(env)
  @env=env
  @providers=Hash.new
end

Instance Method Details

#[](name) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/veewee/providers.rb', line 9

def [](name)
       return @providers[name] if @providers.has_key?(name)

       begin
         require_path='veewee/provider/'+name.to_s.downcase+"/provider"
         require require_path

         provider=Object.const_get("Veewee").const_get("Provider").const_get(name.to_s.capitalize).const_get("Provider").new(name,{},@env)

         @providers[name]=provider
       rescue ::Veewee::Error => e
          raise
       rescue Error => e
         env.ui.error "Error loading provider with #{name},#{$!}",:prefix => false
       end
end

#lengthObject



26
27
28
# File 'lib/veewee/providers.rb', line 26

def length
  @providers.length
end