Class: DMTool::Parser::DiceString

Inherits:
Object
  • Object
show all
Defined in:
lib/dmtool/parser/dice_string.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(string) ⇒ DiceString

Returns a new instance of DiceString.



3
4
5
6
7
# File 'lib/dmtool/parser/dice_string.rb', line 3

def initialize(string)
  @string = string
  validate_format!
  parse_string
end

Instance Attribute Details

#modifierObject (readonly)

Returns the value of attribute modifier.



2
3
4
# File 'lib/dmtool/parser/dice_string.rb', line 2

def modifier
  @modifier
end

#numberObject (readonly)

Returns the value of attribute number.



2
3
4
# File 'lib/dmtool/parser/dice_string.rb', line 2

def number
  @number
end

#sidesObject (readonly)

Returns the value of attribute sides.



2
3
4
# File 'lib/dmtool/parser/dice_string.rb', line 2

def sides
  @sides
end

#stringObject (readonly)

Returns the value of attribute string.



2
3
4
# File 'lib/dmtool/parser/dice_string.rb', line 2

def string
  @string
end

#typeObject (readonly)

Returns the value of attribute type.



2
3
4
# File 'lib/dmtool/parser/dice_string.rb', line 2

def type
  @type
end

Instance Method Details

#diceObject



9
10
11
# File 'lib/dmtool/parser/dice_string.rb', line 9

def dice
  (1..number).map { DMTool::Die.new(sides: sides)}
end

#directivesObject



13
14
15
# File 'lib/dmtool/parser/dice_string.rb', line 13

def directives
  [DIRECTIVES[type]].compact
end