Class: Stable::Commands::Share
- Inherits:
-
Object
- Object
- Stable::Commands::Share
- Defined in:
- lib/stable/commands/share.rb
Overview
Share app’s public url
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(app_name, provider: :ngrok, qrcode: false) ⇒ Share
constructor
A new instance of Share.
Constructor Details
#initialize(app_name, provider: :ngrok, qrcode: false) ⇒ Share
Returns a new instance of Share.
7 8 9 10 11 |
# File 'lib/stable/commands/share.rb', line 7 def initialize(app_name, provider: :ngrok, qrcode: false) @app_name = app_name @provider = provider @qrcode = qrcode end |
Instance Method Details
#call ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/stable/commands/share.rb', line 13 def call app = Services::AppRegistry.find(@app_name) abort "App '#{@app_name}' not found" unless app abort "App '#{@app_name}' is not running" unless running?(app) Services::Rails::HostAuthorization.allow_ngrok!(app[:path]) Services::ProcessManager.stop(app) # stop the app Services::ProcessManager.start(app) # restart the app # Pass the real app port here url = Services::Tunneling::Manager .new(provider: @provider) .expose_domain(app[:domain], port: app[:port], skip_ssl: app[:skip_ssl]) puts "🌐 Shared #{@app_name} at:" puts " #{url}" return unless @qrcode Services::Cli::QrCode.print(url) end |