Class: Hackle::IdentifiersBuilder
- Inherits:
-
Object
- Object
- Hackle::IdentifiersBuilder
- Defined in:
- lib/hackle/internal/identifiers/identifier_builder.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add(identifier_type, identifier_value) ⇒ Hackle::IdentifiersBuilder
- #add_all(identifiers) ⇒ Hackle::IdentifiersBuilder
- #build ⇒ Hash{String => String}
-
#initialize ⇒ IdentifiersBuilder
constructor
A new instance of IdentifiersBuilder.
Constructor Details
#initialize ⇒ IdentifiersBuilder
Returns a new instance of IdentifiersBuilder.
7 8 9 10 |
# File 'lib/hackle/internal/identifiers/identifier_builder.rb', line 7 def initialize # @type [Hash{String => String}] @identifiers = {} end |
Class Method Details
.sanitize_value_or_nil(identifier_value) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/hackle/internal/identifiers/identifier_builder.rb', line 41 def self.sanitize_value_or_nil(identifier_value) return nil if identifier_value.nil? if identifier_value.is_a?(String) && !identifier_value.empty? && identifier_value.length <= MAX_IDENTIFIER_VALUE_LENGTH return identifier_value end return identifier_value.to_s if identifier_value.is_a?(Numeric) nil end |
Instance Method Details
#add(identifier_type, identifier_value) ⇒ Hackle::IdentifiersBuilder
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/hackle/internal/identifiers/identifier_builder.rb', line 15 def add(identifier_type, identifier_value) value = IdentifiersBuilder.sanitize_value_or_nil(identifier_value) if valid_type?(identifier_type) && !value.nil? @identifiers[identifier_type] = value else Log.get.warn { "Invalid user identifier [type=#{identifier_type}] value=#{identifier_value}]" } end self end |
#add_all(identifiers) ⇒ Hackle::IdentifiersBuilder
29 30 31 32 33 34 |
# File 'lib/hackle/internal/identifiers/identifier_builder.rb', line 29 def add_all(identifiers) identifiers.each do |identifier_type, identifier_value| add(identifier_type, identifier_value) end self end |
#build ⇒ Hash{String => String}
37 38 39 |
# File 'lib/hackle/internal/identifiers/identifier_builder.rb', line 37 def build @identifiers.dup end |