# frozen_string_literal: true require "active_support/core_ext/module/attribute_accessors" require "active_support/core_ext/string/inflections" require_relative "haku/core" require_relative "haku/eventable" require_relative "haku/railtie" if defined?(Rails) require_relative "haku/resourceable" require_relative "haku/version" module Haku mattr_accessor :enable_in_action_controller_base, default: true mattr_accessor :enable_in_action_controller_api, default: true mattr_accessor :event_model, default: "Event" mattr_accessor :event_properties, default: %i[actor resource target context] mattr_accessor :event_property_for_name, default: :name mattr_accessor :event_name, default: proc { chain = self.class.name.underscore.split("/") (chain[0...-1].map(&:singularize) + [chain.last]).join(":") } class << self def configure yield self end end end