Module: RDaux::CLI

Includes:
Container
Defined in:
lib/rdaux/cli.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Container

#ditaa_jar, #generator, #log_level, #logger, #logging_listener, #markdown, #public_folder, #webapp, #webserver, #website

Instance Attribute Details

#directoryObject (readonly)

Returns the value of attribute directory.



8
9
10
# File 'lib/rdaux/cli.rb', line 8

def directory
  @directory
end

#optionsObject (readonly)

Returns the value of attribute options.



8
9
10
# File 'lib/rdaux/cli.rb', line 8

def options
  @options
end

Instance Method Details

#command(method) ⇒ Object



10
11
12
13
14
15
# File 'lib/rdaux/cli.rb', line 10

def command(method)
  Proc.new do |opts, args|
    process_options(opts)
    send(method, *args)
  end
end

#generate_site(directory = nil) ⇒ Object



32
33
34
35
# File 'lib/rdaux/cli.rb', line 32

def generate_site(directory = nil)
  use_directory(directory)
  generator.generate_static(website)
end

#process_options(options) ⇒ Object



17
18
19
# File 'lib/rdaux/cli.rb', line 17

def process_options(options)
  @options = options
end

#start_serving(directory = nil) ⇒ Object



27
28
29
30
# File 'lib/rdaux/cli.rb', line 27

def start_serving(directory = nil)
  use_directory(directory)
  webserver.serve(website)
end

#use_directory(directory) ⇒ Object



21
22
23
24
25
# File 'lib/rdaux/cli.rb', line 21

def use_directory(directory)
  raise 'PATH is a required argument to serve command' if directory.nil?

  @directory = Pathname(directory)
end