Sha256: c0e235316a470e6682e78706b39d1131d18dc1ce46f22eaf6df5e516498430c0

Contents?: true

Size: 1.77 KB

Versions: 3

Compression:

Stored size: 1.77 KB

Contents

module RailsCustomerbeats
  class Engine < Rails::Engine

    # Initialize configure parameters
    config.rails_customerbeats = ActiveSupport::OrderedOptions.new

    config.rails_customerbeats.ignore_lambdas  = {}
    config.rails_customerbeats.ignore_patterns = [ "start_processing.action_controller", 
                                              "sql.active_record", 
                                              "!render_template.action_view",
                                              "render_partial.action_view",
                                              "render_template.action_view" ]
    
    config.rails_customerbeats.ignore_lambdas['rack.request'] = lambda { |name, payload|
                                    payload[:path] =~ /assets/
                                    }

    initializer "rails_customerbeats.add_middleware" do |app|
      app.config.middleware.use RailsCustomerbeats::Middleware
    end
    
    initializer "static assets" do |app|
      app.middleware.insert_before ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public/assets"
    end
    
    initializer "rails_customerbeats.set_ignores" do |app|
      RailsCustomerbeats.ignore_lambdas.merge!(app.config.rails_customerbeats.ignore_lambdas)
      RailsCustomerbeats.ignore_patterns.concat(app.config.rails_customerbeats.ignore_patterns)
    end

    initializer "rails_customerbeats.set_store" do |app|
      if app.config.rails_customerbeats.set_store
        RailsCustomerbeats.set_store(&app.config.rails_customerbeats.set_store)
      end
    end

    initializer "rails_customerbeats.start_subscriber" do
      ActiveSupport::Notifications.subscribe /[^!]$/ do |*args|
        RailsCustomerbeats.events.push(args) if RailsCustomerbeats.valid_for_storing?(args)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_customerbeats-0.0.5 lib/rails_customerbeats/engine.rb
rails_customerbeats-0.0.4 lib/rails_customerbeats/engine.rb
rails_customerbeats-0.3 lib/rails_customerbeats/engine.rb