Class: ActiveModel::GlobalID

Inherits:
Object
  • Object
show all
Defined in:
lib/active_model/global_id.rb

Direct Known Subclasses

SignedGlobalID

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(gid) ⇒ GlobalID

Returns a new instance of GlobalID.



10
11
12
# File 'lib/active_model/global_id.rb', line 10

def initialize(gid)
  @gid = gid
end

Class Method Details

.create(model) ⇒ Object



6
7
8
# File 'lib/active_model/global_id.rb', line 6

def self.create(model)
  new "GlobalID-#{model.class.name}-#{model.id}"
end

Instance Method Details

#==(other_global_id) ⇒ Object



22
23
24
# File 'lib/active_model/global_id.rb', line 22

def ==(other_global_id)
  other_global_id.is_a?(GlobalID) && to_s == other_global_id.to_s
end

#model_classObject



14
15
16
# File 'lib/active_model/global_id.rb', line 14

def model_class
  @model_klass ||= @gid.split("-").second.constantize
end

#model_idObject



18
19
20
# File 'lib/active_model/global_id.rb', line 18

def model_id
  @model_id ||= @gid.split('-')[2..-1].join('-')
end

#to_sObject



26
27
28
# File 'lib/active_model/global_id.rb', line 26

def to_s
  @gid
end