class PrintReleaf::Resource
Attributes
copy[R]
owner[RW]
Public Class Methods
action(sym)
click to toggle source
# File lib/printreleaf/resource.rb, line 21 def action(sym) actions.tap { |list| list.add(sym) }.each { |action| include Actions.const_get(action.to_s.capitalize) } end
actions()
click to toggle source
# File lib/printreleaf/resource.rb, line 17 def actions @actions ||= Set.new end
new(*args)
click to toggle source
Calls superclass method
# File lib/printreleaf/resource.rb, line 36 def initialize(*args) super @copy = self.dup.freeze end
path(value=nil)
click to toggle source
# File lib/printreleaf/resource.rb, line 8 def path(value=nil) @path = value if value @path or raise "Path not declared." end
uri()
click to toggle source
# File lib/printreleaf/resource.rb, line 13 def uri path end
Public Instance Methods
changes()
click to toggle source
# File lib/printreleaf/resource.rb, line 59 def changes keys.map(&:to_sym).inject({}) do |diff, key| unless self[key] == copy[key] diff[key] = self[key] end diff end end
compact_inspect()
click to toggle source
# File lib/printreleaf/resource.rb, line 84 def compact_inspect "".tap do |str| str << "#<#{self.class} " str << "id='#{self.id}'" if respond_to?(:id) str << ">" end end
delete()
click to toggle source
# File lib/printreleaf/resource.rb, line 50 def delete raise DoesNotImplement, "Resource does not implement `delete`" end
deleted?()
click to toggle source
# File lib/printreleaf/resource.rb, line 68 def deleted? !!deleted end
find(*args)
click to toggle source
# File lib/printreleaf/resource.rb, line 46 def find(*args) raise DoesNotImplement, "Resource does not implement `find`" end
inspect()
click to toggle source
# File lib/printreleaf/resource.rb, line 76 def inspect "".tap do |str| str << "#<#{self.class} " str << JSON.pretty_generate(self) str << ">" end end
reset(hash)
click to toggle source
# File lib/printreleaf/resource.rb, line 54 def reset(hash) delete_if { true } update(hash) end
to_s()
click to toggle source
# File lib/printreleaf/resource.rb, line 72 def to_s "#<#{self.class.name}>" end
uri()
click to toggle source
# File lib/printreleaf/resource.rb, line 41 def uri scope = owner ? owner.uri : nil Util.join_uri(scope, self.class.uri, self.id) end