Sha256: 340d1a12e3ac3a2adbed9229f8b7bc9600a2cb63d6c9dfca2f3ee231ae4fa21d

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require 'solidus_support'

module SolidusNexio
  class Engine < Rails::Engine
    include SolidusSupport::EngineExtensions

    isolate_namespace SolidusNexio
    engine_name 'solidus_nexio'

    config.assets.precompile.push('solidus_nexio/checkout.js')

    config.to_prepare do
      if SolidusSupport.frontend_available?
        ::Spree::CheckoutController.helper CheckoutHelper
        ::Spree::OrdersController.helper CheckoutHelper
      end

      ::Spree::Admin::PaymentsController.helper CheckoutHelper if SolidusSupport.backend_available?
    end

    config.after_initialize do |app|
      app.config.spree.payment_methods << SolidusNexio::PaymentMethod
      ::Spree::PermittedAttributes.source_attributes.push(:encrypted_number)
      app.config.spree.payment_methods << SolidusNexio::AlternativePaymentMethod
      ::Spree::PermittedAttributes.checkout_payment_attributes[0][:payments_attributes].push(:nexio_apm_transaction_id)
      SolidusNexio::Engine.routes.default_url_options = app.routes.default_url_options
    end

    unless Rails.env.production?
      initializer 'solidus_nexio.setup_gateway_logger' do
        ActiveMerchant::Billing::NexioGateway.logger = Rails.logger
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_nexio-0.5.1 lib/solidus_nexio/engine.rb
solidus_nexio-0.5.0 lib/solidus_nexio/engine.rb