Class: Cbt::Component

Inherits:
Object
  • Object
show all
Defined in:
lib/cbt/component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, conf) ⇒ Component

Returns a new instance of Component.



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/cbt/component.rb', line 56

def initialize name, conf
  @name, @conf = name, conf
  
  # if no modules defined, use the name as default
  @conf["lua_modules"] = Array.new unless @conf["lua_modules"] 
  @conf["lua_modules"] << @name if @conf["lua_modules"].size == 0
    
  @conf["assets"] = Array.new unless @conf["assets"]

  # parse module definitions, convert to objects
  @modules, @assets = {}, {} # name => object pair
  @conf["lua_modules"].each do |lname|
    raise "invalid lua module name '#{lname}'" unless /^[a-zA-Z][\<a-zA-Z_0-9]+$/.match(lname)
    @modules[lname] = LuaModule.new(@name, lname)
  end

  @conf["assets"].each do |asset|
    @assets[asset] = AssetFile.new(@name, asset)
  end
end

Instance Attribute Details

#assetsObject

Returns the value of attribute assets.



54
55
56
# File 'lib/cbt/component.rb', line 54

def assets
  @assets
end

#modulesObject

Returns the value of attribute modules.



54
55
56
# File 'lib/cbt/component.rb', line 54

def modules
  @modules
end

#nameObject

Returns the value of attribute name.



54
55
56
# File 'lib/cbt/component.rb', line 54

def name
  @name
end

Instance Method Details

#dir(base_dir) ⇒ Object

where the module/asset files are located



82
83
84
# File 'lib/cbt/component.rb', line 82

def dir base_dir
  File.join(base_dir, @name).gsub(/\/$/, '')
end

#tagObject



77
78
79
# File 'lib/cbt/component.rb', line 77

def tag
  @conf["tag"]
end

#ws_dir(base_dir, platform) ⇒ Object

target working space directory



87
88
89
# File 'lib/cbt/component.rb', line 87

def ws_dir base_dir, platform
  File.join(base_dir, @name + '_' + platform).gsub(/\/$/, '')
end