filepreviews 2.0.3 → 2.0.8
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 +5 -5
- data/.ruby-version +1 -1
- data/.travis.yml +13 -13
- data/Changelog.md +30 -0
- data/README.md +12 -8
- data/filepreviews.gemspec +6 -3
- data/lib/filepreviews/http.rb +1 -0
- data/lib/filepreviews/response.rb +0 -1
- data/lib/filepreviews/utils.rb +2 -2
- data/lib/filepreviews/version.rb +1 -1
- data/spec/filepreviews/filepreviews_spec.rb +19 -2
- data/spec/filepreviews/response_spec.rb +30 -0
- data/spec/filepreviews/utils_spec.rb +10 -0
- metadata +17 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: de65ec37824ea463d1c4f2b0272183853c4161d2c94f5e568b6be9cb785be129
|
|
4
|
+
data.tar.gz: 746e69ee3fb3cf46ff50bafe107de3552bb5b875429c7acf3583926efa4e14fa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5c6881d2e1d9c5d595601aa226078ae2ef3f6de01f368c219e69e677154fd0bcd95457fafbfed50103bf552d54a60c9a4e58cb30bd1c0c9ef2563e2fcbcdb9ce
|
|
7
|
+
data.tar.gz: c8f71ea4e7997044afc4a963c372a249c06786a6199a4f072c13e7ffb806f87d53a9980b12168c2df533349099498c6c91a71d635d0ff2dbfb02db8a5b3fa729
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ruby-2.
|
|
1
|
+
ruby-2.4.1
|
data/.travis.yml
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
language: ruby
|
|
2
|
-
|
|
2
|
+
os: linux
|
|
3
|
+
dist: xenial
|
|
3
4
|
rvm:
|
|
4
|
-
-
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
- 2.
|
|
8
|
-
- 2.
|
|
5
|
+
- ruby-head
|
|
6
|
+
- truffleruby
|
|
7
|
+
- truffleruby-20.1.0
|
|
8
|
+
- 2.7.1
|
|
9
|
+
- 2.6.6
|
|
10
|
+
- 2.5.8
|
|
11
|
+
- 2.4.10
|
|
9
12
|
script: bundle exec rake test
|
|
10
|
-
notifications:
|
|
11
|
-
email: false
|
|
12
|
-
irc:
|
|
13
|
-
on_success: change
|
|
14
|
-
on_failure: always
|
|
15
|
-
channels:
|
|
16
|
-
- irc.freenode.org#rubyonadhd
|
|
17
13
|
env:
|
|
18
14
|
global:
|
|
19
15
|
- secure: ksz/xSq5EkiWQfclYHh5gj32IjqH5uTXacYqFGZdpZWPtkxGscSVeBzAvGtY9IQddkEuobVEW8TBqPo2rZ+7sT6ZfLQOuNM9Vtw5jDbAifyHLivZ5/acnW7m5BcmkxttKrel4DfRexzvGW6SAweE+fC07BLfPjzyKoIyjKnV4Y8=
|
|
20
16
|
- secure: lYcTOY21MNhFAvd3mCNj0CBoMJYMLGy+PsNcuLvhNcQHw/+ulkzQITJFo9IaAOl8TXv+ETAfay0eXfzVC8hE8DTeq3QovdocciMa+otCpVQWRzDwfc+mfUqutdgn96CjAmkvGYHwkDf/X4LBRaDhI2beKeaGO/BGQZw+NMEBFzo=
|
|
17
|
+
jobs:
|
|
18
|
+
allow_failures:
|
|
19
|
+
- rvm: ruby-head
|
|
20
|
+
- rvm: truffleruby
|
data/Changelog.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Filepreviews Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.8
|
|
4
|
+
|
|
5
|
+
* Ruby 2.7 compatibility (thanks to [MartinodF](https://github.com/MartinodF))
|
|
6
|
+
* Update Travis to include additional Ruby versions (2.6.6, 2.5.8, 2.4.10, truffleruby)
|
|
7
|
+
* Update gemspec to require Ruby version >= 2.4
|
|
8
|
+
|
|
9
|
+
## 2.0.7
|
|
10
|
+
|
|
11
|
+
Released Sept 24, 2019 ([2.0.7](https://github.com/jonahoffline/filepreviews-ruby/tree/v2.0.7)).
|
|
12
|
+
|
|
13
|
+
* Add GitHub Package Registry support
|
|
14
|
+
|
|
15
|
+
## 2.0.6
|
|
16
|
+
|
|
17
|
+
Released May 19, 2019 ([2.0.6](https://github.com/jonahoffline/filepreviews-ruby/tree/v2.0.6)).
|
|
18
|
+
|
|
19
|
+
* Add `callback_url` option (thanks to [patrick-gleeson](https://github.com/patrick-gleeson))
|
|
20
|
+
|
|
21
|
+
## 2.0.5
|
|
22
|
+
|
|
23
|
+
Released May 4, 2018 ([2.0.5](https://github.com/jonahoffline/filepreviews-ruby/tree/v2.0.5)).
|
|
24
|
+
|
|
25
|
+
* Update `Typhoeus`, and `Faraday` dependencies
|
|
26
|
+
|
|
27
|
+
## 2.0.4
|
|
28
|
+
|
|
29
|
+
Released May 4, 2018 ([2.0.4](https://github.com/jonahoffline/filepreviews-ruby/tree/v2.0.4)).
|
|
30
|
+
|
|
31
|
+
* Fix `metadata` options (thanks to [itay-grudev](https://github.com/itay-grudev))
|
|
32
|
+
|
|
3
33
|
## 2.0.3
|
|
4
34
|
|
|
5
35
|
Released August 5, 2017 ([2.0.3](https://github.com/jonahoffline/filepreviews-ruby/tree/v2.0.3)).
|
data/README.md
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
# FilePreviews.io (Ruby client)
|
|
2
|
-
[](https://codeclimate.com/github/jonahoffline/filepreviews-ruby)
|
|
6
|
-
[](https://hakiri.io/github/jonahoffline/filepreviews-ruby/master)
|
|
7
|
-
[](https://gitter.im/jonahoffline/filepreviews-ruby)
|
|
2
|
+
[](https://badge.fury.io/rb/filepreviews)
|
|
3
|
+
[](https://travis-ci.org/jonahoffline/filepreviews-ruby)
|
|
4
|
+
[](https://codeclimate.com/github/jonahoffline/filepreviews-ruby/maintainability)
|
|
8
5
|
[](http://inch-ci.org/github/jonahoffline/filepreviews-ruby)
|
|
9
6
|
|
|
10
7
|
Ruby client library and CLI tool for the [FilePreviews.io](http://filepreviews.io) service. Generate image previews and metadata from almost any kind of file.
|
|
@@ -15,6 +12,10 @@ Add this line to your application's Gemfile:
|
|
|
15
12
|
|
|
16
13
|
gem 'filepreviews'
|
|
17
14
|
|
|
15
|
+
Or via GitHub Package Manager:
|
|
16
|
+
|
|
17
|
+
gem 'filepreviews', source: 'https://rubygems.pkg.github.com/jonahoffline'
|
|
18
|
+
|
|
18
19
|
And then execute:
|
|
19
20
|
|
|
20
21
|
$ bundle
|
|
@@ -44,7 +45,7 @@ Simpler style:
|
|
|
44
45
|
require 'filepreviews'
|
|
45
46
|
|
|
46
47
|
Filepreviews.api_key = 'YOUR_API_KEY'
|
|
47
|
-
Filepreviews.
|
|
48
|
+
Filepreviews.secret_key = 'YOUR_SECRET_KEY'
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
### Basic Example Code
|
|
@@ -98,7 +99,10 @@ conf = {
|
|
|
98
99
|
},
|
|
99
100
|
|
|
100
101
|
# supported: '1', '1-3', '1,3,5', '1-3', 'all'
|
|
101
|
-
pages: '1-3'
|
|
102
|
+
pages: '1-3',
|
|
103
|
+
|
|
104
|
+
# Callback URL (POST) to send results
|
|
105
|
+
callback_url: 'http://requestbin.fullcontact.com/1234'
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
108
|
|
data/filepreviews.gemspec
CHANGED
|
@@ -12,16 +12,19 @@ Gem::Specification.new do |spec|
|
|
|
12
12
|
spec.summary = %q(FilePreviews.io Ruby library and CLI for the service)
|
|
13
13
|
spec.homepage = 'https://github.com/jonahoffline/filepreviews-ruby'
|
|
14
14
|
spec.license = 'MIT'
|
|
15
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
16
|
+
spec.metadata['github_repo'] = spec.homepage
|
|
15
17
|
|
|
16
18
|
spec.files = `git ls-files -z`.split("\x0")
|
|
17
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
18
20
|
spec.test_files = spec.files.grep(%r{^(spec)/})
|
|
19
21
|
spec.require_paths = ['lib']
|
|
22
|
+
spec.required_ruby_version = '>= 2.4'
|
|
20
23
|
|
|
21
|
-
spec.add_development_dependency 'bundler'
|
|
24
|
+
spec.add_development_dependency 'bundler'
|
|
22
25
|
spec.add_development_dependency 'rake'
|
|
23
26
|
spec.add_development_dependency 'rspec'
|
|
24
27
|
|
|
25
|
-
spec.add_dependency 'faraday', '~> 0.
|
|
26
|
-
spec.add_dependency 'typhoeus', '~> 1.
|
|
28
|
+
spec.add_dependency 'faraday', '~> 0.15.0'
|
|
29
|
+
spec.add_dependency 'typhoeus', '~> 1.3.0'
|
|
27
30
|
end
|
data/lib/filepreviews/http.rb
CHANGED
|
@@ -67,6 +67,7 @@ module Filepreviews
|
|
|
67
67
|
request.store(:data, params.data) if params.data
|
|
68
68
|
request.store(:uploader, params.uploader) if params.uploader
|
|
69
69
|
request.store(:pages, params.pages) if params.pages
|
|
70
|
+
request.store(:callback_url, params.callback_url) if params.callback_url
|
|
70
71
|
request
|
|
71
72
|
end
|
|
72
73
|
|
data/lib/filepreviews/utils.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Filepreviews
|
|
|
13
13
|
# @param metadata [Array] image formats
|
|
14
14
|
# @return [String] metadata url parameters
|
|
15
15
|
def extract_metadata(metadata)
|
|
16
|
-
metadata.
|
|
16
|
+
metadata.to_a
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
# Validates page parameters
|
|
@@ -42,7 +42,7 @@ module Filepreviews
|
|
|
42
42
|
parameters = { url: CGI.unescape(params.url) }
|
|
43
43
|
|
|
44
44
|
if params.metadata
|
|
45
|
-
parameters[:metadata] =
|
|
45
|
+
parameters[:metadata] = extract_metadata(params.metadata)
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
parameters
|
data/lib/filepreviews/version.rb
CHANGED
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
|
2
2
|
|
|
3
3
|
describe Filepreviews do
|
|
4
4
|
let(:file_previews) { Filepreviews }
|
|
5
|
-
let(:sample_img) { '
|
|
5
|
+
let(:sample_img) { 'https://filepreviews.io/img/filepreviews-logo.svg' }
|
|
6
6
|
|
|
7
7
|
it 'keeps it real, you feels me dawg?' do
|
|
8
8
|
expect(true).to eq(true)
|
|
@@ -30,15 +30,32 @@ describe Filepreviews do
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
context 'when used with an api key' do
|
|
33
|
-
|
|
33
|
+
before(:each) do
|
|
34
34
|
Filepreviews.api_key = ENV['FILEPREVIEWS_API_KEY']
|
|
35
35
|
Filepreviews.secret_key = ENV['FILEPREVIEWS_SECRET_KEY']
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'returns a Filepreviews::Response instance' do
|
|
36
39
|
response = file_previews.generate(sample_img)
|
|
37
40
|
|
|
38
41
|
expect(response.url).to_not be_nil
|
|
39
42
|
expect(response.id).to_not be_nil
|
|
40
43
|
expect(response).to be_an_instance_of(Filepreviews::Response)
|
|
41
44
|
end
|
|
45
|
+
|
|
46
|
+
context 'with additional metadata' do
|
|
47
|
+
it 'returns a Filepreviews::Response instance' do
|
|
48
|
+
response = file_previews.generate(sample_img, {
|
|
49
|
+
options: {
|
|
50
|
+
metadata: [ 'ocr', 'psd', 'exif', 'sketch', 'webpage', 'checksum', 'multimedia' ]
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
expect(response.url).to_not be_nil
|
|
55
|
+
expect(response.id).to_not be_nil
|
|
56
|
+
expect(response).to be_an_instance_of(Filepreviews::Response)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
42
59
|
end
|
|
43
60
|
|
|
44
61
|
context 'when used with an incorrect api key' do
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Filepreviews::Response do
|
|
4
|
+
let(:response) { Filepreviews::Response }
|
|
5
|
+
|
|
6
|
+
describe '.new' do
|
|
7
|
+
it 'returns an Response instance' do
|
|
8
|
+
expect(response.new({})).to be_an_instance_of(Filepreviews::Response)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'calls responsify' do
|
|
12
|
+
json = JSON.parse({hey: "wow"}.to_json)
|
|
13
|
+
expect(response.new(json).hey).to eq("wow")
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '.responsify' do
|
|
18
|
+
json = JSON.parse({url: "filepreviews.io", testing: true}.to_json)
|
|
19
|
+
|
|
20
|
+
context 'when a Hash or JSON response is passed' do
|
|
21
|
+
it 'transforms body attributes into callable methods' do
|
|
22
|
+
responsify = response.new(json)
|
|
23
|
+
|
|
24
|
+
expect(responsify.url).to eq("filepreviews.io")
|
|
25
|
+
expect(responsify.testing).to eq(true)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -25,6 +25,16 @@ describe Filepreviews::Utils do
|
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
describe '.extract_metadata' do
|
|
29
|
+
it 'returns one metadata entry as an array' do
|
|
30
|
+
expect(Kawaii.new.extract_metadata([:psd])).to eq([:psd])
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'returns multipe metadata entries as an array' do
|
|
34
|
+
expect(Kawaii.new.extract_metadata([:psd, :ocr])).to eq([:psd, :ocr])
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
28
38
|
describe '.validate_pages' do
|
|
29
39
|
context 'when called with range parameters (1-3)' do
|
|
30
40
|
it 'validates page parameters' do
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: filepreviews
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonah Ruiz
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-06-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -58,28 +58,28 @@ dependencies:
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.
|
|
61
|
+
version: 0.15.0
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.
|
|
68
|
+
version: 0.15.0
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: typhoeus
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 1.
|
|
75
|
+
version: 1.3.0
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 1.
|
|
82
|
+
version: 1.3.0
|
|
83
83
|
description: FilePreviews.io Ruby library and CLI application.
|
|
84
84
|
email:
|
|
85
85
|
- jonah@pixelhipsters.com
|
|
@@ -111,12 +111,15 @@ files:
|
|
|
111
111
|
- spec/filepreviews/config_spec.rb
|
|
112
112
|
- spec/filepreviews/filepreviews_spec.rb
|
|
113
113
|
- spec/filepreviews/http_spec.rb
|
|
114
|
+
- spec/filepreviews/response_spec.rb
|
|
114
115
|
- spec/filepreviews/utils_spec.rb
|
|
115
116
|
- spec/spec_helper.rb
|
|
116
117
|
homepage: https://github.com/jonahoffline/filepreviews-ruby
|
|
117
118
|
licenses:
|
|
118
119
|
- MIT
|
|
119
|
-
metadata:
|
|
120
|
+
metadata:
|
|
121
|
+
homepage_uri: https://github.com/jonahoffline/filepreviews-ruby
|
|
122
|
+
github_repo: https://github.com/jonahoffline/filepreviews-ruby
|
|
120
123
|
post_install_message:
|
|
121
124
|
rdoc_options: []
|
|
122
125
|
require_paths:
|
|
@@ -125,15 +128,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
125
128
|
requirements:
|
|
126
129
|
- - ">="
|
|
127
130
|
- !ruby/object:Gem::Version
|
|
128
|
-
version: '
|
|
131
|
+
version: '2.4'
|
|
129
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
133
|
requirements:
|
|
131
134
|
- - ">="
|
|
132
135
|
- !ruby/object:Gem::Version
|
|
133
136
|
version: '0'
|
|
134
137
|
requirements: []
|
|
135
|
-
|
|
136
|
-
rubygems_version: 2.4.8
|
|
138
|
+
rubygems_version: 3.1.2
|
|
137
139
|
signing_key:
|
|
138
140
|
specification_version: 4
|
|
139
141
|
summary: FilePreviews.io Ruby library and CLI for the service
|
|
@@ -141,5 +143,6 @@ test_files:
|
|
|
141
143
|
- spec/filepreviews/config_spec.rb
|
|
142
144
|
- spec/filepreviews/filepreviews_spec.rb
|
|
143
145
|
- spec/filepreviews/http_spec.rb
|
|
146
|
+
- spec/filepreviews/response_spec.rb
|
|
144
147
|
- spec/filepreviews/utils_spec.rb
|
|
145
148
|
- spec/spec_helper.rb
|