module Card::Env::Success::Target

The success “target” is the destination upon success.

@card, @name, @id, etc all refer to the target card

Public Instance Methods

card(name_context=@name_context) click to toggle source
# File lib/card/env/success/target.rb, line 46
def card name_context=@name_context
  if @card
    @card
  elsif @id
    Card.fetch @id
  elsif @name
    Card.fetch @name.to_name.absolute(name_context), new: @new_args
  end
end
content=(content) click to toggle source
# File lib/card/env/success/target.rb, line 42
def content= content
  @new_args[:content] = content
end
id=(id) click to toggle source

@deprecated

# File lib/card/env/success/target.rb, line 28
def id= id
  # for backwards compatibility use mark here.
  # id was often used for the card name
  self.mark = id
end
mark=(value) click to toggle source

TODO: refactor to use cardish

# File lib/card/env/success/target.rb, line 18
def mark= value
  case value
  when Integer then @id = value
  when Card then @card = value
  else
    self.target = value
  end
end
target(name_context=@name_context) click to toggle source
# File lib/card/env/success/target.rb, line 13
def target name_context=@name_context
  card(name_context) || @target || Card.fetch(name_context)
end
target=(value) click to toggle source
# File lib/card/env/success/target.rb, line 8
def target= value
  @id = @name = @card = nil
  @target = process_target value
end
type=(type) click to toggle source
# File lib/card/env/success/target.rb, line 34
def type= type
  @new_args[:type] = type
end
type_id=(type_id) click to toggle source
# File lib/card/env/success/target.rb, line 38
def type_id= type_id
  @new_args[:type_id] = type_id.to_i
end

Private Instance Methods

process_target(value) click to toggle source
# File lib/card/env/success/target.rb, line 58
def process_target value
  case value
  when ""
    ""
  when "*previous", ":previous", :previous
    Card::Env.previous_location
  when %r{^(http|/)}
    value
  else
    @name = Name[value]
  end
end