thumbor_rails 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3827ec3b7c254eca96c76a1af932e3d85eca7ca3
4
+ data.tar.gz: 4b1da71a4cd139527c7c69ada08b6b967caa2212
5
+ SHA512:
6
+ metadata.gz: 39651de5c049c410ab62489963d31afa79ed8f33c11a860225f893680655978c6d137095ef3495ec9d5fd856b8493a02fa05ab9ebf138e4a1ac0bc199ee9e1ae
7
+ data.tar.gz: 00987193f3ac1bab73d1913b1754cdca6a22c33f412ab4221b068119bca6a672099338e1ffc67113a39e3aacebdf21087ee31022729b98039763dd3334ebde76
data/README.md CHANGED
@@ -20,10 +20,12 @@ Now generate the thumbor basic client configuration:
20
20
  rails g thumbor_rails:install
21
21
  ```
22
22
 
23
- It will generate the basic configuration in `config/initializers/thumbor_rails.rb` and you have to update the values of `server_url` to point to your thumbor server and the `security_key` to have your security key.
24
- If `server_url` contains `%d`, it will be interpolated to 0-3, [just like `asset_host` for Rails](http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html).
23
+ It will generate the basic configuration in `config/initializers/thumbor_rails.rb`, which has the following configuration options available:
24
+
25
+ - `server_url`. _Required_. The location of your Thumbor server. If `server_url` contains `%d`, it will be interpolated to 0-3, [just like `asset_host` for Rails](http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html).
26
+ - `sercurity_key`. Optional. This must match your [Thumbor server's security key](https://github.com/thumbor/thumbor/wiki/Security#stopping-tampering).
27
+ - `force_no_protocol_in_source_url`. Optional, defaults to `false`. If true, the protocol is removed from any image source passed into `thumbor_url`. This may be done for aesthetic reasons, or due to certain CDN/server configurations.
25
28
 
26
- That's all.
27
29
 
28
30
  ## Usage
29
31
 
@@ -66,6 +68,8 @@ Will result in something like:
66
68
 
67
69
  - Rafael Caricio ([@rafaelcaricio](https://coderwall.com/rafaelcaricio))
68
70
 
71
+ and [contributors](https://github.com/rafaelcaricio/thumbor_rails/graphs/contributors).
72
+
69
73
  ## Contributing
70
74
 
71
75
  1. Fork it
@@ -5,6 +5,10 @@ module ThumborRails
5
5
  include ActionView::Helpers::AssetTagHelper
6
6
 
7
7
  def thumbor_url(image_url, options = {})
8
+ if ThumborRails.force_no_protocol_in_source_url
9
+ image_url.sub!(/^http(s|):\/\//, '')
10
+ end
11
+
8
12
  options[:image] = image_url
9
13
  thumbor_service = crypto_service
10
14
  thumbor_service = unsafe_service if options[:unsafe]
@@ -1,3 +1,3 @@
1
1
  module ThumborRails
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
data/lib/thumbor_rails.rb CHANGED
@@ -7,6 +7,9 @@ module ThumborRails
7
7
  mattr_accessor :security_key
8
8
  @@security_key = 'MY_SECURITY_KEY'
9
9
 
10
+ mattr_accessor :force_no_protocol_in_source_url
11
+ @@force_no_protocol_in_source_url = false
12
+
10
13
  def self.setup
11
14
  yield self
12
15
  end
@@ -25,6 +25,17 @@ describe ThumborRails::Helpers do
25
25
  ThumborRails.server_url = original_url
26
26
  end
27
27
  end
28
+
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
38
+ end
28
39
  end
29
40
 
30
41
  describe '#thumbor_image_tag' do
@@ -15,6 +15,10 @@ describe ThumborRails do
15
15
  expect(subject).to respond_to 'server_url'
16
16
  end
17
17
 
18
+ it 'has force_no_protocol_in_source_url attibute' do
19
+ expect(subject).to respond_to 'force_no_protocol_in_source_url'
20
+ end
21
+
18
22
  describe 'when configured' do
19
23
  before do
20
24
  subject.setup do |config|
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thumbor_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.1.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Rafael Caricio
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-07-10 00:00:00.000000000 Z
11
+ date: 2014-07-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: ruby-thumbor
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.2.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.2.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rb-fsevent
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,17 +55,15 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  description: thumbor_rails is a client for the thumbor imaging service (http://github.com/globocom/thumbor)
@@ -95,6 +86,7 @@ files:
95
86
  homepage: https://github.com/rafaelcaricio/thumbor_rails
96
87
  licenses:
97
88
  - MIT
89
+ metadata: {}
98
90
  post_install_message:
99
91
  rdoc_options:
100
92
  - --main
@@ -102,22 +94,20 @@ rdoc_options:
102
94
  require_paths:
103
95
  - lib
104
96
  required_ruby_version: !ruby/object:Gem::Requirement
105
- none: false
106
97
  requirements:
107
- - - ! '>='
98
+ - - '>='
108
99
  - !ruby/object:Gem::Version
109
100
  version: '0'
110
101
  required_rubygems_version: !ruby/object:Gem::Requirement
111
- none: false
112
102
  requirements:
113
- - - ! '>='
103
+ - - '>='
114
104
  - !ruby/object:Gem::Version
115
105
  version: '0'
116
106
  requirements: []
117
107
  rubyforge_project:
118
- rubygems_version: 1.8.23
108
+ rubygems_version: 2.1.3
119
109
  signing_key:
120
- specification_version: 3
110
+ specification_version: 4
121
111
  summary: thumbor_rails is a client to manage and generate urls for the thumbor imaging
122
112
  service (http://github.com/globocom/thumbor) for Ruby and Rails projects.
123
113
  test_files: