filepreviews 2.0.3 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f12bf824314da70b46ba5b3bfb889e967747c407
4
- data.tar.gz: 54d4d020ff9b94540976b1da34b1b8d41c694566
2
+ SHA256:
3
+ metadata.gz: de65ec37824ea463d1c4f2b0272183853c4161d2c94f5e568b6be9cb785be129
4
+ data.tar.gz: 746e69ee3fb3cf46ff50bafe107de3552bb5b875429c7acf3583926efa4e14fa
5
5
  SHA512:
6
- metadata.gz: 03b7c6ece770ee470428752bfece08eb324c90830b51738070662c1b26ec276b04811dc46778cb59b8b65dce3aa09fe60f167c51216c744508db7691a9464db7
7
- data.tar.gz: 99fca5538f130fd2b0e5e8b420ad72d6121e3ca866aca0b7020eaf8f429d489002c53014ae8e6cdae5d36c9713cce8bc1a23c696843900292bd717b0b60df748
6
+ metadata.gz: 5c6881d2e1d9c5d595601aa226078ae2ef3f6de01f368c219e69e677154fd0bcd95457fafbfed50103bf552d54a60c9a4e58cb30bd1c0c9ef2563e2fcbcdb9ce
7
+ data.tar.gz: c8f71ea4e7997044afc4a963c372a249c06786a6199a4f072c13e7ffb806f87d53a9980b12168c2df533349099498c6c91a71d635d0ff2dbfb02db8a5b3fa729
@@ -1 +1 @@
1
- ruby-2.1.1
1
+ ruby-2.4.1
@@ -1,20 +1,20 @@
1
1
  language: ruby
2
- sudo: false
2
+ os: linux
3
+ dist: xenial
3
4
  rvm:
4
- - 2.4.1
5
- - 2.3.3
6
- - 2.2.6
7
- - 2.1.1
8
- - 2.0.0
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
@@ -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
- [![Gem Version](http://img.shields.io/gem/v/filepreviews.svg?style=flat)](http://badge.fury.io/rb/filepreviews)
3
- [![Build Status](http://img.shields.io/travis/jonahoffline/filepreviews-ruby.svg?style=flat)](https://travis-ci.org/jonahoffline/filepreviews-ruby)
4
- [![Dependency Status](http://img.shields.io/gemnasium/jonahoffline/filepreviews-ruby.svg?style=flat)](https://gemnasium.com/jonahoffline/filepreviews-ruby)
5
- [![Code Climate](http://img.shields.io/codeclimate/github/jonahoffline/filepreviews-ruby.svg?style=flat)](https://codeclimate.com/github/jonahoffline/filepreviews-ruby)
6
- [![security](https://hakiri.io/github/jonahoffline/filepreviews-ruby/master.svg)](https://hakiri.io/github/jonahoffline/filepreviews-ruby/master)
7
- [![Gitter chat](https://img.shields.io/badge/gitter-filepreviews--ruby-blue.svg?style=flat)](https://gitter.im/jonahoffline/filepreviews-ruby)
2
+ [![Gem Version](https://badge.fury.io/rb/filepreviews.svg)](https://badge.fury.io/rb/filepreviews)
3
+ [![Build Status](https://travis-ci.org/jonahoffline/filepreviews-ruby.svg?branch=master)](https://travis-ci.org/jonahoffline/filepreviews-ruby)
4
+ [![Maintainability](https://api.codeclimate.com/v1/badges/da1cc5ca8fbbbf1ae3a9/maintainability)](https://codeclimate.com/github/jonahoffline/filepreviews-ruby/maintainability)
8
5
  [![Inline docs](http://inch-ci.org/github/jonahoffline/filepreviews-ruby.png)](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.config.secret_key = 'YOUR_SECRET_KEY'
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
 
@@ -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', '~> 1.6'
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.12.2'
26
- spec.add_dependency 'typhoeus', '~> 1.1.2'
28
+ spec.add_dependency 'faraday', '~> 0.15.0'
29
+ spec.add_dependency 'typhoeus', '~> 1.3.0'
27
30
  end
@@ -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
 
@@ -25,7 +25,6 @@ module Filepreviews
25
25
  hash.each do |k, v|
26
26
  @table[k.to_sym] = (v.is_a?(Hash) ? self.class.new(v) : v)
27
27
  @hash_table[k.to_sym] = v
28
- new_ostruct_member(k)
29
28
  end
30
29
  end
31
30
  end
@@ -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.join(',')
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] = [extract_metadata(params.metadata)]
45
+ parameters[:metadata] = extract_metadata(params.metadata)
46
46
  end
47
47
 
48
48
  parameters
@@ -1,5 +1,5 @@
1
1
  # @author Jonah Ruiz <jonah@pixelhipsters.com>
2
2
  # Contains the version namespaced
3
3
  module Filepreviews
4
- VERSION = '2.0.3'
4
+ VERSION = '2.0.8'
5
5
  end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Filepreviews do
4
4
  let(:file_previews) { Filepreviews }
5
- let(:sample_img) { 'http://pixelhipsters.com/images/pixelhipster_cat.png' }
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
- it 'returns a Filepreviews::Response instance' do
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.3
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: 2017-08-06 00:00:00.000000000 Z
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: '1.6'
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: '1.6'
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.12.2
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.12.2
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.1.2
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.1.2
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: '0'
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
- rubyforge_project:
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