class Nucleo::Requests::Page

Public Class Methods

all(site_id) click to toggle source
# File lib/nucleo/requests/page.rb, line 4
def self.all(site_id)
  route = Nucleo::Client.routes.route_for('site-pages')
  url   = route.url_for(id: site_id)

  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
retrieve(site_id, id) click to toggle source
# File lib/nucleo/requests/page.rb, line 69
def self.retrieve(site_id, id)
  route = Nucleo::Client.routes.route_for('site-page-detail')
  url   = route.url_for(site_id: site_id, id: id)

  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
      # We need to merge in the `page` to be the root object
      page_object = response_body.fetch('page', {})

      response_body = response_body.merge!(page_object)

      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
retrieve!(site_id, id) click to toggle source
# File lib/nucleo/requests/page.rb, line 41
def self.retrieve!(site_id, id)
  route = Nucleo::Client.routes.route_for('site-page-detail')
  url   = route.url_for(site_id: site_id, id: id)

  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")
      msg = "Could not page with id %s" % [id]
      raise Nucleo::Errors::RecordNotFound.new(msg) and return
    else
      # We need to merge in the `page` to be the root object
      page_object = response_body.fetch('page', {})

      response_body = response_body.merge!(page_object)

      return response_body
    end
  end

  request.on(:failure, :server_error) do |resp|
    msg = "Could not find page with id %s" % [id]
    raise Nucleo::Errors::RecordNotFound.new(msg) and return
  end
end