Sha256: d86e6fb6f88e03ffe0f82d3a8dbea922c828a741d8902de2bae1b624f32402a1

Contents?: true

Size: 1.92 KB

Versions: 20

Compression:

Stored size: 1.92 KB

Contents

module EffectiveOrders
  class Engine < ::Rails::Engine
    engine_name 'effective_orders'

    # Include acts_as_addressable concern and allow any ActiveRecord object to call it
    initializer 'effective_orders.active_record' do |app|
      ActiveSupport.on_load :active_record do
        ActiveRecord::Base.extend(ActsAsPurchasable::Base)
        ActiveRecord::Base.extend(ActsAsPurchasableParent::Base)
        ActiveRecord::Base.extend(ActsAsSubscribable::Base)
        ActiveRecord::Base.extend(ActsAsSubscribableBuyer::Base)
      end
    end

    # Set up our default configuration options.
    initializer 'effective_orders.defaults', before: :load_config_initializers do |app|
      eval File.read("#{config.root}/config/effective_orders.rb")
    end

    initializer 'effective_orders.assets' do |app|
      app.config.assets.precompile += ['effective_orders_manifest.js', 'effective_orders/*']
    end

    initializer 'effective_orders.refund', after: :load_config_initializers do
      if EffectiveOrders.refund?
        unless (EffectiveOrders.mailer[:admin_email].to_s.include?('@') rescue false)
          raise("config.mailer[:admin_email] must be present when refunds enabled.")
        end
      end
    end

    initializer 'effective_orders.stripe', after: :load_config_initializers do
      if EffectiveOrders.stripe?
        begin
          require 'stripe'
          ::Stripe.api_key = EffectiveOrders.stripe[:secret_key]
        rescue Exception
          raise "unable to load stripe. Plese add gem 'stripe' to your Gemfile and then 'bundle install'"
        end
      end
    end

    initializer 'effective_orders.obfuscate_order_ids' do
      if EffectiveOrders.obfuscate_order_ids
        begin
          require 'effective_obfuscation'
        rescue Exception
          raise "unable to load effective_obfuscation. Please add gem 'effective_obfuscation' to your Gemfile and then 'bundle install'"
        end
      end
    end

  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
effective_orders-5.3.2 lib/effective_orders/engine.rb
effective_orders-5.3.1 lib/effective_orders/engine.rb
effective_orders-5.3.0 lib/effective_orders/engine.rb
effective_orders-5.2.17 lib/effective_orders/engine.rb
effective_orders-5.2.16 lib/effective_orders/engine.rb
effective_orders-5.2.15 lib/effective_orders/engine.rb
effective_orders-5.2.14 lib/effective_orders/engine.rb
effective_orders-5.2.13 lib/effective_orders/engine.rb
effective_orders-5.2.12 lib/effective_orders/engine.rb
effective_orders-5.2.11 lib/effective_orders/engine.rb
effective_orders-5.2.10 lib/effective_orders/engine.rb
effective_orders-5.2.9 lib/effective_orders/engine.rb
effective_orders-5.2.8 lib/effective_orders/engine.rb
effective_orders-5.2.7 lib/effective_orders/engine.rb
effective_orders-5.2.6 lib/effective_orders/engine.rb
effective_orders-5.2.5 lib/effective_orders/engine.rb
effective_orders-5.2.4 lib/effective_orders/engine.rb
effective_orders-5.2.3 lib/effective_orders/engine.rb
effective_orders-5.2.2 lib/effective_orders/engine.rb
effective_orders-5.2.1 lib/effective_orders/engine.rb