resizor 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/resizor/asset.rb CHANGED
@@ -8,7 +8,7 @@ module Resizor
8
8
 
9
9
  def url(options={})
10
10
  options = {:size => '200', :format => 'jpg'}.merge(options)
11
- "#{Resizor.api_url}/assets/#{id}.#{options[:format]}?size=#{options[:size]}&token=#{resize_token_for(options)}"
11
+ "#{Resizor.api_url(true)}/assets/#{id}.#{options[:format]}?size=#{options[:size]}&token=#{resize_token_for(options)}"
12
12
  end
13
13
 
14
14
  def resize_token_for(options={})
@@ -1,12 +1,13 @@
1
1
  require 'cgi'
2
2
  module Resizor
3
3
  class Connection
4
- attr_accessor :api_host, :api_port, :api_key
4
+ attr_accessor :api_host, :api_port, :api_key, :use_ssl
5
5
 
6
6
  def initialize(options={})
7
7
  @api_host = options[:api_host] || options['api_host'] || 'resizor.com'
8
8
  @api_port = options[:api_port] || options['api_port'] || 80
9
9
  @api_key = options[:api_key] || options['api_key']
10
+ @use_ssl = options[:use_ssl] || options['use_ssl'] || true
10
11
  end
11
12
 
12
13
  def get(request_uri, params={}, append_api_key=true)
@@ -32,8 +33,8 @@ module Resizor
32
33
  end
33
34
  end
34
35
 
35
- def api_url
36
- @api_url ||= "http://#{@api_host}:#{@api_port}"
36
+ def api_url(force_http = false)
37
+ @api_url ||= "#{(@use_ssl == true && force_http == false) ? 'https' : 'http'}://#{@api_host}:#{@api_port}"
37
38
  end
38
39
 
39
40
  protected
@@ -6,7 +6,7 @@ module Resizor
6
6
  extend self
7
7
  extend Forwardable
8
8
  attr_reader :connection
9
- def_delegators :connection, :get, :post, :delete, :api_url, :api_key
9
+ def_delegators :connection, :get, :post, :delete, :api_url, :api_key, :use_ssl
10
10
 
11
11
  def configure
12
12
  yield @connection = Connection.new
@@ -1,3 +1,3 @@
1
1
  module Resizor
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/test/asset_test.rb CHANGED
@@ -41,7 +41,7 @@ class AssetTest < Test::Unit::TestCase
41
41
 
42
42
  context 'on success' do
43
43
  setup do
44
- stub_http_request(:post, "resizor.test/assets.json").
44
+ stub_http_request(:post, "https://resizor.test:80/assets.json").
45
45
  with { |request|
46
46
  request.body.include?("Content-Disposition: form-data; name=\"file\"; filename=\"image.jpg")
47
47
  }.
@@ -51,7 +51,7 @@ class AssetTest < Test::Unit::TestCase
51
51
  end
52
52
 
53
53
  should 'make create call to Resizor on save with file' do
