Module: ActiveFedora::Common

Extended by:
ActiveSupport::Concern
Includes:
Pathing
Included in:
Core, File
Defined in:
lib/active_fedora/common.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#<=>(other) ⇒ Object

Allows sort on objects



40
41
42
43
44
45
46
# File 'lib/active_fedora/common.rb', line 40

def <=>(other)
  if other.is_a?(self.class)
    to_key <=> other.to_key
  else
    super
  end
end

#==(other) ⇒ Object

Returns true if comparison_object is the same exact object, or comparison_object is of the same type and self has an ID and it is equal to comparison_object.id.

Note that new records are different from any other record by definition, unless the other record is the receiver itself.

Note also that destroying a record preserves its ID in the model instance, so deleted models are still comparable.



32
33
34
35
36
37
# File 'lib/active_fedora/common.rb', line 32

def ==(other)
  other.equal?(self) ||
    (other.instance_of?(self.class) &&
      !id.nil? &&
      other.id == id)
end

#freezeObject

Freeze datastreams such that they can be loaded from Fedora, but can’t be changed



49
50
51
# File 'lib/active_fedora/common.rb', line 49

def freeze
  @frozen = true
end

#frozen?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/active_fedora/common.rb', line 53

def frozen?
  @frozen.present?
end

#ldp_sourceObject



20
21
22
# File 'lib/active_fedora/common.rb', line 20

def ldp_source
  @ldp_source
end

#readonly!Object

Marks this record as read only.



64
65
66
# File 'lib/active_fedora/common.rb', line 64

def readonly!
  @readonly = true
end

#readonly?Boolean

Returns true if the record is read only. Records loaded through joins with piggy-back attributes will be marked as read only since they cannot be saved.

Returns:

  • (Boolean)


59
60
61
# File 'lib/active_fedora/common.rb', line 59

def readonly?
  @readonly
end