Class: RakeDependencies::Tasks::Extract

Inherits:
RakeFactory::Task
  • Object
show all
Defined in:
lib/rake_dependencies/tasks/extract.rb

Overview

rubocop:disable Metrics/ClassLength

Instance Method Summary collapse

Instance Method Details

#extObject



146
147
148
149
150
151
152
153
154
155
# File 'lib/rake_dependencies/tasks/extract.rb', line 146

def ext
  case resolved_type
  when :tar_gz then '.tar.gz'
  when :tgz then '.tgz'
  when :zip then '.zip'
  when :uncompressed then ''
  else
    raise "Unknown type: #{type}"
  end
end

#extractor_for_extensionObject



126
127
128
# File 'lib/rake_dependencies/tasks/extract.rb', line 126

def extractor_for_extension
  extractors[resolved_type]
end

#interpolate_file_name_template(parameters) ⇒ Object



106
107
108
# File 'lib/rake_dependencies/tasks/extract.rb', line 106

def interpolate_file_name_template(parameters)
  interpolate_template(file_name_template, parameters)
end

#interpolate_source_binary_name_template(parameters) ⇒ Object



114
115
116
# File 'lib/rake_dependencies/tasks/extract.rb', line 114

def interpolate_source_binary_name_template(parameters)
  interpolate_template(source_binary_name_template, parameters)
end

#interpolate_strip_path_template(parameters) ⇒ Object



110
111
112
# File 'lib/rake_dependencies/tasks/extract.rb', line 110

def interpolate_strip_path_template(parameters)
  interpolate_template(strip_path_template, parameters)
end

#interpolate_target_binary_name_template(parameters) ⇒ Object



118
119
120
# File 'lib/rake_dependencies/tasks/extract.rb', line 118

def interpolate_target_binary_name_template(parameters)
  interpolate_template(target_binary_name_template, parameters)
end

#interpolate_template(template, parameters) ⇒ Object



100
101
102
103
104
# File 'lib/rake_dependencies/tasks/extract.rb', line 100

def interpolate_template(template, parameters)
  Template.new(template)
          .with_parameters(parameters)
          .render
end

#parametersObject

rubocop:enable Metrics/BlockLength



90
91
92
93
94
95
96
97
98
# File 'lib/rake_dependencies/tasks/extract.rb', line 90

def parameters
  {
    version:,
    platform:,
    platform_cpu_name:,
    platform_os_name:,
    ext:
  }
end

#platformObject



130
131
132
# File 'lib/rake_dependencies/tasks/extract.rb', line 130

def platform
  Gem::Platform.local
end

#platform_cpu_nameObject



138
139
140
# File 'lib/rake_dependencies/tasks/extract.rb', line 138

def platform_cpu_name
  platform_cpu_names[platform.cpu.to_sym]
end

#platform_os_nameObject



134
135
136
# File 'lib/rake_dependencies/tasks/extract.rb', line 134

def platform_os_name
  platform_os_names[platform.os.to_sym]
end

#relative_to_path(other) ⇒ Object



122
123
124
# File 'lib/rake_dependencies/tasks/extract.rb', line 122

def relative_to_path(other)
  File.join(path, other)
end

#resolved_typeObject



142
143
144
# File 'lib/rake_dependencies/tasks/extract.rb', line 142

def resolved_type
  type.is_a?(Hash) ? type[platform.os.to_sym].to_sym : type.to_sym
end