lib/zuora_connect/engine.rb



require 'rails/all'
require 'zuora_connect'
require 'apartment'
require 'httparty'
require 'zuora_api'

module ZuoraConnect
  class Engine < ::Rails::Engine
    isolate_namespace ZuoraConnect

    initializer "connect", before: :load_config_initializers do |app|
      Rails.application.routes.prepend do
        get '/connect/internal/data' => 'zuora_observability/metrics#metrics'
        mount ZuoraConnect::Engine, at: "/connect"
        match '/api/connect/health', via: :all, to: 'zuora_connect/static#health'
        match '/api/connect/internal/data', via: :all, to: 'zuora_observability/metrics#metrics'
      end
    end


    initializer :append_migrations do |app|
      if ZuoraConnect.configuration.insert_migrations
        unless app.root.to_s.match root.to_s
          config.paths["db/migrate"].expanded.each do |expanded_path|
            app.config.paths["db/migrate"] << expanded_path
          end
        end
      end
    end

    config.to_prepare do
      ActionController::Base.send(:include, ZuoraConnect::Controllers::Helpers)
      ActionController::Base.send(:include, ZuoraConnect::Authenticate)
      ActionController::Base.send(:helper, ZuoraConnect::ApplicationHelper)
    end
  end
end