games_dice 0.3.9 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/games_dice.rb CHANGED
@@ -1,19 +1,21 @@
1
- require "games_dice/version"
1
+ # frozen_string_literal: true
2
+
3
+ require 'games_dice/version'
2
4
  begin
3
- require "games_dice/games_dice"
5
+ require 'games_dice/games_dice'
4
6
  rescue LoadError
5
- require "games_dice/probabilities"
7
+ require 'games_dice/probabilities'
6
8
  end
7
- require "games_dice/constants"
8
- require "games_dice/die"
9
- require "games_dice/die_result"
10
- require "games_dice/reroll_rule"
11
- require "games_dice/map_rule"
12
- require "games_dice/complex_die"
13
- require "games_dice/bunch"
14
- require "games_dice/dice"
15
- require "games_dice/parser"
16
- require "games_dice/marshal"
9
+ require 'games_dice/constants'
10
+ require 'games_dice/die'
11
+ require 'games_dice/die_result'
12
+ require 'games_dice/reroll_rule'
13
+ require 'games_dice/map_rule'
14
+ require 'games_dice/complex_die'
15
+ require 'games_dice/bunch'
16
+ require 'games_dice/dice'
17
+ require 'games_dice/parser'
18
+ require 'games_dice/marshal'
17
19
 
18
20
  module GamesDice
19
21
  # @!visibility private
@@ -24,8 +26,9 @@ module GamesDice
24
26
  # @param [#rand] prng Optional random number generator, default is to use Ruby's built-in #rand()
25
27
  # @return [GamesDice::Dice] A new dice object.
26
28
  #
27
- def self.create dice_description, prng = nil
28
- parsed = @@parser.parse( dice_description )
29
- GamesDice::Dice.new( parsed[:bunches], parsed[:offset], prng )
29
+ def self.create(dice_description, prng = nil)
30
+ parsed = @@parser.parse(dice_description)
31
+ parsed[:bunches].each { |bunch| bunch.merge!(prng: prng) } if prng
32
+ GamesDice::Dice.new(parsed[:bunches], parsed[:offset])
30
33
  end
31
34
  end