class Card::Content::Chunk::Reference

Attributes

name[RW]
referee_name[W]

Public Instance Methods

referee_card() click to toggle source
# File lib/card/content/chunk/reference.rb, line 22
def referee_card
  @referee_card ||= referee_name && Card.fetch(referee_name)
end
referee_name() click to toggle source
# File lib/card/content/chunk/reference.rb, line 9
def referee_name
  return if name.nil?

  @referee_name ||= referee_raw_name
  @referee_name = @referee_name.absolute_name card.name
rescue Card::Error::NotFound
  # do not break on missing id/codename references.
end
referee_raw_name() click to toggle source
# File lib/card/content/chunk/reference.rb, line 18
def referee_raw_name
  Name[render_obj(name)]
end

Private Instance Methods

render_obj(raw) click to toggle source
# File lib/card/content/chunk/reference.rb, line 40
def render_obj raw
  return raw unless format && raw.is_a?(Content)

  format.process_content raw
end
replace_name_reference(old_name, new_name) click to toggle source
# File lib/card/content/chunk/reference.rb, line 28
def replace_name_reference old_name, new_name
  @referee_card = nil
  @referee_name = nil
  if name.is_a? Content
    name.find_chunks(:Reference).each do |chunk|
      chunk.replace_reference old_name, new_name
    end
  else
    @name = name.to_name.swap old_name, new_name
  end
end