Class: Bitly::Client
Instance Method Summary collapse
- #expand(input) ⇒ Object
- #info(input) ⇒ Object
-
#initialize(login, api_key) ⇒ Client
constructor
A new instance of Client.
- #shorten(input, keyword = nil) ⇒ Object
- #stats(input) ⇒ Object
Constructor Details
#initialize(login, api_key) ⇒ Client
Returns a new instance of Client.
17 18 19 20 |
# File 'lib/bitly/client.rb', line 17 def initialize(login,api_key) @login = login @api_key = api_key end |
Instance Method Details
#expand(input) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/bitly/client.rb', line 41 def (input) if input.is_a? String if input.include? "bit.ly/" hash = input.gsub(/^.*bit.ly\//,'') request = create_url "expand", :hash => hash result = get_result(request) result = { :short_url => input, :hash => hash }.merge result[hash] else request = create_url "expand", :hash => input result = get_result(request) result = { :hash => input, :short_url => "http://bit.ly/#{input}" }.merge result[input] end Bitly::Url.new(@login,@api_key,result) elsif input.is_a? Array request = create_url "expand", :hash => input.join(',') result = get_result(request) input.map do |hsh| new_url = {:hash => hsh, :short_url => "http://bit.ly/#{hsh}"}.merge result[hsh] hsh = Bitly::Url.new(@login,@api_key,new_url) end else raise ArgumentError end end |
#info(input) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/bitly/client.rb', line 66 def info(input) if input.is_a? String if input.include? "bit.ly/" hash = input.gsub(/^.*bit.ly\//,'') request = create_url 'info', :hash => hash result = get_result(request) result = { :short_url => "http://bit.ly/#{hash}", :hash => hash }.merge result[hash] else request = create_url 'info', :hash => input result = get_result(request) result = { :short_url => "http://bit.ly/#{input}", :hash => input }.merge result[input] end Bitly::Url.new(@login,@api_key,result) elsif input.is_a? Array request = create_url "info", :hash => input.join(',') result = get_result(request) input.map do |hsh| new_url = {:hash => hsh, :short_url => "http://bit.ly/#{hsh}"}.merge result[hsh] hsh = Bitly::Url.new(@login,@api_key,:info => new_url) end end end |
#shorten(input, keyword = nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/bitly/client.rb', line 22 def shorten(input, keyword=nil) if input.is_a? String request = create_url "shorten", :longUrl => input, :keyword => keyword result = get_result(request) result = {:long_url => input}.merge result[input] Bitly::Url.new(@login,@api_key,result) elsif input.is_a? Array request = create_url "shorten" request.query << "&" + input.map { |long_url| "longUrl=#{CGI.escape(long_url)}" }.join("&") unless input.nil? result = get_result(request) input.map do |long_url| new_url = {:long_url => long_url}.merge result[long_url] long_url = Bitly::Url.new(@login,@api_key,new_url) end else raise ArgumentError end end |
#stats(input) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/bitly/client.rb', line 89 def stats(input) if input.is_a? String if input.include? "bit.ly/" hash = input.gsub(/^.*bit.ly\//,'') request = create_url 'stats', :hash => hash result = get_result(request) result = { :short_url => "http://bit.ly/#{hash}", :hash => hash }.merge result else request = create_url 'stats', :hash => input result = get_result(request) result = { :short_url => "http://bit.ly/#{input}", :hash => input }.merge result end Bitly::Url.new(@login,@api_key,:stats => result) else raise ArgumentError end end |