# frozen_string_literal: true

require "statsd-instrument"

# These are basically data, not code, I find them more readable on one line each
# rubocop:disable Layout/LineLength

Registration::Registered.extend StatsD::Instrument
Registration::Registered.statsd_count :write, "registration.registered"

Registration::Activation.extend StatsD::Instrument
Registration::Activation.statsd_count :write, "registration.activation"

Registration::Payment::Bitcoin.extend StatsD::Instrument
Registration::Payment::Bitcoin.statsd_count :write, "registration.payment.bitcoin"

Registration::Payment::CreditCard.extend StatsD::Instrument
Registration::Payment::CreditCard.statsd_count :write, "registration.payment.credit_card"

Registration::Payment::CreditCard::Activate.extend StatsD::Instrument
Registration::Payment::CreditCard::Activate.statsd_count :write, "registration.payment.credit_card.activate"
Registration::Payment::CreditCard::Activate.statsd_count :declined, "registration.payment.credit_card.activate_declined"

Registration::Payment::InviteCode.extend StatsD::Instrument
Registration::Payment::InviteCode.statsd_count :write, "registration.payment.invite_code"

Registration::Payment::Mail.extend StatsD::Instrument
Registration::Payment::Mail.statsd_count :write, "registration.payment.mail"

Registration::Finish.extend StatsD::Instrument
Registration::Finish.statsd_count :write, "registration.finish"

# rubocop:enable Layout/LineLength
