class Ayadn::FileOps

Public Class Methods

cache_list(list, name) click to toggle source
# File lib/ayadn/fileops.rb, line 5
def self.cache_list(list, name)
  File.write(Settings.config.paths.lists + "/.#{name}", list.to_json)
end
cached_list(name) click to toggle source
# File lib/ayadn/fileops.rb, line 9
def self.cached_list(name)
  file_path = Settings.config.paths.lists + "/.#{name}"
  if File.exist?(file_path)
    data = File.read(file_path)
    JSON.load(data)
  else
    nil
  end
end
download_url(name, url) click to toggle source
# File lib/ayadn/fileops.rb, line 46
def self.download_url(name, url)
  file = CNX.get_response_from(url)
  File.write(Settings.config.paths.downloads + "/#{name}", file)
end
get_users(list) click to toggle source
# File lib/ayadn/fileops.rb, line 102
def self.get_users(list)
  h = {}
  list.each {|k,v| h[k] = { username: v[0], name: v[1] }}
  h
end
make_paths(files_array) click to toggle source
# File lib/ayadn/fileops.rb, line 74
def self.make_paths(files_array)
  files_array.map do |file|
    unless File.exist?(file)
      Status.new.bad_path
      exit
    end
    File.absolute_path(file)
  end
end
save_followers_list(list) click to toggle source
# File lib/ayadn/fileops.rb, line 36
def self.save_followers_list(list)
  fr = get_users(list)
  File.write(Settings.config.paths.lists + "/followers.json", fr.to_json)
end
save_followings_list(list) click to toggle source
# File lib/ayadn/fileops.rb, line 31
def self.save_followings_list(list)
  fg = get_users(list)
  File.write(Settings.config.paths.lists + "/followings.json", fg.to_json)
end
save_message(resp) click to toggle source
# File lib/ayadn/fileops.rb, line 27
def self.save_message(resp)
  File.write(Settings.config.paths.messages + "/#{resp['data']['id']}.json", resp['data'].to_json)
end
save_muted_list(list) click to toggle source
# File lib/ayadn/fileops.rb, line 41
def self.save_muted_list(list)
  mt = get_users(list)
  File.write(Settings.config.paths.lists + "/muted.json", mt.to_json)
end
save_post(resp) click to toggle source
# File lib/ayadn/fileops.rb, line 23
def self.save_post(resp)
  File.write(Settings.config.paths.posts + "/#{resp['data']['id']}.json", resp['data'].to_json)
end
upload(file, token) click to toggle source
# File lib/ayadn/fileops.rb, line 58
def self.upload(file, token)
  begin
    case File.extname(file).downcase
    when ".png"
      `curl -k -H 'Authorization: BEARER #{token}' #{Settings.config.api.baseURL}/files -F 'type=com.ayadn.files' -F "content=@#{file};type=image/png" -F 'public=true' -X POST`
    when ".gif"
      `curl -k -H 'Authorization: BEARER #{token}' #{Settings.config.api.baseURL}/files -F 'type=com.ayadn.files' -F "content=@#{file};type=image/gif" -F 'public=true' -X POST`
    else #jpg or jpeg or JPG or JPEG, automatically recognized as such
      `curl -k -H 'Authorization: BEARER #{token}' #{Settings.config.api.baseURL}/files -F 'type=com.ayadn.files' -F "content=@#{file}" -F 'public=true' -X POST`
    end
  rescue Errno::ENOENT
    Status.new.no_curl
    exit
  end
end
upload_avatar(file) click to toggle source
# File lib/ayadn/fileops.rb, line 84
def self.upload_avatar file
  begin
    `curl -X POST -H "Authorization: Bearer #{Settings.user_token}" -F "avatar=@#{file}" #{Endpoints.new.avatar}`
  rescue Errno::ENOENT
    Status.new.no_curl
    exit
  end
end
upload_cover(file) click to toggle source
# File lib/ayadn/fileops.rb, line 93
def self.upload_cover file
  begin
    `curl -X POST -H "Authorization: Bearer #{Settings.user_token}" -F "cover=@#{file}" #{Endpoints.new.cover}`
  rescue Errno::ENOENT
    Status.new.no_curl
    exit
  end
end
upload_files(files) click to toggle source
# File lib/ayadn/fileops.rb, line 51
def self.upload_files files
  files.map do |file|
    puts "\n#{file}\n\n"
    JSON.load(self.upload(file, Settings.user_token))
  end
end