class BCDice::Command::Parsed

Attributes

cmp_op[RW]

@return [Symbol, nil]

command[RW]

@return [String]

critical[RW]

@return [Integer, nil]

dollar[RW]

@return [Integer, nil]

fumble[RW]

@return [Integer, nil]

modify_number[RW]

@return [Integer]

prefix_number[RW]

@return [Integer, nil]

question_target[W]

@param value [Boolean] @return [Boolean]

suffix_number[RW]

@return [Integer, nil]

target_number[RW]

@return [Integer, nil]

Public Class Methods

new() click to toggle source
# File lib/bcdice/command/parsed.rb, line 37
def initialize
  @prefix_number = nil
  @suffix_number = nil
  @critical = nil
  @fumble = nil
  @dollar = nil
  @cmp_op = nil
  @target_number = nil
  @question_target = false
end

Public Instance Methods

question_target?() click to toggle source

@return [Boolean]

# File lib/bcdice/command/parsed.rb, line 49
def question_target?
  @question_target
end
to_s(suffix_position = :after_command) click to toggle source

@param suffix_position [Symbol] クリティカルなどの表示位置 @return [String]

# File lib/bcdice/command/parsed.rb, line 55
def to_s(suffix_position = :after_command)
  c = @critical ? "@#{@critical}" : nil
  f = @fumble ? "##{@fumble}" : nil
  d = @dollar ? "$#{@dollar}" : nil
  m = Format.modifier(@modify_number)
  target = @question_target ? "?" : @target_number

  case suffix_position
  when :after_command
    [@prefix_number, @command, @suffix_number, c, f, d, m, @cmp_op, target].join()
  when :after_modify_number
    [@prefix_number, @command, @suffix_number, m, c, f, d, @cmp_op, target].join()
  when :after_target_number
    [@prefix_number, @command, @suffix_number, m, @cmp_op, target, c, f, d].join()
  end
end