Class: Printfection::Resource

Inherits:
Hashie::Trash
  • Object
show all
Includes:
Hashie::Extensions::Coercion, Hashie::Extensions::IndifferentAccess
Defined in:
lib/printfection/resource.rb

Direct Known Subclasses

Address, Asset, Campaign, Item, LineItem, Manifest, Order, Product, Size

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Resource

Returns a new instance of Resource.



10
11
12
13
# File 'lib/printfection/resource.rb', line 10

def initialize(*args)
  super
  @_old = self.dup
end

Instance Attribute Details

#relationObject

Returns the value of attribute relation.



8
9
10
# File 'lib/printfection/resource.rb', line 8

def relation
  @relation
end

Instance Method Details

#changesObject



20
21
22
23
24
25
26
27
# File 'lib/printfection/resource.rb', line 20

def changes
  keys.inject({}) do |diff, key|
    unless self[key] == @_old[key]
      diff[key] = self[key]
    end
    diff
  end
end

#uriObject



15
16
17
18
# File 'lib/printfection/resource.rb', line 15

def uri
  base = self.relation.nil? ? self.class.uri : self.relation.uri
  Util.join_uri(base, self.id)
end