Sha256: acfca45cbb7dd237b4db4db26965504103bd4d84e69bfc81b1ebe99131853f58

Contents?: true

Size: 835 Bytes

Versions: 2

Compression:

Stored size: 835 Bytes

Contents

require 'json'

module LinkShrink
  module Shrinkers
    # @author Jonah Ruiz <jonah@pixelhipsters.com>
    # Implements Owly's URL Shortener API
    class Owly < Base
      # Defines response structure to be parsed
      response_options do
        collection 'results'
        short_url  'shortUrl'
        error
      end

      # Returns URL base for API
      # @return [String] api base url
      def base_url
        'http://ow.ly/api/1.1/url/shorten'
      end

      # Returns URL query parameters
      # @return [String] query parameters to be used in request
      def api_query_parameter
        "?apiKey=#{api_key}&longUrl=#{url}"
      end

      # Returns full api url
      # @return [String] full api url with query parameters
      def api_url
        base_url.concat api_query_parameter
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
link_shrink-0.0.8 lib/link_shrink/shrinkers/owly.rb
link_shrink-0.0.7 lib/link_shrink/shrinkers/owly.rb