class CivicSIPSdk::UserData

Attributes

data_items[R]
user_id[R]

Public Class Methods

new(user_id:, data_items:) click to toggle source

Creates a UserData insteance, which creates a list of UserDataItem instances from data_items.

@param user_id [String] user id @param data_items [List] a list of Hash that contains the key-value pairs

for instantiating CivicSIPSdk::UserDataItem instances
# File lib/civic_sip_sdk/user_data.rb, line 15
def initialize(user_id:, data_items:)
  @user_id = user_id
  @data_items = data_items
  @indexed_data_items = index_data_items
end

Public Instance Methods

by_label(label:) click to toggle source

Returns a UserDataItem instance by matching the value of label, or nil if the label doesn't exist

# File lib/civic_sip_sdk/user_data.rb, line 23
def by_label(label:)
  @indexed_data_items.fetch(label, nil)
end

Private Instance Methods

index_data_items() click to toggle source
# File lib/civic_sip_sdk/user_data.rb, line 29
def index_data_items
  @data_items.each_with_object({}) do |data_item, memo|
    memo[data_item['label']] = UserDataItem.new(
      label: data_item['label'],
      value: data_item['value'],
      is_valid: data_item['isValid'],
      is_owner: data_item['isOwner']
    )
  end
end