paperclip-imgur 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8c575a6ffa5a32f1067c7b7c0794e271fdf745b
4
- data.tar.gz: b814a0fe6cd45104444b7388beea1de45fdfdb3e
3
+ metadata.gz: d8877dbb4a1024efedb5aaf05ed464ba3afec1e5
4
+ data.tar.gz: e42b2eb47c205eb82c9d11fd94051da3dea856a8
5
5
  SHA512:
6
- metadata.gz: 45af981e2c2652ac7e12abeda03b7fe4ce4c4624eb69585f3b066fcec6e3cbbf3fc7e9d9ef2cbc4d21696851597a399bb340a7c7b35fd7430ead51e197471056
7
- data.tar.gz: 17abb68607dd4099b179d3d32940ad3ca8bf057e4524d2082d5eafd7b7f27130ee441459b060636cf9738e3ec9bb32e835d1f300ee7d698cbf29ab58d07f6f69
6
+ metadata.gz: 91805a6e3e48e39cd241229e705ec509858440696459d435cb8d95251c4760b7ee23e1896131e7026c06f013df00192eb6f88af23d22d3f78102d8ae8ab066da
7
+ data.tar.gz: 101fc71a146559fb2c6a533ab4b6b7bcd83fdc151bcf8e20f35c708f2ac7b196df6029fd44a74d91b7607587f558591c9606d2fab9aa7e3dc8b10f461966734c
data/.rspec CHANGED
@@ -1 +1 @@
1
- --color -fs
1
+ --color
data/README.md CHANGED
@@ -69,3 +69,10 @@ To delete an image, follow the usual Paperclip procedure:
69
69
  @user.avatar = nil
70
70
  @user.save
