class Epuber::Command::Server

Public Class Methods

new(args) click to toggle source

@param [CLAide::ARGV] args

Calls superclass method Epuber::Command::new
# File lib/epuber/command/server.rb, line 22
def initialize(args)
  super
  @selected_target_name = args.shift_argument
  @open_web_browser = args.flag?('open', false)
end
options() click to toggle source
Calls superclass method
# File lib/epuber/command/server.rb, line 14
def self.options
  [
    ['--open', 'Opens the web page in default web browser, working only on OS X'],
  ].concat(super)
end

Public Instance Methods

run() click to toggle source
Calls superclass method Epuber::Command::run
# File lib/epuber/command/server.rb, line 35
def run
  super

  require_relative '../server'

  target = if @selected_target_name.nil?
             book.buildable_targets.first
           else
             book.target_named(@selected_target_name)
           end

  help!('Not existing target') if target.nil?

  begin
    Epuber::Server.run!(book, target, verbose: verbose?) do |uri|
      if OS.osx?
        if @open_web_browser
          system "open #{uri}"
        else
          UI.info 'Web browser can be automatically opened by adding --open flag, see --help'
        end
      end
    end
  rescue Interrupt
    write_lockfile
    raise
  end
end
validate!() click to toggle source
Calls superclass method
# File lib/epuber/command/server.rb, line 28
def validate!
  super
  verify_one_bookspec_exists!

  pre_build_checks
end