Sha256: b95c31ef179c6e9791b3dec281083c3f099f4ba4c8084d0b86b984bd83103b00

Contents?: true

Size: 709 Bytes

Versions: 1

Compression:

Stored size: 709 Bytes

Contents

# 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/resourceable"
require_relative "haku/version"

module Haku
  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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
haku-1.3.0 lib/haku.rb