Class: PaperHouse::LibraryTask

Inherits:
BuildTask
  • Object
show all
Defined in:
lib/paper_house/library_task.rb

Overview

Common base class for static, shared, and ruby library tasks.

Instance Attribute Summary

Attributes inherited from BuildTask

#cc, #name, #target_directory

Attributes included from CcOptions

#cflags, #includes, #sources

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BuildTask

#target_path

Constructor Details

#initialize(name, &block) ⇒ LibraryTask

Returns a new instance of LibraryTask.



20
21
22
23
# File 'lib/paper_house/library_task.rb', line 20

def initialize(name, &block)
  @library_dependencies = []
  super name, &block
end

Class Method Details

.find_by_name(name) ⇒ LibraryTask

Find a LibraryTask by name.

Returns:



10
11
12
13
14
15
16
17
# File 'lib/paper_house/library_task.rb', line 10

def self.find_by_name(name)
  ObjectSpace.each_object(self) do |each|
    obj_name = each.name
    next if !Rake::Task.task_defined?(obj_name) || obj_name != name.to_s
    return each
  end
  nil
end

Instance Method Details

#library_nameObject

Name of library.



26
27
28
# File 'lib/paper_house/library_task.rb', line 26

def library_name
  (@library_name ||= @name).to_s
end

#library_name=(name) ⇒ Object

Name of library.



31
32
33
34
# File 'lib/paper_house/library_task.rb', line 31

def library_name=(name)
  new_name = name.to_s
  @library_name = /\Alib/ =~ new_name ? new_name : 'lib' + new_name
end

#lnameObject

Name of library pass to -l option.



37
38
39
# File 'lib/paper_house/library_task.rb', line 37

def lname
  library_name.sub(/^lib/, '')
end