infomeme_client 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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