Class: Instrumentality::HeaderGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/instrumentality/header_generator.rb

Defined Under Namespace

Classes: HeaderGeneratorError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instrument, verbose = false) ⇒ HeaderGenerator

Returns a new instance of HeaderGenerator.



12
13
14
15
# File 'lib/instrumentality/header_generator.rb', line 12

def initialize(instrument, verbose = false)
  @instrument = instrument
  @verbose = verbose
end

Instance Attribute Details

#instrumentObject (readonly)

Returns the value of attribute instrument.



10
11
12
# File 'lib/instrumentality/header_generator.rb', line 10

def instrument
  @instrument
end

#verboseObject (readonly)

Returns the value of attribute verbose.



10
11
12
# File 'lib/instrumentality/header_generator.rb', line 10

def verbose
  @verbose
end

Instance Method Details

#generateObject



17
18
19
20
21
22
23
24
# File 'lib/instrumentality/header_generator.rb', line 17

def generate
  path_for_header = Finder.path_for_header("#{instrument}.d")
  raise HeaderGeneratorError, "Couldn't find header for #{instrument} instrument".red unless File.exist?(path_for_header)
  dtrace_cmd = %w[dtrace]
  dtrace_cmd += %W[-h -s #{path_for_header}]
  cmd = dtrace_cmd.join(' ')
  Executor.execute(cmd, verbose)
end