Module: GetFluxly::Identity
- Defined in:
- lib/getfluxly/identity.rb
Overview
Input validators for track / identify / alias. Field names match the wire shape (snake_case) so callers don’t have to translate.
Class Method Summary collapse
- .require_alias!(user_id:, anonymous_id:, previous_id:) ⇒ Object
- .require_one_id!(anonymous_id:, external_id:, user_id:) ⇒ Object
Class Method Details
.require_alias!(user_id:, anonymous_id:, previous_id:) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/getfluxly/identity.rb', line 18 def require_alias!(user_id:, anonymous_id:, previous_id:) if user_id.nil? || user_id.empty? raise GetFluxly::Error.new("alias requires user_id", code: "validation_error") end return if anonymous_id || previous_id raise GetFluxly::Error.new( "alias requires anonymous_id or previous_id", code: "validation_error" ) end |
.require_one_id!(anonymous_id:, external_id:, user_id:) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/getfluxly/identity.rb', line 9 def require_one_id!(anonymous_id:, external_id:, user_id:) return if anonymous_id || external_id || user_id raise GetFluxly::Error.new( "track / identify requires at least one of anonymous_id, external_id, user_id", code: "validation_error" ) end |