Method: RokuBuilder::Linker#deeplink

Defined in:
lib/roku_builder/plugins/linker.rb

Deeplink to an app



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/roku_builder/plugins/linker.rb', line 35

def deeplink(options:)
  if options.has_source?
    Loader.new(config: @config).sideload(options: options)
  end
  app_id = options[:app_id]
  app_id ||= "dev"
  path = "/launch/#{app_id}"
  payload = RokuBuilder.options_parse(options: options[:deeplink])

  unless payload.keys.count > 0
    @logger.warn "No options sent to launched app"
  else
    payload = parameterize(payload)
    path = "#{path}?#{payload}"
    @logger.info "Deeplink:"
    @logger.info payload
    @logger.info "CURL:"
    @logger.info "curl -d '' '#{@url}:8060#{path}'"
  end

  response = multipart_connection(port: 8060).post path
  @logger.fatal("Failed Deeplinking") unless response.success?
end