class Nucleo::Requests::Feed

Public Class Methods

retrieve(site_id, params={}) click to toggle source

Retrieve a feed with the specified params

@param site_id [String,Integer] The ID of the site for the feed @param max_feed_items [Integer] Max number of feed items

@return [JSON]

# File lib/nucleo/requests/feed.rb, line 11
def self.retrieve(site_id, params={})

  default_params = {
    :id             => site_id,
    :max_feed_items => 10
  }

  request_params = default_params.merge!(params)

  route = Nucleo::Client.routes.route_for('site-feed')
  url   = route.url_for(request_params)

  request = Nucleo::Client.get(url)

  request.on(:success) do |resp|
    response_body = resp.body

    if response_body.is_a?(Hash) && response_body.has_key?("errorType")
      Nucleo::Client.configuration.logger.error do
        "ERR: %s" % [response_body]
      end

      return []
    else
      return response_body
    end
  end

  request.on(:failure) do |resp|
    Nucleo::Client.configuration.logger.error do
      "App Error: %s" % [resp.body]
    end

    return []
  end

  request.on(:server_error) do |resp|
    Nucleo::Client.configuration.logger.error do
      "Server Error: %s" % [resp.body]
    end

    return []
  end
end