infomeme_client 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -2,8 +2,8 @@ module InfomemeClient::Functions::User
2
2
  attr_accessor :default_language, :default_currency
3
3
 
4
4
  def register(email, username, password, firstname, lastname, optional_fields = {})
5
- optional_fields.set(:language_code, optional_fields.key?(:language) ? optional_fields.delete(:language) : default_language) #language is mandatory
6
- optional_fields.set(:currency_code, optional_fields.key?(:currency) ? optional_fields.delete(:currency) : default_currency) #currency is mandatory
5
+ optional_fields.store(:language_code, optional_fields.key?(:language) ? optional_fields.delete(:language) : default_language) #language is mandatory
6
+ optional_fields.store(:currency_code, optional_fields.key?(:currency) ? optional_fields.delete(:currency) : default_currency) #currency is mandatory
7
7
  handle_response :post, "/users/register", optional_fields.merge({:email => email, :username => username, :password => password, :firstname => firstname, :lastname => lastname}) do
8
8
  authorize_with_credentials username, password and return true
9
9
  end
@@ -55,14 +55,21 @@ module InfomemeClient::Functions::UserMeme
55
55
 
56
56
  def upload(meme_id, file)
57
57
  upload_url = upload_for_meme(meme_id, true)
58
- if upload_url
59
- url = URI.parse(upload_url)
60
- req = Net::HTTP::Post::Multipart.new url.path, generate_signature.merge({:meme_id => meme_id, :file => file})
61
- resp = Net::HTTP.start(url.host, url.port) {|http| http.request(req)}
62
- resp == Net::HTTPSuccess
58
+ http_multipart(upload_url, generate_signature.merge({:meme_id => meme_id, :file => file})) if upload_url
59
+ end
60
+
61
+ def image_upload_for_meme(meme_id)
62
+ return false unless authorized?
63
+ handle_response :get, "/users/#{verified_user}/memes/#{meme_id}/image_upload_parameters" do |resp|
64
+ resp.image_upload_parameters unless resp.error?
63
65
  end
64
66
  end
65
67
 
68
+ def upload_image(meme_id, file)
69
+ upload_params = image_upload_for_meme(meme_id)
70
+ http_multipart("https://#{upload_params.bucket}.s3.amazonaws.com/", upload_params.reject {|k,v| k == :bucket}.merge({:file => file})) if upload_params
71
+ end
72
+
66
73
  def rate(meme_id, rating)
67
74
  return false unless authorized?
68
75
  handle_response :post, "/users/#{verified_user}/memes/#{meme_id}/rates", {:rating => rating}
@@ -91,4 +98,11 @@ module InfomemeClient::Functions::UserMeme
91
98
  return false unless authorized?
92
99
  handle_response method, "/users/#{verified_user}/memes/#{meme_id}" + (cmd.nil? ? "" : "/#{cmd}"), params, headers
93
100
  end
101
+
102
+ def http_multipart(url, params)
103
+ url = URI.parse(url)
104
+ req = Net::HTTP::Post::Multipart.new url.path, params
105
+ resp = Net::HTTP.start(url.host, url.port) {|http| http.request(req)}
106
+ resp == Net::HTTPSuccess
107
+ end
94
108
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infomeme_client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Infomeme Ltd.
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-15 00:00:00 +02:00
18
+ date: 2010-07-20 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency