Class: Looks::Gravatar::Account

Inherits:
Object
  • Object
show all
Defined in:
lib/looks/gravatar/account.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Account

Returns a new instance of Account.



13
14
15
16
# File 'lib/looks/gravatar/account.rb', line 13

def initialize(config)
  @password = config.password
  @server   = XMLRPC::Client.new_from_uri(Gravatar.url(config.address))
end

Instance Method Details

#addressesObject



18
19
20
21
22
23
24
25
26
# File 'lib/looks/gravatar/account.rb', line 18

def addresses
  addresses = []

  call('grav.addresses').each do |key, value|
    addresses.push Address.new_from_addresses(key, value)
  end

  addresses.sort
end

#delete_image(image) ⇒ Object



44
45
46
# File 'lib/looks/gravatar/account.rb', line 44

def delete_image(image)
  call('grav.deleteUserimage', { 'userimage' => image })
end

#imagesObject



28
29
30
31
32
33
34
35
36
# File 'lib/looks/gravatar/account.rb', line 28

def images
  images = []

  call('grav.userimages').each do |key, value|
    images.push Image.new_from_images(key, value)
  end

  images.sort
end

#remove_image(address) ⇒ Object



55
56
57
58
59
# File 'lib/looks/gravatar/account.rb', line 55

def remove_image(address)
  call('grav.removeImage', {
    'addresses' => [ address ]
  })
end

#save_data(image) ⇒ Object



38
39
40
41
42
# File 'lib/looks/gravatar/account.rb', line 38

def save_data(image)
  data = Base64.encode64(image)

  call('grav.saveData', { 'data' => data, 'rating' => 0 })
end

#use_image(address, id) ⇒ Object



48
49
50
51
52
53
# File 'lib/looks/gravatar/account.rb', line 48

def use_image(address, id)
  call('grav.useUserimage', {
    'userimage' => id,
    'addresses' => [ address ]
  })
end