thumbor_rails 0.0.0 → 0.1.0
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.
- checksums.yaml +4 -4
- data/README.md +74 -0
- data/lib/generators/thumbor_rails/install_generator.rb +12 -0
- data/lib/generators/thumbor_rails/templates/config/initializers/thumbor_rails.rb +4 -0
- data/lib/thumbor_rails/helpers.rb +30 -0
- data/lib/thumbor_rails/version.rb +1 -1
- data/lib/thumbor_rails.rb +10 -4
- data/spec/spec_helper.rb +3 -0
- data/spec/thumbor_rails/helpers_spec.rb +29 -0
- data/spec/thumbor_rails_spec.rb +29 -0
- metadata +16 -7
- data/README.rdoc +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f945ed803b05c9cd5c033721e72c3e5a948ef03
|
4
|
+
data.tar.gz: 98812b81213e952bbd2afa9fe7c7b7e5965b7789
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bef58317da733d42ce7271e8340e0570408d984580cbb09cc585cf90c7c9b6cad26709c638b7b218240aa0c00daf19e7ec02fbe1dcf57dad512046ad314a381
|
7
|
+
data.tar.gz: 44a48b1e8734047f3f2a2dedae7f5bb5b328a3335a46cf11ccf70a274e5bd9880ee3aff486cef5126ff00f28a73d8359fe8c4c2c52a95a23c8ccaa0a1a4da2b0
|
data/README.md
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
# Thumbor Rails [<img src="https://secure.travis-ci.org/rafaelcaricio/thumbor_rails.png?branch=master" alt="Build Status" />](https://travis-ci.org/rafaelcaricio/thumbor_rails)
|
2
|
+
|
3
|
+
https://github.com/rafaelcaricio/thumbor_rails
|
4
|
+
|
5
|
+
## DESCRIPTION
|
6
|
+
|
7
|
+
thumbor_rails is a client to make easier to use the thumbor imaging service (http://github.com/globocom/thumbor) in Ruby and Rails projects.
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
You can use this gem by putting the following inside your Gemfile:
|
12
|
+
|
13
|
+
```
|
14
|
+
gem "thumbor_rails", "0.1.0"
|
15
|
+
```
|
16
|
+
|
17
|
+
Now generate the thumbor basic client configuration:
|
18
|
+
|
19
|
+
```
|
20
|
+
rails g thumbor_rails:install
|
21
|
+
```
|
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
|
+
|
25
|
+
That's all.
|
26
|
+
|
27
|
+
## Usage
|
28
|
+
|
29
|
+
There are two basic helpers you can use in your views:
|
30
|
+
|
31
|
+
```
|
32
|
+
thumbor_url
|
33
|
+
thumbor_image_tag
|
34
|
+
```
|
35
|
+
|
36
|
+
### thumbor_url
|
37
|
+
|
38
|
+
The `thumbor_url` helper allows you to to generate a thumbor url, a simple use is:
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
<%= thumbor_url "http://example.com/awesome_image.jpg" %>
|
42
|
+
```
|
43
|
+
|
44
|
+
Of course, you can pass various parameters to thumbor as described in the [ruby-thumbor gem](https://github.com/thumbor/ruby-thumbor#usage). An exemple would be:
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
<%= thumbor_url "http://example.com/awesome_image.jpg", width: 200, height: 300 %>
|
48
|
+
```
|
49
|
+
|
50
|
+
### thumbor_image_tag
|
51
|
+
|
52
|
+
The `thumbor_image_tag` helper allows you to simplify the usage when creating a simple image tag in your views. It returns a complete image tag with the generated thumbor url in the `src` attribute of the `img` tag. Example:
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
<%= thumbor_image_tag "http://myimage.jpg", unsafe: true, width: 100, height: 100 %>
|
56
|
+
```
|
57
|
+
|
58
|
+
Will result in something like:
|
59
|
+
|
60
|
+
```html
|
61
|
+
<img alt="Myimage" src="http://thumbor.example.com/unsafe/100x100/http://myimage.jpg" />
|
62
|
+
```
|
63
|
+
|
64
|
+
## Maintainers
|
65
|
+
|
66
|
+
- Rafael Caricio (@rafaelcaricio)[https://coderwall.com/rafaelcaricio]
|
67
|
+
|
68
|
+
## Contributing
|
69
|
+
|
70
|
+
1. Fork it
|
71
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
72
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
73
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
74
|
+
5. Create new Pull Request
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module ThumborRails
|
2
|
+
module Generators
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
desc "Copy ThumborRails default configuration files"
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
def copy_config
|
8
|
+
template "config/initializers/thumbor_rails.rb"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'ruby-thumbor'
|
2
|
+
|
3
|
+
module ThumborRails
|
4
|
+
module Helpers
|
5
|
+
include ActionView::Helpers::AssetTagHelper
|
6
|
+
|
7
|
+
def thumbor_url(image_url, options = {})
|
8
|
+
options[:image] = image_url
|
9
|
+
thumbor_service = crypto_service
|
10
|
+
thumbor_service = unsafe_service if options[:unsafe]
|
11
|
+
"#{ThumborRails.server_url}#{thumbor_service.generate(options)}"
|
12
|
+
end
|
13
|
+
|
14
|
+
def thumbor_image_tag(image_url, options = {}, tag_attrs = {})
|
15
|
+
image_tag(thumbor_url(image_url, options), tag_attrs)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def crypto_service
|
21
|
+
Thumbor::CryptoURL.new(ThumborRails.security_key)
|
22
|
+
end
|
23
|
+
|
24
|
+
def unsafe_service
|
25
|
+
Thumbor::CryptoURL.new(nil)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
ActionView::Base.send :include, ThumborRails::Helpers
|
data/lib/thumbor_rails.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
|
+
require 'thumbor_rails/helpers'
|
2
|
+
|
1
3
|
module ThumborRails
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
4
|
+
mattr_accessor :server_url
|
5
|
+
@@server_url = 'http://thumbor.example.com'
|
6
|
+
|
7
|
+
mattr_accessor :security_key
|
8
|
+
@@security_key = 'MY_SECURITY_KEY'
|
9
|
+
|
10
|
+
def self.setup
|
11
|
+
yield self
|
6
12
|
end
|
7
13
|
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ThumborRails::Helpers do
|
4
|
+
include ThumborRails::Helpers
|
5
|
+
|
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')
|
9
|
+
end
|
10
|
+
|
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')
|
13
|
+
end
|
14
|
+
|
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')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#thumbor_image_tag' do
|
21
|
+
it 'should return a simple image' do
|
22
|
+
expect(thumbor_image_tag('http://myimg.jpg')).to eq('<img alt="Myimg" src="http://thumbor.example.com/Q-1lWnxlCLnkzXWWM5xTAs1QEBM=/http://myimg.jpg" />')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should pass arguments to thumbor' do
|
26
|
+
expect(thumbor_image_tag('http://myimg.jpg', unsafe: true)).to eq('<img alt="Myimg" src="http://thumbor.example.com/unsafe/http://myimg.jpg" />')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ThumborRails do
|
4
|
+
it 'setup block yields self' do
|
5
|
+
subject.setup do |config|
|
6
|
+
expect(subject).to equal(config)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'has security_key attibute' do
|
11
|
+
expect(subject).to respond_to 'security_key'
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'has server_url attibute' do
|
15
|
+
expect(subject).to respond_to 'server_url'
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'when configured' do
|
19
|
+
before do
|
20
|
+
subject.setup do |config|
|
21
|
+
config.server_url = 'http://thumbor.globo.com'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should use the configuration' do
|
26
|
+
expect(subject.server_url).to eq('http://thumbor.globo.com')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thumbor_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael Caricio
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-thumbor
|
@@ -67,16 +67,22 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
description: thumbor_rails is a client for the thumbor imaging service (http://github.com/globocom/thumbor)
|
70
|
-
|
70
|
+
for Ruby and Rails projects.
|
71
71
|
email:
|
72
72
|
- rafael@caricio.com
|
73
73
|
executables: []
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
+
- lib/generators/thumbor_rails/install_generator.rb
|
78
|
+
- lib/generators/thumbor_rails/templates/config/initializers/thumbor_rails.rb
|
79
|
+
- lib/thumbor_rails/helpers.rb
|
77
80
|
- lib/thumbor_rails/version.rb
|
78
81
|
- lib/thumbor_rails.rb
|
79
|
-
- README.
|
82
|
+
- README.md
|
83
|
+
- spec/spec_helper.rb
|
84
|
+
- spec/thumbor_rails/helpers_spec.rb
|
85
|
+
- spec/thumbor_rails_spec.rb
|
80
86
|
homepage: https://github.com/rafaelcaricio/thumbor_rails
|
81
87
|
licenses:
|
82
88
|
- MIT
|
@@ -84,7 +90,7 @@ metadata: {}
|
|
84
90
|
post_install_message:
|
85
91
|
rdoc_options:
|
86
92
|
- --main
|
87
|
-
- README.
|
93
|
+
- README.md
|
88
94
|
require_paths:
|
89
95
|
- lib
|
90
96
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -103,5 +109,8 @@ rubygems_version: 2.0.14
|
|
103
109
|
signing_key:
|
104
110
|
specification_version: 4
|
105
111
|
summary: thumbor_rails is a client to manage and generate urls for the thumbor imaging
|
106
|
-
service (http://github.com/globocom/thumbor)
|
107
|
-
test_files:
|
112
|
+
service (http://github.com/globocom/thumbor) for Ruby and Rails projects.
|
113
|
+
test_files:
|
114
|
+
- spec/spec_helper.rb
|
115
|
+
- spec/thumbor_rails/helpers_spec.rb
|
116
|
+
- spec/thumbor_rails_spec.rb
|
data/README.rdoc
DELETED
File without changes
|