faces 0.5.1 → 0.6.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.6.0
data/faces.gemspec CHANGED
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{faces}
8
- s.version = "0.5.1"
8
+ s.version = "0.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nick Pellant"]
12
- s.date = %q{2010-03-15}
12
+ s.date = %q{2010-03-18}
13
13
  s.description = %q{Avatars made super simple.}
14
14
  s.email = %q{nick@silentale.com}
15
15
  s.extra_rdoc_files = [
data/lib/faces.rb CHANGED
@@ -49,6 +49,11 @@ module Faces
49
49
  obj = "::Faces::Providers::#{provider.to_s.classify}".constantize.new
50
50
  obj.exists?(identifier, configuration)
51
51
  end
52
+ # Returns true if the provider has SSL available, else false
53
+ def provider_supports_ssl?(provider)
54
+ obj = "::Faces::Providers::#{provider.to_s.classify}".constantize.new
55
+ obj.respond_to?('ssl?') ? obj.ssl? : false
56
+ end
52
57
  # Returns the default avatar in an <img /> HTML tag
53
58
  def avatar_default_html(configuration = {})
54
59
  url = configuration[:default].present? ? configuration[:default] : ::Faces::Configuration::UNIVERSAL[:default]
@@ -83,7 +88,7 @@ module Faces
83
88
  html += ' />'
84
89
  end
85
90
 
86
- module_function :avatar_exists?, :provider_exists?, :provider_method_exists?, :avatar_url, :avatar_html, :generate_html, :avatar_default_html, :avatar_default_url
91
+ module_function :avatar_exists?, :provider_exists?, :provider_supports_ssl?, :provider_method_exists?, :avatar_url, :avatar_html, :generate_html, :avatar_default_html, :avatar_default_url
87
92
  end
88
93
  module Common
89
94
  # Merges together all configurations given from first to last in order of priority
@@ -29,6 +29,8 @@ module Faces
29
29
  end
30
30
  # Botch job as it's not possible to check for FBML avatar presence :(
31
31
  def exists?(identifier, configuration = {}); true; end
32
+ # Doesn't support SSL
33
+ def ssl?; false; end
32
34
  private
33
35
  # Calculates the size of image to pull from Facebook
34
36
  # This is decided based on the configuration settings of Faces
@@ -36,6 +36,8 @@ module Faces
36
36
  response = http.request(request)
37
37
  response.code == '200' ? true : false
38
38
  end
39
+ # Doesn't support SSL
40
+ def ssl?; false; end
39
41
  private
40
42
  # Fetches the buddyicon farm details based on the user_id given
41
43
  # An avatar can not be pulled from Flickr without this method
@@ -40,6 +40,8 @@ module Faces
40
40
  response = http.request(request)
41
41
  response.code == '200' ? true : false
42
42
  end
43
+ # Supports SSL
44
+ def ssl?; true; end
43
45
  # Formats email and converts into MD5 hash for use with Gravatar url
44
46
  def md5_email(email)
45
47
  Digest::MD5.hexdigest(email.strip.downcase)
@@ -25,6 +25,8 @@ module Faces
25
25
  m_configuration = Faces::Common.merge_configurations([Faces::Configuration::HIGHRISE, configuration])
26
26
  Faces::Public.generate_html(url(contact_id, configuration), m_configuration)
27
27
  end
28
+ # Supports SSL
29
+ def ssl?; true; end
28
30
  # Checks Avatar exists
29
31
  def exists?(contact_id, configuration = {})
30
32
  url = URI.parse(url(contact_id, configuration))
@@ -25,6 +25,8 @@ module Faces
25
25
  m_configuration = Faces::Common.merge_configurations([Faces::Configuration::TWITTER, configuration])
26
26
  Faces::Public.generate_html(url(username, configuration), m_configuration)
27
27
  end
28
+ # Doesn't support SSL
29
+ def ssl?; false; end
28
30
  # Checks Avatar exists
29
31
  def exists?(username, configuration = {})
30
32
  url = URI.parse(url(username, configuration))
data/test/test_faces.rb CHANGED
@@ -8,53 +8,66 @@ class FacesTest < Test::Unit::TestCase
8
8
  #--- avatar_url ---#
9
9
  ####################
10
10
  def test_avatar_url_should_return_avatar_url_non_secure
11
- url = Faces::Public.avatar_url('someone@something.com', 'gravatar')
11
+ url = ::Faces::Public.avatar_url('someone@something.com', 'gravatar')
12
12
  assert_match 'http', url
13
13
  end
14
14
 
15
15
  def test_avatar_url_should_return_avatar_url_secure
16
- url = Faces::Public.avatar_url('someone@something.com', 'gravatar', {:use_secure => true})
16
+ url = ::Faces::Public.avatar_url('someone@something.com', 'gravatar', {:use_secure => true})
17
17
  assert_match 'https', url
18
18
  end
19
19
 
20
20
  def test_avatar_url_should_return_default_when_provider_doesnt_exist
21
- url = Faces::Public.avatar_url('someone@something.com', 'imnotreal')
22
- assert_equal url, Faces::Public.avatar_default_url
21
+ url = ::Faces::Public.avatar_url('someone@something.com', 'imnotreal')
22
+ assert_equal url, ::Faces::Public.avatar_default_url
23
23
  end
24
24
 
25
25
  def test_avatar_url_should_return_default_when_provider_method_doesnt_exist
26
- url = Faces::Public.avatar_url('xyz', 'facebook')
27
- assert_equal url, Faces::Public.avatar_default_url
26
+ url = ::Faces::Public.avatar_url('xyz', 'facebook')
27
+ assert_equal url, ::Faces::Public.avatar_default_url
28
28
  end
29
29
 
30
30
  #####################
31
31
  #--- avatar_html ---#
32
32
  #####################
33
33
  def test_avatar_html_should_return_avatar_url_non_secure
34
- url = Faces::Public.avatar_html('someone@something.com', 'gravatar')
34
+ url = ::Faces::Public.avatar_html('someone@something.com', 'gravatar')
35
35
  assert_match 'http', url
36
36
  end
37
37
 
38
38
  def test_avatar_html_should_return_avatar_url_secure
39
- url = Faces::Public.avatar_html('someone@something.com', 'gravatar', {:use_secure => true})
39
+ url = ::Faces::Public.avatar_html('someone@something.com', 'gravatar', {:use_secure => true})
40
40
  assert_match 'https', url
41
41
  end
42
42
 
43
43
  def test_avatar_html_should_return_default_when_provider_doesnt_exist
44
- url = Faces::Public.avatar_html('someone@something.com', 'imnotreal')
45
- assert_equal url, Faces::Public.avatar_default_html
44
+ url = ::Faces::Public.avatar_html('someone@something.com', 'imnotreal')
45
+ assert_equal url, ::Faces::Public.avatar_default_html
46
46
  end
47
47
 
48
48
  ########################
49
49
  #--- avatar_exists? ---#
50
50
  ########################
51
51
  def test_avatar_exists_should_return_true_when_an_avatar_exists
52
- exists = Faces::Public.avatar_exists?('da9658571a8ca10cf8b0f91625a8c3d5', 'gravatar')
52
+ exists = ::Faces::Public.avatar_exists?('da9658571a8ca10cf8b0f91625a8c3d5', 'gravatar')
53
53
  assert_equal exists, true
54
54
  end
55
55
 
56
56
  def test_avatar_exists_should_return_false_when_an_avatar_doesnt_exists
57
- exists = Faces::Public.avatar_exists?('someone@something.com', 'gravatar')
57
+ exists = ::Faces::Public.avatar_exists?('someone@something.com', 'gravatar')
58
58
  assert_equal exists, false
59
59
  end
60
+
61
+ ################################
62
+ #--- provider_supports_ssl? ---#
63
+ ################################
64
+ def test_provider_supports_ssl_should_return_true_if_provider_is_ssl_enabled
65
+ result = ::Faces::Public.provider_supports_ssl?('gravatar')
66
+ assert result
67
+ end
68
+
69
+ def test_provider_supports_ssl_should_return_false_if_provider_is_not_ssl_enabled_or_set
70
+ result = ::Faces::Public.provider_supports_ssl?('twitter')
71
+ assert !result
72
+ end
60
73
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 5
8
- - 1
9
- version: 0.5.1
7
+ - 6
8
+ - 0
9
+ version: 0.6.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Nick Pellant
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-15 00:00:00 +01:00
17
+ date: 2010-03-18 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies: []
20
20