Sha256: e430531bba39a1e631daf7628739d27f6808f939a29621710277db58c338e58f

Contents?: true

Size: 1.53 KB

Versions: 14

Compression:

Stored size: 1.53 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.each do |item|
        next unless item.is_a?(Hash) && item.key?(:payments_attributes)

        item[:payments_attributes].each do |sub_item|
          next unless sub_item.is_a?(Hash) && sub_item.key?(:source_attributes)

          sub_item[:source_attributes].push(:kind)
        end
        item[:payments_attributes].push(:nexio_apm_transaction_id)
      end

      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

14 entries across 14 versions & 1 rubygems

Version Path
solidus_nexio-1.0.1 lib/solidus_nexio/engine.rb
solidus_nexio-1.0.0 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.12 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.11 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.10 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.9 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.8 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.7 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.6 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.5 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.4 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.3 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.1 lib/solidus_nexio/engine.rb
solidus_nexio-0.7.0 lib/solidus_nexio/engine.rb