Sha256: df7142487cb53e5113e60995d3304e5fd8bb5bb09191e74369b7ca324d10f10e

Contents?: true

Size: 999 Bytes

Versions: 1

Compression:

Stored size: 999 Bytes

Contents

class SsbeModel
  include Datapathy::Model

  persists :_type, :href, :id, :created_at, :updated_at

  def initialize(attributes = {})
    super
    self._type = self.class.to_s
  end

  def self.service_type(service_type = nil)
    if service_type
      @service_type = service_type
    else
      @service_type
    end
  end

  def self.resource_name(resource_name = nil)
    if resource_name
      @resource_name = resource_name
    else
      @resource_name
    end
  end

  # Get a single resource from a known location
  def self.at(href)
    self.detect { |m|
      m.href == href
    }
  end

  # Get a collection from a location other than the default
  def self.from(href)
    query = SsbeConsole::SsbeQuery.new(model)
    query.location = href
    Datapathy::Collection.new(query)
  end

  def self.key
    :href
  end

end

module SsbeConsole
  class SsbeQuery < Datapathy::Query
    def location
      @location
    end
    def location=(href)
      @location = href
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paul-datapathy-ssbe-adapter-0.1.0 lib/ssbe_model.rb