Class: RServiceBus::ConfigureAppResource

Inherits:
Object
  • Object
show all
Defined in:
lib/rservicebus/ConfigureAppResource.rb

Overview

Configure AppResources for an rservicebus host

Instance Method Summary collapse

Instance Method Details

#getResources(env, host, stateManager, sagaStorage) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/rservicebus/ConfigureAppResource.rb', line 6

def getResources( env, host, stateManager, sagaStorage )
  resourceManager = ResourceManager.new( stateManager, sagaStorage )


  env.each do |k,v|
    if v.is_a?(String) and
      k.start_with?('RSBFDB_') then
      uri = URI.parse( v )
      require 'rservicebus/AppResource/FluidDb'
      resourceManager.add k.sub( 'RSBFDB_', ''), AppResource_FluidDb.new( host, uri )
    elsif v.is_a?(String) and
      k.start_with?('RSB_') then
      uri = URI.parse( v )
      case uri.scheme
      when 'redis'
        require 'rservicebus/AppResource/Redis'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_Redis.new( host, uri )

      when 'mysql'
        require 'rservicebus/AppResource/Mysql'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_Mysql.new( host, uri )

      when 'fluiddbmysql'
        require 'rservicebus/AppResource/FluidDbMysql'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_FluidDbMysql.new( host, uri )
      when 'fluiddbmysql2'
        require 'rservicebus/AppResource/FluidDbMysql2'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_FluidDbMysql2.new( host, uri )
      when 'fluiddbpgsql'
        require 'rservicebus/AppResource/FluidDbPgsql'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_FluidDbPgsql.new( host, uri )
      when 'fluiddbtinytds'
        require 'rservicebus/AppResource/FluidDbTinyTds'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_FluidDbTinyTds.new( host, uri )

      when 'fluiddbfirebird'
        require 'rservicebus/AppResource/FluidDbFirebird'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_FluidDbFirebird.new( host, uri )

      when 'dir'
        require 'rservicebus/AppResource/Dir'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_Dir.new( host, uri )
      when 'file'
        require 'rservicebus/AppResource/File'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_File.new( host, uri )
      when 'scpdownload'
        require 'rservicebus/AppResource/ScpDownload'
        resourceManager.add k.sub( 'RSB_', '' ), AppResource_ScpDownload.new( host, uri )
      when 'scpupload'
        require 'rservicebus/AppResource/ScpUpload'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_ScpUpload.new( host, uri )
      when 'smbfile'
        require 'rservicebus/AppResource/SmbFile'
        resourceManager.add k.sub( 'RSB_', ''), AppResource_SmbFile.new( host, uri )
      else
        abort("Scheme, #{uri.scheme}, not recognised when configuring app resource, #{k}=#{v}");
      end
    end

  end

  return resourceManager
end