Sha256: d488706666f37eb4fcaf28719d40b6519aef82f28aee98ca2e6a860eb2934e4b

Contents?: true

Size: 729 Bytes

Versions: 3

Compression:

Stored size: 729 Bytes

Contents

require "active_support/lazy_load_hooks"

# Thnx to Kristian Mandrup for the inspiration
# TODO: Include more ORMs/ODMs here

module MoneyRails
  module Orms
    def self.extend_for(name=:active_record)
      case name.to_sym
      when :active_record
        if defined?(ActiveRecord::Base)
          require "money-rails/active_record/monetizable"

          # Lazy load extension
          ActiveSupport.on_load :active_record do
            include MoneyRails::ActiveRecord::Monetizable
          end
        end
      else
        raise ArgumentError, "ORM extension for #{name} is currently not supported."
      end
    end

    # Return all supported ORMs
    def self.supported
      %w{active_record}
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
money-rails-0.3.1 lib/money-rails/orms.rb
money-rails-0.3.0 lib/money-rails/orms.rb
money-rails-0.2.0 lib/money-rails/orms.rb