Class: Bookbinder::Commands::Components::CommandOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/bookbinder/commands/components/command_options.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts, base_streams) ⇒ CommandOptions

Returns a new instance of CommandOptions.



7
8
9
10
# File 'lib/bookbinder/commands/components/command_options.rb', line 7

def initialize(opts, base_streams)
  @opts = opts
  @base_streams = base_streams
end

Instance Method Details

#bind_sourceObject



16
17
18
# File 'lib/bookbinder/commands/components/command_options.rb', line 16

def bind_source
  opts.first
end

#local_repo_dirObject



20
21
22
# File 'lib/bookbinder/commands/components/command_options.rb', line 20

def local_repo_dir
  File.expand_path('..') if bind_source == 'local'
end

#optionsObject



24
25
26
# File 'lib/bookbinder/commands/components/command_options.rb', line 24

def options
  opts[1..-1]
end

#ref_overrideObject



28
29
30
# File 'lib/bookbinder/commands/components/command_options.rb', line 28

def ref_override
  'master' if options.include?('--ignore-section-refs')
end

#streamsObject



32
33
34
35
36
# File 'lib/bookbinder/commands/components/command_options.rb', line 32

def streams
  base_streams.merge(
    out: verbosity ? base_streams[:out] : Sheller::DevNull.new,
  )
end

#validate!Object



12
13
14
# File 'lib/bookbinder/commands/components/command_options.rb', line 12

def validate!
  raise CliError::InvalidArguments unless arguments_are_valid?
end

#verbosityObject



38
39
40
# File 'lib/bookbinder/commands/components/command_options.rb', line 38

def verbosity
  options.detect {|arg| arg == '--verbose'}
end