Class: Imager::ServerInterface

Inherits:
Object
  • Object
show all
Defined in:
lib/imager/server_interface.rb

Class Method Summary collapse

Class Method Details

.clientObject



61
62
63
64
65
66
# File 'lib/imager/server_interface.rb', line 61

def self.client
  unless Imager::ServerClient.base_uri
    Imager::ServerClient.base_uri Imager.base_uri + '/' + Imager.manager_path
  end
  Imager::ServerClient
end

.delete(collection, album, file_id) ⇒ Object

Parameters:

  • Collection (String)

    for save the image

  • Album (String)

    for save the image

  • File (String)

    id

Raises:

  • (ImagerError)

    if collection or album or file_id is wrong

  • (ArgumentError)

    when something with server comunication is wrong



51
52
53
54
55
56
57
58
59
# File 'lib/imager/server_interface.rb', line 51

def self.delete(collection, album, file_id)
  query = {}
  query[:collection] = collection
  query[:album]      = album
  query[:file_id]    = file_id
  query[:auth]       = auth_token(query)

  return parse client.post('/delete.php', query: query), true
end

.post(collection, album, file, sizes, file_id = nil) ⇒ void

This method returns an undefined value.

Parameters:

  • Collection (String)

    for save the image

  • Album (String)

    for save the image

  • The (UploadIO, File, String)

    image file or the path to it

  • Sizes (Hash)
  • File (String)

    id. if passed file_id will be this instead of file.original_filename or File.basename(file).

Raises:

  • (ImagerError)

    if some server validation failed.

  • (ArgumentError)

    when something with server comunication is wrong



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/imager/server_interface.rb', line 19

def self.post(collection, album, file, sizes, file_id = nil)
  raise Imager::ImagerError "File is empty", caller unless file

  if file.is_a?(String)
    raise Imager::ImagerError, "File is not a file", caller unless File.file?(file)
    file = File.new(file)
  end

  query = {}
  query[:collection] = collection
  query[:album]      = album
  query[:sizes]      = sizes

  query[:file_id]    = file_id
  query[:file_id]  ||= file.original_filename if file.respond_to?(:original_filename)
  query[:file_id]  ||= File.basename(file)

  # Remove file extension
  query[:file_id].gsub!(/(\..{3,4})\z/i, '')

  auth = auth_token(query, file)
  query[:file] = file
  query[:auth] = auth

  return parse client.post('/post.php', query: query)
end