Class: Rake::FileTask
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
          Task
         | |
| Instance Chain: 
          self,
          Task
         | |
| Inherits: | Rake::Task 
 | 
| Defined in: | lib/rake/file_task.rb | 
Overview
A FileTask is a task that includes time based dependencies. If any of a FileTask's prerequisites have a timestamp that is later than the file represented by this task, then the file must be rebuilt (using the supplied actions).
Class Method Summary
- 
    
      .scope_name(scope, task_name)  
    
    Apply the scope to the task name according to the rules for this kind of task. 
Task - Inherited
| .[] | Return a task with the given name. | 
| .clear | Clear the task list. | 
| .create_rule | Define a rule for synthesizing tasks. | 
| .define_task | Define a task given  | 
| .new | Create a task named  | 
| .scope_name | Apply the scope to the task name according to the rules for this kind of task. | 
| .task_defined? | TRUE if the task name is already defined. | 
| .tasks | List of all defined tasks. | 
Instance Attribute Summary
- 
    
      #needed?  ⇒ Boolean 
    
    readonly
    Is this file task needed? Yes if it doesn't exist, or if its time stamp is out of date. 
Task - Inherited
| #application | Application owning this task. | 
| #comment | First line (or sentence) of all comments. | 
| #sources, | |
| #sources= | List of sources for task. | 
| #actions | List of actions attached to a task. | 
| #already_invoked | Has this task already been invoked? Already invoked tasks will be skipped unless you reenable them. | 
| #locations | File/Line locations of each of the task definitions for this task (only valid if the task was defined with the detect location option set). | 
| #needed? | Is this task needed? | 
| #prerequisites | List of prerequisites for a task. | 
| #scope | Array of nested namespaces names used for task lookup by this task. | 
Instance Method Summary
- 
    
      #timestamp  
    
    Time stamp for file task. 
- 
    
      #out_of_date?(stamp)  ⇒ Boolean 
    
    private
    Are there any prerequisites with a later time than the given time stamp? 
Task - Inherited
| #add_description | Add a description to the task. | 
| #all_prerequisite_tasks | List of all unique prerequisite tasks including prerequisite tasks' prerequisites. | 
| #arg_names | Name of arguments for this task. | 
| #clear | Clear the existing prerequisites, actions, comments, and arguments of a rake task. | 
| #clear_actions | Clear the existing actions on a rake task. | 
| #clear_args | Clear the existing arguments on a rake task. | 
| #clear_comments | Clear the existing comments on a rake task. | 
| #clear_prerequisites | Clear the existing prerequisites of a rake task. | 
| #enhance | Enhance a task with prerequisites or actions. | 
| #execute | Execute the actions associated with this task. | 
| #full_comment | Full collection of comments. | 
| #investigation | Return a string describing the internal state of a task. | 
| #invoke | Invoke the task if it is needed. | 
| #name | Name of the task, including any namespace qualifiers. | 
| #prerequisite_tasks | List of prerequisite tasks. | 
| #reenable | Reenable the task, allowing its tasks to be executed if the task is invoked again. | 
| #set_arg_names | Set the names of the arguments for this task. | 
| #source | First source from a rule (nil if no sources). | 
| #timestamp | Timestamp for this task. | 
| #to_s | Return task name. | 
| #first_sentence | Get the first sentence in a string. | 
| #format_trace_flags | Format the trace flags for display. | 
| #transform_comments | Transform the list of comments as specified by the block and join with the separator. | 
Constructor Details
This class inherits a constructor from Rake::Task
Class Method Details
.scope_name(scope, task_name)
Apply the scope to the task name according to the rules for this kind of task. File based tasks ignore the scope when creating the name.
# File 'lib/rake/file_task.rb', line 41
def scope_name(scope, task_name) Rake.from_pathname(task_name) end
Instance Attribute Details
    #needed?  ⇒ Boolean  (readonly)
  
Is this file task needed? Yes if it doesn't exist, or if its time stamp is out of date.
# File 'lib/rake/file_task.rb', line 15
def needed? ! File.exist?(name) || out_of_date?() || @application..build_all end
Instance Method Details
    #out_of_date?(stamp)  ⇒ Boolean  (private)
  
Are there any prerequisites with a later time than the given time stamp?
# File 'lib/rake/file_task.rb', line 31
def out_of_date?(stamp) @prerequisites.any? { |n| application[n, @scope]. > stamp } end
#timestamp
Time stamp for file task.