71
71
  ```
72
+
73
+ ## Testing
74
+
75
+ Run specs with
76
+ ```bash
77
+ rspec
78
+ ```
@@ -1,6 +1,6 @@
1
1
  require 'yaml'
2
2
  require 'erb'
3
- require 'imgur'
3
+ require 'imgurapi'
4
4
 
5
5
  module Paperclip
6
6
  module Storage
@@ -64,7 +64,7 @@ module Paperclip
64
64
 
65
65
  return @url_generator.for(size, {}) if image_id.nil? || image_id.empty? # Show Paperclip's default missing image path
66
66
 
67
- ::Imgur::Image.new(id: image_id).url(size)
67
+ ::Imgurapi::Image.new(id: image_id).url(size)
68
68
  end
69
69
 
70
70
  # Returns the path of the attachment.
@@ -83,7 +83,7 @@ module Paperclip
83
83
  private
84
84
 
85
85
  def imgur_session
86
- @imgur_session ||= ::Imgur::Session.instance(@imgur_credentials)
86
+ @imgur_session ||= ::Imgurapi::Session.instance(@imgur_credentials)
87
87
  end
88
88
 
89
89
  def parse_credentials(credentials = nil)
@@ -96,6 +96,8 @@ module Paperclip
96
96
  YAML.load(ERB.new(File.read(credentials.path)).result)
97
97
  when String, Pathname
98
98
  YAML.load(ERB.new(File.read(credentials)).result)
99
+ else
100
+ credentials
99
101
  end
100
102
 
101
103
  return credentials.stringify_keys if credentials.respond_to? :stringify_keys
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = 'paperclip-imgur'
7
- gem.version = '0.1.1'
7
+ gem.version = '0.1.2'
8
8
  gem.authors = ['Daniel Cruz Horts']
9
9
  gem.description = %q{Extends Paperclip with Imgur storage}
10
10
  gem.summary = gem.description
@@ -16,5 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
  gem.require_paths = ['lib']
18
18
 
19
- gem.add_dependency 'imgurapi', '~> 2.0.2'
19
+ gem.add_dependency 'imgurapi', '~> 3.0.0'
20
+ gem.add_development_dependency 'byebug'
21
+ gem.add_development_dependency 'rspec'
20
22
  end
@@ -12,84 +12,88 @@ class CreateUsers < ActiveRecord::Migration
12
12
  end
13
13
 
14
14
  describe Paperclip::Storage::Imgur do
15
- before(:all) do
15
+ def set_options(options)
16
+ stub_const(
17
+ 'User',
18
+ Class.new(ActiveRecord::Base) do
19
+ has_attached_file :avatar, {storage: :imgur}.merge(options)
20
+ end
21
+ )
22
+ end
23
+
24
+ before :all do
16
25
  ActiveRecord::Base.send(:include, Paperclip::Glue)
17
26
 
18
27
  FileUtils.rm_rf 'tmp'
19
28
  FileUtils.mkdir_p 'tmp'
20
29
  ActiveRecord::Base.establish_connection('sqlite3:///tmp/foo.sqlite3')
21
30
  CreateUsers.migrate(:up)
22
-
23
31
  Paperclip.options[:log] = false
24
32
  end
25
-
26
- describe '#parse_credentials' do
27
- def set_options(options)
28
- stub_const('User', Class.new(ActiveRecord::Base) {
29
- has_attached_file :avatar, { :storage => :imgur }.merge(options)
30
- })
31
- end
32
33
 
34
+ after :all do
35
+ CreateUsers.migrate(:down)
36
+ end
37
+
38
+ describe '#parse_credentials' do
33
39
  it 'should complain when providing unsuitable credentials' do
34
- set_options(:imgur_credentials => 1)
35
- expect { User.new.avatar }.to raise_error
40
+ set_options(imgur_credentials: 1)
36
41
 
37
- set_options(:imgur_credentials => {})
38
- expect { User.new.avatar }.to raise_error
42
+ expect { User.new.avatar }.to raise_error ArgumentError
39
43
  end
40
-
44
+
41
45
  it 'should accept a properly formed hash' do
42
- set_options(:imgur_credentials => {:app_key => '1', :app_secret => '2', :access_token => '3', :access_token_secret => '4'})
46
+ set_options(imgur_credentials: {client_key: '1', client_secret: '2', access_token: '3', refresh_token: '4'})
47
+
43
48
  expect { User.new.avatar }.to_not raise_error
44
49
  end
45
50
 
46
51
  it 'should use config/imgur.yml under a Rails application if we left credentials blank' do
47
- stub_const('Rails', Class.new {
52
+ stub_const(
53
+ 'Rails',
54
+ Class.new {
48
55
  def self.env
49
56
  'testing'
50
57
  end
51
58
  def self.root
52
59
  Dir.pwd
53
60
  end
54
- })
55
-
61
+ }
62
+ )
56
63
  set_options({})
64
+
57
65
  expect { User.new.avatar }.to_not raise_error
58
66
  end
59
-
67
+
60
68
  it 'should accept a file path' do
61
- set_options(:imgur_credentials => "#{Dir.pwd}/config/imgur.yml")
69
+ set_options(imgur_credentials: "#{Dir.pwd}/config/imgur.yml")
70
+
62
71
  expect { User.new.avatar }.to_not raise_error
63
72
  end
64
-
73
+
65
74
  it 'should accept a file' do
66
- set_options(:imgur_credentials => File.open("#{Dir.pwd}/config/imgur.yml", 'r'))
75
+ set_options(imgur_credentials: File.open("#{Dir.pwd}/config/imgur.yml", 'r'))
76
+
67
77
  expect { User.new.avatar }.to_not raise_error
68
78
  end
69
79
  end
70
-
71
- describe '#url' do
72
- before(:each) do
73
- stub_const('User', Class.new(ActiveRecord::Base) { has_attached_file :avatar, :storage => :imgur, :imgur_credentials => {:app_key => '1', :app_secret => '2', :access_token => '3', :access_token_secret => '4'} })
74
80
 
75
- @imgur_hash = 'random_valid_hash'
76
- @user = User.create(:avatar_file_name => @imgur_hash)
81
+ describe '#url' do
82
+ before do
83
+ User = Class.new(ActiveRecord::Base) { has_attached_file :avatar, storage: :imgur, imgur_credentials: {client_key: '1', client_secret: '2', access_token: '3', refresh_token: '4'} }
77
84
  end
78
85
 
79
86
  it "should return the missing image path if there's no image" do
80
- User.new.avatar.url.should eq('/avatars/original/missing.png')
81
- User.new.avatar.url(:random_size).should eq('/avatars/random_size/missing.png')
87
+ expect(User.new.avatar.url).to eq '/avatars/original/missing.png'
88
+ expect(User.new.avatar.url(:random_size)).to eq '/avatars/random_size/missing.png'
82
89
  end
83
90
 
84
91
  it "should return Imgur's image paths if there's an image" do
85
- session = @user.avatar.instance_variable_get(:@imgur_session)
86
-
87
- @user.avatar.url.should eq(session.url(@imgur_hash))
88
- @user.avatar.url(:random_size).should eq(session.url(@imgur_hash, :random_size))
89
- @user.avatar.url(:small_square).should eq(session.url(@imgur_hash, :small_square))
90
- @user.avatar.url(:large_thumbnail).should eq(session.url(@imgur_hash, :large_thumbnail))
92
+ user = User.create(avatar_file_name: 'random_valid_hash')
93
+
94
+ expect(user.avatar.url(:random_size)).to eq "http://i.imgur.com/random_valid_hash.jpg"
95
+ expect(user.avatar.url(:small_square)).to eq "http://i.imgur.com/random_valid_hashs.jpg"
96
+ expect(user.avatar.url(:large_thumbnail)).to eq "http://i.imgur.com/random_valid_hashl.jpg"
91
97
  end
92
-
93
98
  end
94
-
95
- end
99
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-imgur
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Cruz Horts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-06 00:00:00.000000000 Z
11
+ date: 2015-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: imgurapi
@@ -16,14 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.2
19
+ version: 3.0.0
20
20
  type: :runtime
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: 2.0.2
26
+ version: 3.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: byebug
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  description: Extends Paperclip with Imgur storage
28
56
  email:
29
57
  executables: []