Sha256: d60329673836d33b89a75a3cf5784d6ddb6f055f0488b3879367f0df582d0f72

Contents?: true

Size: 1013 Bytes

Versions: 5

Compression:

Stored size: 1013 Bytes

Contents

require "fx/version"
require "fx/adapters/postgres"
require "fx/command_recorder"
require "fx/configuration"
require "fx/definition"
require "fx/function"
require "fx/statements"
require "fx/schema_dumper"
require "fx/trigger"
require "fx/railtie"

# F(x) adds methods `ActiveRecord::Migration` to create and manage database
# triggers and functions in Rails applications.
module Fx
  # Hooks Fx into Rails.
  #
  # Enables fx migration methods, migration reversability, and `schema.rb`
  # dumping.
  def self.load
    ActiveRecord::Migration::CommandRecorder.send(
      :include,
      Fx::CommandRecorder,
    )

    ActiveRecord::SchemaDumper.send(
      :prepend,
      Fx::SchemaDumper,
    )

    ActiveRecord::ConnectionAdapters::AbstractAdapter.send(
      :include,
      Fx::Statements,
    )
  end

  # The current database adapter used by F(x).
  #
  # This defaults to {Fx::Adapters::Postgres} but can be overridden
  # via {Configuration}.
  def self.database
    configuration.database
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
fx-0.7.0 lib/fx.rb
fx-jets-0.6.3s lib/fx.rb
fx-0.6.2 lib/fx.rb
fx-0.6.1 lib/fx.rb
fx-0.6.0 lib/fx.rb