Sha256: 7f8c8d1601c2be697799fef51d6d4a86fbae03733ffcbe0f5ff78ced609442d7

Contents?: true

Size: 1.31 KB

Versions: 4

Compression:

Stored size: 1.31 KB

Contents

require 'spiderfw'

module Spider; module Servant; module Resources
    
    class Db < Resource
        
        def self.get_resource(url)
            matches = url.match(/^(.+?):\/\/(.+)/)
            adapter = matches[1]
            rest = matches[2]
            if (adapter =~ /(.+):(.+)/)
                connector = $1
                adapter = $2
                url = "#{adapter}://#{rest}"
            end
            case adapter
            when 'sqlite'
                class_name = :SQLite
            when 'oci8'
                class_name = :OCI8
            when 'mysql'
                class_name = :Mysql
            when 'mssql'
                class_name = :MSSQL
            end
            return Resources.const_get(class_name).new(url)
        end
        
        def initialize(url)
            @storage = Spider::Model::Storage.get_storage('db', url)
        end
        
        def create_db(name)
            raise "Unimplemented"
        end
        
        def db_exists?(name)
            raise "Unimplemented"
        end
        
        def add_user(name, password)
            raise "Unimplemented"
        end
        
        def grant_db_to_user(db_name, user)
            raise "Unimplemented"
        end
        
        def resource_type
            :db
        end
    end
    
end; end; end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spiderfw-0.5.13 apps/servant/lib/resources/db.rb
spiderfw-0.5.12 apps/servant/lib/resources/db.rb
spiderfw-0.5.11 apps/servant/lib/resources/db.rb
spiderfw-0.5.10 apps/servant/lib/resources/db.rb