Class: SharedTasks::Task
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- SharedTasks::Task
- Defined in:
- lib/shared_tasks.rb
Class Method Summary collapse
- .file_date ⇒ Object
- .file_name ⇒ Object
- .file_route ⇒ Object
- .load_and_run_task(task = file_name) ⇒ Object
- .load_file ⇒ Object
- .route ⇒ Object
- .run_single_task(name, task) ⇒ Object
- .run_task(task = file_name) ⇒ Object
- .run_tasks ⇒ Object
Instance Method Summary collapse
Class Method Details
.file_date ⇒ Object
138 139 140 |
# File 'lib/shared_tasks.rb', line 138 def file_date @file.split("_").shift end |
.file_name ⇒ Object
134 135 136 |
# File 'lib/shared_tasks.rb', line 134 def file_name @file.split("_").drop(1).join("_").split(".").remove_last.first end |
.file_route ⇒ Object
130 131 132 |
# File 'lib/shared_tasks.rb', line 130 def file_route "lib/shared_tasks/#{@file}" end |
.load_and_run_task(task = file_name) ⇒ Object
96 97 98 99 |
# File 'lib/shared_tasks.rb', line 96 def load_and_run_task(task = file_name) load_file run_task(task) end |
.load_file ⇒ Object
101 102 103 |
# File 'lib/shared_tasks.rb', line 101 def load_file load(file_route) end |
.route ⇒ Object
126 127 128 |
# File 'lib/shared_tasks.rb', line 126 def route "lib/shared_tasks" end |
.run_single_task(name, task) ⇒ Object
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/shared_tasks.rb', line 85 def run_single_task(name, task) @file = Dir.entries(route).select {|f| (!File.directory?(f) && f.include?("#{name}")) }.first if @file && File.exist?(file_route) load_and_run_task(task) else = "There isnt a file with name given" puts .center(100, ".") raise end end |
.run_task(task = file_name) ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/shared_tasks.rb', line 105 def run_task(task = file_name) class_name = "#{file_name.camelize}Shared".constantize puts "Start at #{Time.zone.now}" if task == file_name class_name.methods(false).each do || if != :destroy_actions && != :_validators puts "Running: #{.to_s} at #{Time.zone.now}" eval("#{class_name}.#{.to_s}") end end else if class_name.methods(false).include?(task.to_sym) puts "Running single task: #{task} at #{Time.zone.now}" eval("#{class_name}.#{task}") else raise "There isnt a task with name given => #{class_name}.#{task} " end end puts "End at #{Time.zone.now}" end |
.run_tasks ⇒ Object
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/shared_tasks.rb', line 73 def run_tasks puts "Running shared tasks" files = Dir.entries(route).select {|f| !File.directory?(f)} files.each do |file| @file = file SharedTasks::Task.where(task: file_date).first_or_create do load_and_run_task if File.exist?(file_route) end end end |
Instance Method Details
#rollback_actions ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/shared_tasks.rb', line 26 def rollback_actions @file = Dir.entries(route).select {|f| !File.directory?(f) && f.include?(self.task) }.first if @file && File.exist?(file_route) load_file run_task("destroy_actions") else = "There isnt a file with name given - destroying data" puts .center(100, ".") end end |