Class: CommandTower::Serializers::Me::PushoverSerializer

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(safe_view) ⇒ PushoverSerializer

Returns a new instance of PushoverSerializer.



23
24
25
# File 'app/serializers/command_tower/serializers/me/pushover_serializer.rb', line 23

def initialize(safe_view)
  @safe_view = safe_view
end

Class Method Details

.serialize(safe_view) ⇒ Object



7
8
9
# File 'app/serializers/command_tower/serializers/me/pushover_serializer.rb', line 7

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

.unconfiguredObject



11
12
13
14
15
16
17
18
19
20
21
# File 'app/serializers/command_tower/serializers/me/pushover_serializer.rb', line 11

def self.unconfigured
  {
    configured: false,
    actions: {
      canCreate: true,
      canVerify: false,
      canReplace: false,
      canRemove: false
    }
  }
end

Instance Method Details

#serializeObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/serializers/command_tower/serializers/me/pushover_serializer.rb', line 27

def serialize
  return self.class.unconfigured if @safe_view.nil?

  {
    configured: true,
    id: @safe_view.id,
    channelKey: @safe_view.channel_key,
    lifecycleState: @safe_view.lifecycle_state,
    verificationState: @safe_view.verification_state,
    maskedDisplayValue: @safe_view.masked_display_value,
    credentialsConfigured: !!@safe_view.credentials_configured,
    verifiedAt: @safe_view.verified_at&.iso8601,
    createdAt: @safe_view.created_at&.iso8601,
    updatedAt: @safe_view.updated_at&.iso8601,
    actions: actions_for(@safe_view)
  }
end