54
- assert_requested(:post, "resizor.test/assets.json",
54
+ assert_requested(:post, "https://resizor.test:80/assets.json",
55
55
  :times => 1) { |request|
56
56
  request.body.include?("Content-Disposition: form-data; name=\"file\"; filename=\"image.jpg")
57
57
  }
@@ -69,7 +69,7 @@ class AssetTest < Test::Unit::TestCase
69
69
 
70
70
  context 'on failure' do
71
71
  should 'return false' do
72
- stub_http_request(:post, "resizor.test/assets.json").to_return(:status => 422)
72
+ stub_http_request(:post, "https://resizor.test:80/assets.json").to_return(:status => 422)
73
73
  assert !@asset.save_to_resizor
74
74
  end
75
75
  end
@@ -77,18 +77,18 @@ class AssetTest < Test::Unit::TestCase
77
77
 
78
78
  context 'when destroying an asset' do
79
79
  should 'make delete call to Resizor on destroy' do
80
- stub_http_request(:delete, "resizor.test/assets/10.json?api_key=test-api-key").to_return(:status => 200)
80
+ stub_http_request(:delete, "https://resizor.test:80/assets/10.json?api_key=test-api-key").to_return(:status => 200)
81
81
  @asset.destroy
82
- assert_requested :delete, "resizor.test/assets/10.json?api_key=test-api-key", :times => 1
82
+ assert_requested :delete, "https://resizor.test:80/assets/10.json?api_key=test-api-key", :times => 1
83
83
  end
84
84
 
85
85
  should 'return true on success' do
86
- stub_http_request(:delete, "resizor.test/assets/10.json?api_key=test-api-key").to_return(:status => 200)
86
+ stub_http_request(:delete, "https://resizor.test:80/assets/10.json?api_key=test-api-key").to_return(:status => 200)
87
87
  assert @asset.destroy
88
88
  end
89
89
 
90
90
  should 'return false on failure' do
91
- stub_http_request(:delete, "resizor.test/assets/10.json?api_key=test-api-key").to_return(:status => 404)
91
+ stub_http_request(:delete, "https://resizor.test:80/assets/10.json?api_key=test-api-key").to_return(:status => 404)
92
92
  assert !@asset.destroy
93
93
  end
94
94
  end
@@ -24,17 +24,17 @@ class IntegrationTest < Test::Unit::TestCase
24
24
  File.open(@image_fixture_path, 'w') {|f| f.write('JPEG data') }
25
25
  @file = File.new(@image_fixture_path, 'rb')
26
26
  @item.image = @file
27
- stub_http_request(:post, "resizor.test/assets.json").
27
+ stub_http_request(:post, "https://resizor.test:80/assets.json").
28
28
  with { |request| request.body.include?("Content-Disposition: form-data; name=\"file\"; filename=\"image.jpg") }.
29
29
  to_return(:status => 201, :body => '{"asset": { "id":1, "name":"i", "extension":"jpg", "mime_type":"image/jpeg", "height":7, "width":8, "file_size":9, "created_at":"2010-10-23T13:07:25Z"}}')
30
- stub_http_request(:delete, "resizor.test/assets/1.json?api_key=test-api-key").to_return(:status => 200)
30
+ stub_http_request(:delete, "https://resizor.test:80/assets/1.json?api_key=test-api-key").to_return(:status => 200)
31
31
  end
32
32
 
33
33
  teardown { File.unlink(@image_fixture_path) }
34
34
 
35
35
  should 'save attached asset to Resizor on save' do
36
36
  assert @item.save
37
- assert_requested(:post, "resizor.test/assets.json", :times => 1) do |request|
37
+ assert_requested(:post, "https://resizor.test:80/assets.json", :times => 1) do |request|
38
38
  request.body.include?("Content-Disposition: form-data; name=\"file\"; filename=\"image.jpg")
39
39
  end
40
40
  end
@@ -75,14 +75,14 @@ class IntegrationTest < Test::Unit::TestCase
75
75
  [:image_resizor_id, :image_name, :image_mime_type, :image_size, :image_width, :image_height].each do |_attr|
76
76
  assert_nil @item.send(_attr)
77
77
  end
78
- assert_requested :delete, "resizor.test/assets/1.json?api_key=test-api-key", :times => 1
78
+ assert_requested :delete, "https://resizor.test:80/assets/1.json?api_key=test-api-key", :times => 1
79
79
  end
80
80
 
81
81
  should 'delete resizor asset when model instance is deleted' do
82
82
  @item.save
83
83
  @item.reload
84
84
  assert @item.destroy
85
- assert_requested :delete, "resizor.test/assets/1.json?api_key=test-api-key", :times => 1
85
+ assert_requested :delete, "https://resizor.test:80/assets/1.json?api_key=test-api-key", :times => 1
86
86
  end
87
87
 
88
88
  end
data/test/resizor_test.rb CHANGED
@@ -16,12 +16,20 @@ class ResizorTest < Test::Unit::TestCase
16
16
 
17
17
  context 'When Resizor gem has been setup it' do
18
18
  setup { setup_resizor }
19
- should 'return a API url' do
19
+ should 'default to use ssl' do
20
+ assert Resizor.use_ssl
21
+ end
22
+ should 'return a API https url when use_ssl is set to true' do
23
+ assert_equal 'https://resizor.test:80', Resizor.api_url
24
+ end
25
+
26
+ should 'return a API http url when use_ssl is set to false' do
27
+ Resizor.connection.use_ssl = false
20
28
  assert_equal 'http://resizor.test:80', Resizor.api_url
21
29
  end
22
30
 
23
31
  should 'make a GET request to Resizor server with API key' do
24
- stub_http_request(:get, "resizor.test:80/assets.json?api_key=test-api-key").to_return(:body => '{"a": "123"}')
32
+ stub_http_request(:get, "https://resizor.test:80/assets.json?api_key=test-api-key").to_return(:body => '{"a": "123"}')
25
33
  Resizor.get('/assets.json').tap do |r|
26
34
  assert_equal 200, r.code
27
35
  assert_equal Hash['a', '123'], r.body
@@ -29,7 +37,7 @@ class ResizorTest < Test::Unit::TestCase
29
37
  end
30
38
 
31
39
  should 'make a POST request to Resizor server with API key' do
32
- stub_http_request(:post, "resizor.test:80/assets.json").with(:body => 'api_key=test-api-key').to_return(:body => '{"a": "123"}', :status => 201)
40
+ stub_http_request(:post, "https://resizor.test:80/assets.json").with(:body => 'api_key=test-api-key').to_return(:body => '{"a": "123"}', :status => 201)
33
41
  Resizor.post('/assets.json').tap do |r|
34
42
  assert_equal 201, r.code
35
43
  assert_equal Hash['a', '123'], r.body
@@ -37,7 +45,7 @@ class ResizorTest < Test::Unit::TestCase
37
45
  end
38
46
 
39
47
  should 'make a DELETE request to Resizor server with API key' do
40
- stub_http_request(:delete, "resizor.test:80/assets/1.json?api_key=test-api-key")
48
+ stub_http_request(:delete, "https://resizor.test:80/assets/1.json?api_key=test-api-key")
41
49
  Resizor.delete('/assets/1.json').tap do |r|
42
50
  assert_equal 200, r.code
43
51
  assert_equal nil, r.body
@@ -45,21 +53,21 @@ class ResizorTest < Test::Unit::TestCase
45
53
  end
46
54
 
47
55
  should 'add params along with API key when generating GET URL' do
48
- stub_http_request(:get, "resizor.test:80/assets.json?api_key=test-api-key&id=1")
56
+ stub_http_request(:get, "https://resizor.test:80/assets.json?api_key=test-api-key&id=1")
49
57
  Resizor.get('/assets.json', :id => 1)
50
- assert_requested :get, "resizor.test:80/assets.json?api_key=test-api-key&id=1"
58
+ assert_requested :get, "https://resizor.test:80/assets.json?api_key=test-api-key&id=1"
51
59
  end
52
60
 
53
61
  should 'add params along with API key when generating POST URL' do
54
- stub_http_request(:post, "resizor.test:80/assets.json").with(:body => 'api_key=test-api-key&id=1')
62
+ stub_http_request(:post, "https://resizor.test:80/assets.json").with(:body => 'api_key=test-api-key&id=1')
55
63
  Resizor.post('/assets.json', :id => 1)
56
- assert_requested :post, "resizor.test:80/assets.json"
64
+ assert_requested :post, "https://resizor.test:80/assets.json"
57
65
  end
58
66
 
59
67
  should 'add params along with API key when generating DELETE URL' do
60
- stub_http_request(:delete, "resizor.test:80/assets.json?api_key=test-api-key&id=1")
68
+ stub_http_request(:delete, "https://resizor.test:80/assets.json?api_key=test-api-key&id=1")
61
69
  Resizor.delete('/assets.json', :id => 1)
62
- assert_requested :delete, "resizor.test:80/assets.json?api_key=test-api-key&id=1"
70
+ assert_requested :delete, "https://resizor.test:80/assets.json?api_key=test-api-key&id=1"
63
71
  end
64
72
 
65
73
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resizor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Winston Design
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-16 00:00:00 +01:00
18
+ date: 2010-11-22 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency