class Shoot::Ngrok

Public Class Methods

new(options) click to toggle source
# File lib/shoot/ngrok.rb, line 10
def initialize(options)
  port = options[:port] || 3000
  @subdomain = options[:subdomain] || generate_subdomain
  params = ["ngrok", "http", port.to_s, "-log=stdout", "-subdomain=#{@subdomain}"]
  params << "-authtoken=#{options[:auth_token]}" if options[:auth_token]
  @process = ChildProcess.build(*params)

  start
end

Public Instance Methods

generate_subdomain() click to toggle source
# File lib/shoot/ngrok.rb, line 20
def generate_subdomain
  "shoot-#{Time.now.to_i}-#{SecureRandom.random_number(10**8)}"
end
url() click to toggle source
# File lib/shoot/ngrok.rb, line 24
def url
  @url ||= "http://#{@subdomain}.ngrok.io"
end