character-roller 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/bin/dice +1 -1
  4. data/lib/roller.rb +16 -8
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f54f2ad00766b68f0f5d42b26e834ec2f252979
4
- data.tar.gz: e0b3bb6ed89b0b8a31fb418053c7b5652ae0c01f
3
+ metadata.gz: f7806aacd52d3f77c37431a3cb767b48dfb4b307
4
+ data.tar.gz: 83d5af29011a70a52a5e98d846b4ae0905cc39aa
5
5
  SHA512:
6
- metadata.gz: 959062159f5f66757a87e5e8b7f6aa9112010c60ba9d888cbfadb7dd0a268b9343f1a7e349996777f53573ec939b08ba68313e40d476042264622eee2e955cf7
7
- data.tar.gz: cde46532697a13c65bea52885bee479e333147c2d1bbd3d9e1b1bd9d765f5f2d187fa4c88c75cbb849182be3ae53a85a14f6340721ea4e8538bd738d0edd55d6
6
+ metadata.gz: ad2f7521527f181327cd9a32c0e9236e7d4d07d156b7f7d0cb269d3896effeeb1ee56112416bd1f7e4b54b0759bca3b39ccc10ec987753c8743372f9b72b6184
7
+ data.tar.gz: abc394dc86ec7762b63182eac6b0215688aabc2913b3af9ea89ee346bf2e21e892b1afd5f384ec9b8f1e2010e8fab5a21e05563aca2df7b9d28c405c15dca00a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
data/bin/dice CHANGED
@@ -4,7 +4,7 @@ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
4
4
  require 'roller'
5
5
 
6
6
  unless ARGV.empty?
7
- if ARGV.first =~ /\d+[dD]\d+/
7
+ if ARGV.first =~ Roller::NDN_PATTERN
8
8
  Roller.new.roll(ARGV.first)
9
9
  else
10
10
  Roller.start
@@ -9,7 +9,8 @@ require 'true-random'
9
9
  class Roller < Thor
10
10
  include Thor::Actions
11
11
 
12
- JSONIP_URL = "http://jsonip.com/"
12
+ JSONIP_URL = "http://jsonip.com/"
13
+ NDN_PATTERN = %r{(\d+)[dD](\d+)\+?(\d+)?}
13
14
 
14
15
  default_task :version
15
16
 
@@ -27,18 +28,25 @@ class Roller < Thor
27
28
 
28
29
  desc 'roll NdN', 'Rolls N, N-sided dice and returns the total result'
29
30
  def roll(ndn)
30
- match_reg = %r{(\d+)[dD](\d+)}
31
- matches = match_reg.match ndn
31
+ matches = NDN_PATTERN.match ndn
32
+ bonus = 0
32
33
 
33
- if matches.length === 3
34
+ if matches.length === 4
34
35
  dice = matches[1].to_i
35
36
  sides = matches[2].to_i
37
+ bonus = matches[3].to_i if matches[3]
36
38
 
37
- rolls = roll_dice dice, sides
38
- total = rolls.reduce :+
39
+ rolls = roll_dice dice, sides
40
+ total = rolls.reduce :+
41
+ total += bonus
39
42
 
40
- p rolls if options.show_results
41
- say total
43
+ if options.show_results
44
+ print rolls.to_s
45
+ print " + #{bonus.to_s}"
46
+ print " = #{total}\n"
47
+ else
48
+ say total
49
+ end
42
50
  else
43
51
  say "Invalid input", :red
44
52
  exit
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: character-roller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Green
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-20 00:00:00.000000000 Z
11
+ date: 2014-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake