My favorites
▼
|
Sign in
acts-as-tiny-url
Simple Ruby on Rails plugin that allows you to generate a tiny url using TinyURL's API
Project Home
Downloads
Wiki
Issues
Source
Checkout
Browse
Changes
Source path:
svn
/
trunk
/
acts_as_tiny_url
/
lib
/
acts_as_tiny_url.rb
r7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Author:: Brendan G. Lim (brendangl@gmail.com)
module ActsAsTinyURL
class ActsAsTinyURLError < StandardError; end;
def tiny_url(uri, options = {})
defaults = { :validate_uri => false }
options = defaults.merge options
return validate_uri(uri) if options[:validate_uri]
return generate_uri(uri)
end
private
def validate_uri(uri)
confirmed_uri = uri[/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix]
if confirmed_uri.blank?
return false
else
return true
end
end
def generate_uri(uri)
confirmed_uri = uri[/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix]
if !confirmed_uri.blank?
escaped_uri = URI.escape("http://tinyurl.com/api-create.php?url=#{confirmed_uri}")
uri_parsed = Net::HTTP.get_response(URI.parse(escaped_uri)).body
return uri_parsed
else
raise ActsAsTinyURLError.new("Provided URL is incorrectly formatted.")
end
end
end
Show details
Hide details
Change log
r7
by brendangl on Jan 17, 2008
Diff
Adding in version 0.1.1 - now more of a helper
Go to:
/trunk/acts_as_tiny_url
/trunk/acts_as_tiny_url/MIT-LICENSE
/trunk/acts_as_tiny_url/README
/trunk/acts_as_tiny_url/Rakefile
/trunk/acts_as_tiny_url/init.rb
/trunk/acts_as_tiny_url/install.rb
/trunk/acts_as_tiny_url/lib
...tiny_url/lib/acts_as_tiny_url.rb
/trunk/acts_as_tiny_url/tasks
...asks/acts_as_tiny_url_tasks.rake
/trunk/acts_as_tiny_url/test
...rl/test/acts_as_tiny_url_test.rb
...nk/acts_as_tiny_url/uninstall.rb
Project members,
sign in
to write a code review
Older revisions
All revisions of this file
File info
Size: 1026 bytes, 36 lines
View raw file
Powered by
Google Project Hosting