Sha256: 95c9ccdfca2970b1f4a294b6e67db622f2cc1bd2308e328edc802e5be287b4ef

Contents?: true

Size: 925 Bytes

Versions: 2

Compression:

Stored size: 925 Bytes

Contents

require 'active_record'
require 'active_support/core_ext/string'
require 'modware'

require_relative "schema_monkey/active_record"
require_relative "schema_monkey/client"
require_relative "schema_monkey/errors"
require_relative "schema_monkey/module"
require_relative "schema_monkey/monkey"
require_relative "schema_monkey/stack"

#
# Middleware contents will be created dynamically
#
module SchemaMonkey
  module Middleware
  end
end

#
#
#
module SchemaMonkey

  DBMS = [:PostgreSQL, :Mysql, :SQLite3]

  def self.register(mod)
    monkey.register(mod)
    self.insert
  end

  def self.insert(opts={})
    monkey.insert(opts)
  end

  private

  def self.monkey
    @monkey ||= Monkey.new
  end

  def self.reset_for_rspec
    @monkey = nil
    self.reset_middleware
  end

  def self.reset_middleware
    SchemaMonkey.send :remove_const, :Middleware
    SchemaMonkey.send :const_set, :Middleware, ::Module.new
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
schema_monkey-2.1.6 lib/schema_monkey.rb
schema_monkey-2.1.5 lib/schema_monkey.rb