Class: CommandTower::Serializers::Me::ExperienceStates::ExperienceStateSerializer

Inherits:
Object
  • Object
show all
Defined in:
app/serializers/command_tower/serializers/me/experience_states/experience_state_serializer.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(state) ⇒ ExperienceStateSerializer

Returns a new instance of ExperienceStateSerializer.



18
19
20
# File 'app/serializers/command_tower/serializers/me/experience_states/experience_state_serializer.rb', line 18

def initialize(state)
  @state = state
end

Class Method Details

.serialize(state) ⇒ Object



8
9
10
# File 'app/serializers/command_tower/serializers/me/experience_states/experience_state_serializer.rb', line 8

def self.serialize(state)
  new(state).serialize
end

.serialize_collection(states) ⇒ Object



12
13
14
15
16
# File 'app/serializers/command_tower/serializers/me/experience_states/experience_state_serializer.rb', line 12

def self.serialize_collection(states)
  {
    experienceStates: Array(states).map { |state| serialize(state) },
  }
end

Instance Method Details

#serialize ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'app/serializers/command_tower/serializers/me/experience_states/experience_state_serializer.rb', line 22

def serialize
  {
    hostKey: @state.host_key,
    experienceKey: @state.experience_key,
    scopeType: @state.scope_type,
    scopeIdentifier: @state.scope_identifier,
    version: @state.version,
    completedAt: @state.completed_at&.iso8601,
  }
end