Class: Marv::Project::Functions
- Inherits:
- 
      Object
      
        - Object
- Marv::Project::Functions
 
- Defined in:
- lib/marv/project/builder/functions.rb
Instance Method Summary collapse
- 
  
    
      #clean_folders  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Clean folders. 
- 
  
    
      #clean_functions  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Clean functions. 
- 
  
    
      #clean_includes  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Clean includes. 
- 
  
    
      #copy_folders  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Copy folders. 
- 
  
    
      #copy_functions  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Copy functions. 
- 
  
    
      #copy_functions_files  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Copy functions. 
- 
  
    
      #copy_includes  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Copy includes. 
- 
  
    
      #extra_folders  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Extra folders. 
- 
  
    
      #initialize(builder)  ⇒ Functions 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Initialize functions builder. 
Constructor Details
#initialize(builder) ⇒ Functions
Initialize functions builder
| 6 7 8 9 10 11 | # File 'lib/marv/project/builder/functions.rb', line 6 def initialize(builder) @builder = builder @task = builder.task @project = builder.project @config = builder.project.config end | 
Instance Method Details
#clean_folders ⇒ Object
Clean folders
| 71 72 73 74 75 76 77 78 79 80 81 | # File 'lib/marv/project/builder/functions.rb', line 71 def clean_folders @task.shell.mute do # Clean extra folder from project root extra_folders.each do |folder| source = folder.gsub(@project.source_path, '') target = ::File.join(@project.build_path, source) @task.remove_dir target end end end | 
#clean_functions ⇒ Object
Clean functions
| 14 15 16 17 18 19 20 21 22 23 | # File 'lib/marv/project/builder/functions.rb', line 14 def clean_functions @task.shell.mute do #remove functions and plugin php @task.remove_file ::File.join(@project.build_path, ::File.basename(@project.functions_file)) @task.remove_file ::File.join(@project.build_path, ::File.basename(@project.plugin_file)) # Remove functions folder @task.remove_dir ::File.join(@project.build_path, 'functions') end end | 
#clean_includes ⇒ Object
Clean includes
| 52 53 54 55 56 | # File 'lib/marv/project/builder/functions.rb', line 52 def clean_includes @task.shell.mute do @task.remove_dir ::File.join(@project.build_path, 'includes') end end | 
#copy_folders ⇒ Object
Copy folders
| 84 85 86 87 88 89 90 91 92 93 94 | # File 'lib/marv/project/builder/functions.rb', line 84 def copy_folders @task.shell.mute do # Copy extra folders to project root extra_folders.each do |folder| source = folder.gsub(@project.source_path, '') target = ::File.join(@project.build_path, source) @task.directory folder, target, :force => true end end end | 
#copy_functions ⇒ Object
Copy functions
| 26 27 28 29 30 31 32 33 34 35 36 | # File 'lib/marv/project/builder/functions.rb', line 26 def copy_functions @task.shell.mute do files = copy_functions_files ::Dir.glob(::File.join(@project.functions_path, '*')).each do |file| unless files.include?(file) @task.copy_file file, ::File.join(@project.build_path, 'functions', ::File.basename(file)), :force => true end end end end | 
#copy_functions_files ⇒ Object
Copy functions
| 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/marv/project/builder/functions.rb', line 39 def copy_functions_files files = [@project.functions_file, @project.plugin_file] ::Dir.glob(::File.join(@project.functions_path, '*')).each do |file| if files.include?(file) @task.copy_file file, ::File.join(@project.build_path, ::File.basename(file)), :force => true end end return files end | 
#copy_includes ⇒ Object
Copy includes
| 59 60 61 62 63 64 65 66 67 68 | # File 'lib/marv/project/builder/functions.rb', line 59 def copy_includes @task.shell.mute do ::Dir.glob(::File.join(@project.includes_path, '**', '*')).each do |file| source = file.gsub(@project.source_path, '') target = ::File.join(@project.build_path, source) @task.copy_file file, target, :force => true unless ::File.directory?(file) end end end | 
#extra_folders ⇒ Object
Extra folders
| 97 98 99 100 101 102 103 104 105 106 107 108 | # File 'lib/marv/project/builder/functions.rb', line 97 def extra_folders default = ['assets', 'functions', 'includes', 'templates'] folders = [] # Remove marv folders from root path ::Dir.glob(::File.join(@project.source_path, '*')).each do |folder| if ::File.directory?(folder) and ! default.include?(::File.basename(folder)) folders << folder end end # Return folders array return folders end |