class ProjectFifo::Resource

Attributes

fifo[R]
namespace[R]

Public Class Methods

new(fifo, namespace) click to toggle source
# File lib/project-fifo/resource.rb, line 8
def initialize(fifo, namespace)
  @namespace = namespace
  @fifo = fifo
end

Public Instance Methods

[](uuid) click to toggle source

alias didn’t work. research it

# File lib/project-fifo/resource.rb, line 18
def [](uuid)
  get(uuid)
end
create(data) click to toggle source
# File lib/project-fifo/resource.rb, line 34
def create(data)
  validate!(data)
  fifo.post(namespace, data)
end
delete(uuid) click to toggle source
# File lib/project-fifo/resource.rb, line 39
def delete(uuid)
  fifo.delete(namespace + '/' + uuid)
end
get(uuid) click to toggle source
# File lib/project-fifo/resource.rb, line 22
def get(uuid)
    fifo.get(namespace + '/' + uuid)
end
get_by_name(name) click to toggle source
# File lib/project-fifo/resource.rb, line 26
def get_by_name(name)
  list.map{|i| get(i) }.select{|i| i['name'] == name}
end
list() click to toggle source
# File lib/project-fifo/resource.rb, line 13
def list
  fifo.get(namespace)
end
metadata(uuid, key, value) click to toggle source
# File lib/project-fifo/resource.rb, line 30
def metadata(uuid, key, value)
  fifo.put([ namespace, uuid, 'metadata'].join('/'), { key => value })
end
post(uuid, payload) click to toggle source
# File lib/project-fifo/resource.rb, line 43
def post(uuid, payload)
  fifo.post(namespace + '/' + uuid, payload)
end
put(uuid, payload) click to toggle source
# File lib/project-fifo/resource.rb, line 47
def put(uuid, payload)
  fifo.put(namespace + '/' + uuid, payload)
end

Protected Instance Methods

validate!(data) click to toggle source
# File lib/project-fifo/resource.rb, line 52
def validate!(data)
  validator = HashValidator.validate(data, validations)
  raise(ArgumentError, validator.errors) unless validator.valid?
end
validations() click to toggle source
# File lib/project-fifo/resource.rb, line 57
def validations()
  return {}
end