class Springcm::ResourceList
A list object of arbitrary SpringCM resources. Allows for easy navigation of paged resources like documents and attribute groups. All resources that are retrieved in this manner are attached to a parent object, e.g. the account for attribute groups, or a folder for documents.
Public Class Methods
new(data, parent_object, kind, client, method_override: nil)
click to toggle source
Calls superclass method
Springcm::Object::new
# File lib/springcm-sdk/resource_list.rb, line 7 def initialize(data, parent_object, kind, client, method_override: nil) @parent_object = parent_object @kind = kind @method_override = method_override super(data, client) end
Public Instance Methods
first()
click to toggle source
# File lib/springcm-sdk/resource_list.rb, line 22 def first nav_list("First") end
items()
click to toggle source
# File lib/springcm-sdk/resource_list.rb, line 30 def items @data.fetch("Items", []).map { |item| @kind.new(item, @client) } end
last()
click to toggle source
# File lib/springcm-sdk/resource_list.rb, line 26 def last nav_list("Last") end
next()
click to toggle source
# File lib/springcm-sdk/resource_list.rb, line 14 def next nav_list("Next") end
prev()
click to toggle source
# File lib/springcm-sdk/resource_list.rb, line 18 def prev nav_list("Previous") end
Private Instance Methods
method_for_kind!(kind)
click to toggle source
TODO: Better pattern for generating related links
Possibly a Springcm::DocumentVersion object?
# File lib/springcm-sdk/resource_list.rb, line 51 def method_for_kind!(kind) method = nil if !@method_override.nil? method = @method_override elsif kind == Springcm::Folder method = :folders elsif kind == Springcm::Document method = :documents elsif kind == Springcm::AttributeGroup method = :attribute_groups elsif kind == Springcm::HistoryItem method = :history elsif kind == Springcm::Group method = :groups elsif kind == Springcm::User method = :users else raise ArgumentError.new("Resource kind must be one of: Springcm::Document, Springcm::Folder, Springcm::AttributeGroup, Springcm::HistoryItem, Springcm::User, Springcm::Group.") end return method end