thumbor_rails 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -11,7 +11,7 @@ thumbor_rails is a client to make easier to use the thumbor imaging service (htt
11
11
  You can use this gem by putting the following inside your Gemfile:
12
12
 
13
13
  ```
14
- gem "thumbor_rails", "1.0.1"
14
+ gem "thumbor_rails", "1.1.0"
15
15
  ```
16
16
 
17
17
  Now generate the thumbor basic client configuration:
@@ -1,3 +1,3 @@
1
1
  module ThumborRails
2
- VERSION = '1.0.1'
2
+ VERSION = '1.1.0'
3
3
  end
data/lib/thumbor_rails.rb CHANGED
@@ -5,7 +5,7 @@ module ThumborRails
5
5
  @@server_url = 'http://thumbor.example.com'
6
6
 
7
7
  mattr_accessor :security_key
8
- @@security_key = 'MY_SECURITY_KEY'
8
+ @@security_key = nil
9
9
 
10
10
  mattr_accessor :force_no_protocol_in_source_url
11
11
  @@force_no_protocol_in_source_url = false
@@ -1,50 +1,77 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ThumborRails::Helpers do
4
+ let(:params) { { } }
5
+
4
6
  include ThumborRails::Helpers
5
7
 
6
- describe "#thumbor_url" do
7
- it 'should generate a basic encrypted url' do
8
- expect(thumbor_url('http://test.img')).to eq('http://thumbor.example.com/yPVDsGJsQKjKky_cdbkNuIpc9-A=/http://test.img')
8
+ before do
9
+ ThumborRails.setup do |config|
10
+ config.security_key = 'MY_SECURITY_KEY'
11
+ end
12
+ end
13
+
14
+ describe 'interpolate thumbor hosts with %d to 0-3, like Rails asset_host' do
15
+ subject { thumbor_url('http://test.img') }
16
+ let!(:original_url) { ThumborRails.server_url }
17
+ before { ThumborRails.server_url = server_url }
18
+ after { ThumborRails.server_url = original_url }
19
+
20
+ context 'when url is set to "http://thumbor%d.com"' do
21
+ let(:server_url) { 'http://thumbor%d.com' }
22
+ it { should eq('http://thumbor3.com/yPVDsGJsQKjKky_cdbkNuIpc9-A=/http://test.img') }
23
+ end
24
+ end
25
+
26
+ describe 'automatically remove the protocol in source urls' do
27
+ subject { thumbor_url("#{protocol}test.img", unsafe: true) }
28
+ before { ThumborRails.force_no_protocol_in_source_url = true }
29
+ after { ThumborRails.force_no_protocol_in_source_url = false }
30
+
31
+ context 'when http' do
32
+ let(:protocol) { 'http://' }
33
+ it { should eq "http://thumbor.example.com/unsafe/test.img" }
9
34
  end
10
35
 
11
- it 'should allow unsafe urls' do
12
- expect(thumbor_url('http://test.img', unsafe: true)).to eq('http://thumbor.example.com/unsafe/http://test.img')
36
+ context 'when https' do
37
+ let(:protocol) { 'https://' }
38
+ it { should eq "http://thumbor.example.com/unsafe/test.img" }
13
39
  end
14
40
 
15
- it 'should pass arguments to thumbor' do
16
- expect(thumbor_url('http://test.img', unsafe: true, width: 100, height: 200)).to eq('http://thumbor.example.com/unsafe/100x200/http://test.img')
41
+ context 'when no protocol' do
42
+ let(:protocol) { 'www.' }
43
+ it { should eq "http://thumbor.example.com/unsafe/www.test.img" }
17
44
  end
45
+ end
46
+
47
+ describe '#thumbor_url' do
48
+ subject { thumbor_url('http://test.img', params) }
18
49
 
19
- it 'should interpolate thumbor hosts with %d to 0-3, like Rails asset_host' do
20
- original_url = ThumborRails.server_url
21
- begin
22
- ThumborRails.server_url = "http://thumbor%d.com"
23
- expect(thumbor_url('http://test.img')).to eq('http://thumbor3.com/yPVDsGJsQKjKky_cdbkNuIpc9-A=/http://test.img')
24
- ensure
25
- ThumborRails.server_url = original_url
26
- end
50
+ context 'basic encrypted url' do
51
+ it { should eq('http://thumbor.example.com/yPVDsGJsQKjKky_cdbkNuIpc9-A=/http://test.img') }
27
52
  end
28
53
 
29
- it 'should automatically remove the protocol in source urls if configured to do so' do
30
- begin
31
- ThumborRails.force_no_protocol_in_source_url = true
32
- expect(thumbor_url('http://test.img', unsafe: true)).to eq('http://thumbor.example.com/unsafe/test.img')
33
- expect(thumbor_url('https://test.img', unsafe: true)).to eq('http://thumbor.example.com/unsafe/test.img')
34
- expect(thumbor_url('www.test.img', unsafe: true)).to eq('http://thumbor.example.com/unsafe/www.test.img')
35
- ensure
36
- ThumborRails.force_no_protocol_in_source_url = false
37
- end
54
+ context 'allow unsafe urls' do
55
+ let(:params) { { unsafe: true } }
56
+ it { should eq('http://thumbor.example.com/unsafe/http://test.img') }
57
+ end
58
+
59
+ context 'pass arguments to thumbor' do
60
+ let(:params) { { unsafe: true, width: 100, height: 200 } }
61
+ it { should eq('http://thumbor.example.com/unsafe/100x200/http://test.img') }
38
62
  end
39
63
  end
40
64
 
41
65
  describe '#thumbor_image_tag' do
42
- it 'should return a simple image' do
43
- expect(thumbor_image_tag('http://myimg.jpg')).to eq('<img alt="Myimg" src="http://thumbor.example.com/Q-1lWnxlCLnkzXWWM5xTAs1QEBM=/http://myimg.jpg" />')
66
+ subject { thumbor_image_tag('http://myimg.jpg', params) }
67
+
68
+ context 'unsafe disabled' do
69
+ it { should eq('<img alt="Myimg" src="http://thumbor.example.com/Q-1lWnxlCLnkzXWWM5xTAs1QEBM=/http://myimg.jpg" />') }
44
70
  end
45
71
 
46
- it 'should pass arguments to thumbor' do
47
- expect(thumbor_image_tag('http://myimg.jpg', unsafe: true)).to eq('<img alt="Myimg" src="http://thumbor.example.com/unsafe/http://myimg.jpg" />')
72
+ context 'unsafe enabled' do
73
+ let(:params) { { unsafe: true } }
74
+ it { should eq('<img alt="Myimg" src="http://thumbor.example.com/unsafe/http://myimg.jpg" />') }
48
75
  end
49
76
  end
50
77
  end
metadata CHANGED
@@ -1,69 +1,78 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thumbor_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Rafael Caricio
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-10-04 00:00:00.000000000 Z
12
+ date: 2014-11-07 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: ruby-thumbor
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ">="
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: 1.2.1
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ">="
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.2.1
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rspec
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - ">="
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - ">="
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rb-fsevent
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - "~>"
51
+ - - ~>
46
52
  - !ruby/object:Gem::Version
47
53
  version: 0.9.1
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - "~>"
59
+ - - ~>
53
60
  - !ruby/object:Gem::Version
54
61
  version: 0.9.1
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rake
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - ">="
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - ">="
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  description: thumbor_rails is a client for the thumbor imaging service (http://github.com/globocom/thumbor)
@@ -74,40 +83,41 @@ executables: []
74
83
  extensions: []
75
84
  extra_rdoc_files: []
76
85
  files:
77
- - README.md
78
86
  - lib/generators/thumbor_rails/install_generator.rb
79
87
  - lib/generators/thumbor_rails/templates/config/initializers/thumbor_rails.rb
80
- - lib/thumbor_rails.rb
81
88
  - lib/thumbor_rails/helpers.rb
82
89
  - lib/thumbor_rails/version.rb
90
+ - lib/thumbor_rails.rb
91
+ - README.md
83
92
  - spec/spec_helper.rb
84
93
  - spec/thumbor_rails/helpers_spec.rb
85
94
  - spec/thumbor_rails_spec.rb
86
95
  homepage: https://github.com/rafaelcaricio/thumbor_rails
87
96
  licenses:
88
97
  - MIT
89
- metadata: {}
90
98
  post_install_message:
91
99
  rdoc_options:
92
- - "--main"
100
+ - --main
93
101
  - README.md
94
102
  require_paths:
95
103
  - lib
96
104
  required_ruby_version: !ruby/object:Gem::Requirement
105
+ none: false
97
106
  requirements:
98
- - - ">="
107
+ - - ! '>='
99
108
  - !ruby/object:Gem::Version
100
109
  version: '0'
101
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
+ none: false
102
112
  requirements:
103
- - - ">="
113
+ - - ! '>='
104
114
  - !ruby/object:Gem::Version
105
115
  version: '0'
106
116
  requirements: []
107
117
  rubyforge_project:
108
- rubygems_version: 2.2.2
118
+ rubygems_version: 1.8.23
109
119
  signing_key:
110
- specification_version: 4
120
+ specification_version: 3
111
121
  summary: thumbor_rails is a client to manage and generate urls for the thumbor imaging
112
122
  service (http://github.com/globocom/thumbor) for Ruby and Rails projects.
113
123
  test_files:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: bad68a7ed8543235144e2705d07c387e3d7f1e57
4
- data.tar.gz: 7fd9a6ad0ebe2cc28476556c4db8809b25c3e5cc
5
- SHA512:
6
- metadata.gz: 4c0c700222289d6e6abd0b68a8f1e433ed2b9baab97fe50b734f70405be2fb2b90f2d91e96817555de06b42e8e9a99d20a731502d93837c34d76ec23d3d020ba
7
- data.tar.gz: 0b234e44156f368e60f87922cb477ed1697198a8314ecad863d3addd469780e22ee5640a13417ecf56525fb3509e6dff8ce5f7a258479011a40635ff9184a42a