Class: Aqueduct::Repositories::Developer

Inherits:
Object
  • Object
show all
Includes:
Aqueduct::Repository
Defined in:
lib/aqueduct/repositories/developer.rb

Instance Method Summary collapse

Methods included from Aqueduct::Repository

included, #initialize

Instance Method Details

#count_files(file_locators, file_type) ⇒ Object

Returns a list of urls to download files



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/aqueduct/repositories/developer.rb', line 9

def count_files(file_locators, file_type)
  error = ''
  result = 0
  file_paths = []
  url_paths = []
  file_locators.each do |file_locator|
    file_locator = file_locator.to_s.gsub(/[\/*]/, '') # Don't allow wild cards or subfolders
    file_type = file_type.to_s.gsub(/[\/*]/, '')       # Don't allow wild cards or subfolders
    matching_file_names = Dir.glob(File.join(Rails.root, 'test', 'support', 'repositories', "#{file_locator}#{file_type}"))
    matching_file_names.each do |file_name|
      file_paths << file_name unless file_name.blank?
      url_paths << SITE_URL + "/sources/#{@source.id}/download_file?file_locator=#{file_locator}&file_type=#{file_type}&fn=#{file_name.split('/').last}" unless file_name.blank?
    end
  end

  { result: url_paths.size, error: error, file_paths: file_paths, urls: url_paths }
end

#file_server_available?Boolean



37
38
39
# File 'lib/aqueduct/repositories/developer.rb', line 37

def file_server_available?
  { result: true, error: "" }
end

#get_file(file_locator, file_type) ⇒ Object

Only For Local repositories.



28
29
30
31
# File 'lib/aqueduct/repositories/developer.rb', line 28

def get_file(file_locator, file_type)
  result_hash = count_files([file_locator], file_type)
  { file_path: result_hash[:file_paths].first.to_s, error: result_hash[:error] }
end

#has_repository?Boolean



33
34
35
# File 'lib/aqueduct/repositories/developer.rb', line 33

def has_repository?
  { result: true, error: "" }
end