Class: Octofart::Tasks::DataMapping
- Inherits:
-
Object
- Object
- Octofart::Tasks::DataMapping
- Defined in:
- lib/octofart/tasks/data_mapping.rb
Instance Method Summary collapse
- #clear(params) ⇒ Object
- #init_repo_data(repo_name, repositories) ⇒ Object
- #register_task(repositories, tasks, options = {}) ⇒ Object
- #run(params) ⇒ Object
- #search(text:, org:) ⇒ Object
Instance Method Details
#clear(params) ⇒ Object
57 58 59 60 |
# File 'lib/octofart/tasks/data_mapping.rb', line 57 def clear(params) params.delete(:items) params.delete(:tasks) end |
#init_repo_data(repo_name, repositories) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/octofart/tasks/data_mapping.rb', line 33 def init_repo_data(repo_name, repositories) puts "Initializing metadata for #{repo_name}..." repositories[repo_name] ||= {} repositories[repo_name][:tasks] ||= [] repositories[repo_name][:base_branch] ||= {} repositories[repo_name][:head_branch] ||= {} puts repositories[repo_name] end |
#register_task(repositories, tasks, options = {}) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/octofart/tasks/data_mapping.rb', line 44 def register_task(repositories, tasks, = {}) puts "Registering task for #{[:repo_name]}..." task = tasks.find { |t| t[:id] == [:task_id] } repositories[[:repo_name]][:tasks] << task.merge(path: [:path]) puts task end |
#run(params) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/octofart/tasks/data_mapping.rb', line 5 def run(params) params[:tasks].each do |task| items = search(text: task[:find], org: params[:organization]) items.each do |item| repo_name = item.repository.full_name init_repo_data(repo_name, params[:repositories]) task_attrs = { path: item.path, task_id: task[:id], repo_name: repo_name, } task_args = [ params[:repositories], params[:tasks], task_attrs ] register_task(*task_args) end end clear(params) params end |