class PrintReleaf::Relation

Attributes

actions[R]
owner[R]
path[R]
resource_class[R]

Public Class Methods

new(owner, resource_class, options={}) click to toggle source
# File lib/printreleaf/relation.rb, line 10
def initialize(owner, resource_class, options={})
  @owner          = owner
  @resource_class = resource_class
  @path           = options[:path] || resource_class.uri
  @actions        = Set.new(options[:actions] || resource_class.actions)
  @actions.each do |action|
    extend Actions.const_get(action.to_s.capitalize)
  end
end

Public Instance Methods

count() click to toggle source
# File lib/printreleaf/relation.rb, line 53
def count
  related.count
end
each() { |resource| ... } click to toggle source
# File lib/printreleaf/relation.rb, line 38
def each
  return enum_for(:each) unless block_given?
  related.each do |resource|
    yield resource
  end
end
first() click to toggle source
# File lib/printreleaf/relation.rb, line 45
def first
  related.first
end
inspect() click to toggle source
# File lib/printreleaf/relation.rb, line 65
def inspect
  "#<#{self.class}(#{resource_class}) owner=#{owner.compact_inspect} path=#{path} actions=#{actions}>"
end
last() click to toggle source
# File lib/printreleaf/relation.rb, line 49
def last
  related.last
end
length() click to toggle source
# File lib/printreleaf/relation.rb, line 57
def length
  related.length
end
new(*args) click to toggle source
# File lib/printreleaf/relation.rb, line 24
def new(*args)
  @resource_class.new(*args).tap do |resource|
    resource.owner = owner
  end
end
to_s() click to toggle source
# File lib/printreleaf/relation.rb, line 61
def to_s
  "#<#{self.class.name}(#{resource_class}>"
end
uri() click to toggle source
# File lib/printreleaf/relation.rb, line 20
def uri
  Util.join_uri(owner.uri, path)
end