wordnik_ruby_helpers 0.1.7 → 0.1.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.
- data/Gemfile.lock +1 -1
- data/lib/wordnik_ruby_helpers/version.rb +1 -1
- data/lib/wordnik_ruby_helpers.rb +8 -1
- data/spec/wordnik_ruby_helpers_spec.rb +21 -0
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/lib/wordnik_ruby_helpers.rb
CHANGED
@@ -256,7 +256,7 @@ class String
|
|
256
256
|
# Extracts domain name from a URL
|
257
257
|
def domain
|
258
258
|
url = self.dup
|
259
|
-
url=~(/^(?:\w+:\/\/)?([^\/?]+)(?:\/|\?|$)/) ? $1 : url
|
259
|
+
url =~ (/^(?:\w+:\/\/)?([^\/?]+)(?:\/|\?|$)/) ? $1 : url
|
260
260
|
end
|
261
261
|
|
262
262
|
# Extracts domain name (sans 'www.') from a URL string
|
@@ -271,6 +271,13 @@ class String
|
|
271
271
|
rescue
|
272
272
|
false
|
273
273
|
end
|
274
|
+
|
275
|
+
# Given a URL string, return a URL to a google-hosted PNG favicon for the URL's domain
|
276
|
+
def favicon_url_for_domain(options={})
|
277
|
+
base_url = "http://www.google.com/s2/favicons?domain="
|
278
|
+
options[:fallback] ||= base_url
|
279
|
+
self.valid_url? ? [base_url, self.domain].join : options[:fallback]
|
280
|
+
end
|
274
281
|
|
275
282
|
# Returns true or false depending on whether a string appears to be an email address
|
276
283
|
def valid_email?
|
@@ -2,6 +2,27 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe WordnikRubyHelpers do
|
4
4
|
|
5
|
+
|
6
|
+
context "favicon_url_for_domain" do
|
7
|
+
|
8
|
+
|
9
|
+
it "should return a URL for a google favicon, given the string's domain" do
|
10
|
+
url = "http://nytimes.com/we-love-wordnik"
|
11
|
+
url.favicon_url_for_domain.should == 'http://www.google.com/s2/favicons?domain=nytimes.com'
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should use the provided fallback if string is not a valid URL" do
|
15
|
+
url = "we love wordnik yes we do"
|
16
|
+
url.favicon_url_for_domain(:fallback => "my_favicon.png").should == 'my_favicon.png'
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should render google's default icon if supplied string is not a valid URL and no fallback was provided" do
|
20
|
+
url = "this is not -- a U! R! L!"
|
21
|
+
url.favicon_url_for_domain.should == 'http://www.google.com/s2/favicons?domain='
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
5
26
|
context "permalinkify" do
|
6
27
|
|
7
28
|
it "doesn't alter the original object" do
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: wordnik_ruby_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.8
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Zeke Sikelianos
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2011-08-
|
14
|
+
date: 2011-08-12 00:00:00 -07:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|