Class: CommandTower::Messaging::Endpoints::Create

Inherits:
Object
  • Object
show all
Defined in:
app/services/command_tower/messaging/endpoints/create.rb

Overview

Local persist only. Never contacts providers (Pushover Transport included).

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(owner_user_id:, channel_key:, address:, credentials:) ⇒ Create

Returns a new instance of Create.



12
13
14
15
16
17
# File 'app/services/command_tower/messaging/endpoints/create.rb', line 12

def initialize(owner_user_id:, channel_key:, address:, credentials:)
  @owner_user_id = owner_user_id
  @channel_key = channel_key.to_s
  @address = address
  @credentials = credentials
end

Class Method Details

.call(owner_user_id:, channel_key:, address: nil, credentials: nil) ⇒ Object



8
9
10
# File 'app/services/command_tower/messaging/endpoints/create.rb', line 8

def self.call(owner_user_id:, channel_key:, address: nil, credentials: nil)
  new(owner_user_id:, channel_key:, address:, credentials:).call
end

Instance Method Details

#callObject



19
20
21
22
23
24
25
26
27
# File 'app/services/command_tower/messaging/endpoints/create.rb', line 19

def call
  ChannelGate.assert_endpoint_backed!(@channel_key)

  if Endpoint.typed_credentials_channel?(@channel_key)
    create_typed_credentials
  else
    create_address_backed
  end
end