class GitDS::ProxyItemList

A generic list of links to ModelItemClass instance of a specific class.

Example:

class a/1/name
class a/1/data
class a/2/name
class a/2/data
class b/1/a/1
class b/1/a/2

class b/$ID/a is a list of links to class a objects.

Public Class Methods

new(cls, model, path) click to toggle source
Calls superclass method GitDS::ModelItemList::new
# File lib/git-ds/model/item_proxy.rb, line 104
def initialize(cls, model, path)
  @true_class = cls
  @proxy_class = ModelItemClassProxy.new(cls)
  super @proxy_class, model, path
end

Public Instance Methods

add(parent, obj, on_fs=false) click to toggle source

Add a link to ‘obj’ to the list.

Calls superclass method GitDS::ModelItemList#add
# File lib/git-ds/model/item_proxy.rb, line 113
def add(parent, obj, on_fs=false)
  args = { :path => obj.path, :fs => on_fs }
  args[@true_class.ident_key] = obj.ident
  super parent, args
end
delete(ident) click to toggle source

Delete a link from the list. This does not delete the object that was linked to.

# File lib/git-ds/model/item_proxy.rb, line 123
def delete(ident)
  @model.delete_item @proxy_class.instance_path(@base_path, ident)
end