Class: Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/ebngen/generate.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options, logger = nil) ⇒ Generator

Returns a new instance of Generator.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/ebngen/generate.rb', line 9

def initialize(options, logger = nil)
  @logger = logger 
  unless (logger)
      @logger = Logger.new(STDOUT)
      @logger.level = Logger::INFO
  end
  @generator_variable = options
  if @generator_variable.class != Hash
    puts "failure options shall be a hash"
    return
  end
  if @generator_variable.has_key?('all') and @generator_variable.has_key?('paths')
    @logger.info "input setting is ok"
  else
    @logger.info "input settings is wrong"
  end
end

Instance Attribute Details

#generator_variableObject

Returns the value of attribute generator_variable.



8
9
10
# File 'lib/ebngen/generate.rb', line 8

def generator_variable
  @generator_variable
end

Instance Method Details

#generate_project_set(tool_chain, project_data) ⇒ Object



38
39
40
41
42
43
44
45
46
47
# File 'lib/ebngen/generate.rb', line 38

def generate_project_set(tool_chain, project_data)
  case tool_chain.downcase
  when 'iar'
  	 IAR::Project_set.new(project_data, @generator_variable, @logger).generator()
  when 'mdk'
  	MDK::Project_set.new(project_data, @generator_variable, @logger).generator()
  when 'cmake'
  	@logger.info "cmake TBD"
	end  
end

#generate_projects(tool_chain, filter, project_data) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/ebngen/generate.rb', line 27

def generate_projects(tool_chain, filter, project_data)
  case tool_chain.downcase
  when 'iar'
  	IAR::Project.new(project_data, @generator_variable, @logger).generator(filter, project_data)
  when 'mdk'
  	MDK::Project.new(project_data, @generator_variable, @logger).generator(filter, project_data)
  when 'cmake'
  	CMAKE::Project.new(project_data, @generator_variable, @logger).generator(filter, project_data)
	end
end