Sha256: 1ff7c4623ac9c88223cd0c23a49ebd37c5b986d4b0e6fe622428bed5f817bab2

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

module SequelRails
  module Storage
    class Abstract

      attr_reader :config

      def initialize(config)
        @config = config
      end

      def create
        res = _create
        puts "[sequel] Created database '#{database}'" if res
        res
      end

      def drop
        ::Sequel::Model.db.disconnect
        res = _drop
        puts "[sequel] Dropped database '#{database}'" if res
        res
      end

      def dump filename
        res = _dump filename
        puts "[sequel] Dumped structure of database '#{database}' to '#{filename}'" if res
        res
      end

      def load filename
        res = _load filename
        puts "[sequel] Loaded structure of database '#{database}' from '#{filename}'" if res
        res
      end

      # To be overriden by subclasses
      def close_connections
        true
      end

      def database
        @database ||= config['database'] || config['path']
      end

      def username
        @username ||= config['username'] || config['user'] || ''
      end

      def password
        @password ||= config['password'] || ''
      end

      def host
        @host ||= config['host'] || ''
      end

      def port
        @port ||= config['port'] || ''
      end

      def owner
        @owner ||= config['owner'] || ''
      end

      def charset
        @charset ||= config['charset'] || ENV['CHARSET'] || 'utf8'
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sequel-rails-0.5.0 lib/sequel_rails/storage/abstract.rb
sequel-rails-0.4.4 lib/sequel_rails/storage/abstract.rb
sequel-rails-0.4.3 lib/sequel_rails/storage/abstract.rb
sequel-rails-0.4.2 lib/sequel_rails/storage/abstract.rb