Class: Ticket::Replicator::FileReplicator

Inherits:
Object
  • Object
show all
Defined in:
lib/ticket/replicator/file_replicator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(replicator, extracted_path) ⇒ FileReplicator

Returns a new instance of FileReplicator.



24
25
26
27
# File 'lib/ticket/replicator/file_replicator.rb', line 24

def initialize(replicator, extracted_path)
  @replicator = replicator
  @extracted_path = extracted_path
end

Instance Attribute Details

#extracted_pathObject (readonly)

Returns the value of attribute extracted_path.



22
23
24
# File 'lib/ticket/replicator/file_replicator.rb', line 22

def extracted_path
  @extracted_path
end

#replicatorObject (readonly)

Returns the value of attribute replicator.



22
23
24
# File 'lib/ticket/replicator/file_replicator.rb', line 22

def replicator
  @replicator
end

Class Method Details

.load(replicator, transformed_path) ⇒ Object



12
13
14
# File 'lib/ticket/replicator/file_replicator.rb', line 12

def self.load(replicator, transformed_path)
  FileLoader.run_on(replicator.jira_project, transformed_path)
end

.run_on(replicator, extracted_path) ⇒ Object



8
9
10
# File 'lib/ticket/replicator/file_replicator.rb', line 8

def self.run_on(replicator, extracted_path)
  new(replicator, extracted_path).run
end

.transform(replicator, extracted_path) ⇒ Object



16
17
18
# File 'lib/ticket/replicator/file_replicator.rb', line 16

def self.transform(replicator, extracted_path)
  new(replicator, extracted_path).transform
end

Instance Method Details

#archive_extracted_fileObject



48
49
50
# File 'lib/ticket/replicator/file_replicator.rb', line 48

def archive_extracted_file
  FileUtils.mv(extracted_path, archived_path)
end

#archived_pathObject



58
59
60
# File 'lib/ticket/replicator/file_replicator.rb', line 58

def archived_path
  File.join(replicator.archived_folder, "#{timestamp}.#{File.basename(extracted_path)}")
end

#delete_transformed_fileObject



44
45
46
# File 'lib/ticket/replicator/file_replicator.rb', line 44

def delete_transformed_file
  FileUtils.rm(transformed_path)
end

#loadObject



36
37
38
# File 'lib/ticket/replicator/file_replicator.rb', line 36

def load
  self.class.load(replicator, transformed_path)
end

#runObject



29
30
31
32
33
34
# File 'lib/ticket/replicator/file_replicator.rb', line 29

def run
  transform
  load
  delete_transformed_file
  archive_extracted_file
end

#timestampObject



62
63
64
# File 'lib/ticket/replicator/file_replicator.rb', line 62

def timestamp
  Jira::Auto::Tool::Helpers::OverridableTime.now.strftime("%Y-%m-%d.%Hh%Mm%S")
end

#transformObject



40
41
42
# File 'lib/ticket/replicator/file_replicator.rb', line 40

def transform
  FileTransformer.run_on(extracted_path, transformed_path)
end

#transformed_pathObject



52
53
54
55
56
# File 'lib/ticket/replicator/file_replicator.rb', line 52

def transformed_path
  @transformed_path ||=
    extracted_path.sub(/#{Regexp.escape(replicator.extracted_folder)}/, replicator.transformed_folder)
                  .sub(/\.xlsx$/, ".csv")
end