class Oembedr::Client

Attributes

parsed_url[RW]
resource_url[RW]

Public Class Methods

new(url) click to toggle source
# File lib/oembedr/client.rb, line 8
def initialize url
  self.resource_url = url
  self.parsed_url = ParsedUrl.new(url)

end

Public Instance Methods

connection(options = {}) click to toggle source

Sets up a Faraday::Connection object

@param options [optional]

@return Faraday::Connection

# File lib/oembedr/client.rb, line 19
def connection options = {}
  the_options = {
    :headers => {
      "Accept" => "application/json",
      "User-Agent" => Oembedr.user_agent
    },
    :url => parsed_url.host
  }.merge(options)

  Faraday.new(the_options) do |builder|
    builder.use Faraday::Request::UrlEncoded
    builder.use Faraday::Response::ParseJson
    builder.use Faraday::Response::RaiseError
    builder.adapter Oembedr.adapter
  end
end
get(options = {}) click to toggle source

Requests the oembeddable resource

@return Faraday::Response

# File lib/oembedr/client.rb, line 39
def get options = {}
  additional_params = options.delete(:params) || {}
  connection(options).get do |req|
    req.url parsed_url.path
    req.params = additional_params.merge({
      :url => resource_url,
      :format => "json"
    })
  end
end
ready?() click to toggle source

Returns a boolean true/false if we can process this request

@return Boolean

# File lib/oembedr/client.rb, line 53
def ready?
  !!parsed_url.host
end