module Fx

F(x) adds methods `ActiveRecord::Migration` to create and manage database triggers and functions in Rails applications.

Constants

VERSION

@api private

Public Class Methods

configuration() click to toggle source

@return [Fx::Configuration] F(x)'s current configuration

# File lib/fx/configuration.rb, line 3
def self.configuration
  @_configuration ||= Configuration.new
end
configuration=(config) click to toggle source

Set F(x)'s configuration

@param config [Fx::Configuration]

# File lib/fx/configuration.rb, line 10
def self.configuration=(config)
  @_configuration = config
end
configure() { |configuration| ... } click to toggle source

Modify F(x)'s current configuration

@yieldparam [Fx::Configuration] config current F(x) config “` Fx.configure do |config|

config.database = Fx::Adapters::Postgres
config.dump_functions_at_beginning_of_schema = true

end “`

# File lib/fx/configuration.rb, line 23
def self.configure
  yield configuration
end
database() click to toggle source

The current database adapter used by F(x).

This defaults to {Fx::Adapters::Postgres} but can be overridden via {Configuration}.

# File lib/fx.rb, line 40
def self.database
  configuration.database
end
load() click to toggle source

Hooks Fx into Rails.

Enables fx migration methods, migration reversability, and `schema.rb` dumping.

# File lib/fx.rb, line 19
def self.load
  ActiveRecord::Migration::CommandRecorder.send(
    :include,
    Fx::CommandRecorder
  )

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

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