character-roller 0.1.2 → 0.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fccf0f1dd3bcc12039b3390d717cafe525ec6184
4
- data.tar.gz: 6a953b3c9ac04bbb1f632b9bae57614a01aa426b
3
+ metadata.gz: 6f54f2ad00766b68f0f5d42b26e834ec2f252979
4
+ data.tar.gz: e0b3bb6ed89b0b8a31fb418053c7b5652ae0c01f
5
5
  SHA512:
6
- metadata.gz: a1e7fabca4816e1c3c705b2d07fb59edeffa4e4162bf1f915208bc74c8807f8ec5679cd4e4e4b83cbfdbfeef000024b1be139f0fcd3a7ca7a8cb1c6d7c4eece5
7
- data.tar.gz: b358f16a86ab5615e7c3e576da8f3aa27f2a03b34955b0ee95fdf3b9c28e3b204bed85b71ab2e27efd43cf51b9830479ae6d0684f5c3e02d29d90edfcceffeba
6
+ metadata.gz: 959062159f5f66757a87e5e8b7f6aa9112010c60ba9d888cbfadb7dd0a268b9343f1a7e349996777f53573ec939b08ba68313e40d476042264622eee2e955cf7
7
+ data.tar.gz: cde46532697a13c65bea52885bee479e333147c2d1bbd3d9e1b1bd9d765f5f2d187fa4c88c75cbb849182be3ae53a85a14f6340721ea4e8538bd738d0edd55d6
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -22,6 +22,8 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.add_development_dependency "rake"
24
24
  s.add_development_dependency "pry"
25
+ s.add_development_dependency "pry-coolline"
26
+ s.add_development_dependency "pry-syntax-hacks"
25
27
  s.add_development_dependency "watson-ruby"
26
28
 
27
29
  s.add_runtime_dependency "thor"
@@ -1,9 +1,16 @@
1
+ require 'json'
2
+ require 'net/http'
3
+ require 'uri'
1
4
  require 'thor'
5
+
6
+ # [todo] - check for internet connectivity. If none, fallback to SecureRandom
2
7
  require 'true-random'
3
8
 
4
9
  class Roller < Thor
5
10
  include Thor::Actions
6
11
 
12
+ JSONIP_URL = "http://jsonip.com/"
13
+
7
14
  default_task :version
8
15
 
9
16
  class_option :show_results,
@@ -54,7 +61,7 @@ class Roller < Thor
54
61
  print roll[:total].to_s
55
62
 
56
63
  if options.bonus
57
- bonus = calculate_bonus res[:total], true
64
+ bonus = calculate_bonus roll[:total], true
58
65
  print "\t(#{bonus})\n"
59
66
  else
60
67
  print "\n"
@@ -108,9 +115,17 @@ class Roller < Thor
108
115
  private
109
116
 
110
117
  def roll_dice(ndice = 1, nsides = 6, ignore_ones = false)
111
- rander = TrueRandom::Random.new
112
- start_num = if ignore_ones then 2 else 1 end
113
- results = rander.integer ndice, start_num, nsides
118
+ rander = TrueRandom::Random.new
119
+ results = rander.integer ndice, 1, nsides
120
+ results = [results] unless results.is_a? Array
121
+
122
+ if ignore_ones && results.include?(1)
123
+ results.delete_if {|n| n === 1 }
124
+ diff = ndice - results.size
125
+ new_ints = roll_dice diff, nsides, ignore_ones
126
+ results.concat new_ints
127
+ end
128
+
114
129
  results
115
130
  end
116
131
 
@@ -139,6 +154,23 @@ class Roller < Thor
139
154
 
140
155
  bonus
141
156
  end
157
+
158
+ def check_quota
159
+ rander = TrueRandom::Random.new
160
+ rander.quota get_external_ip
161
+ end
162
+
163
+ def get_external_ip
164
+ uri = URI.parse JSONIP_URL
165
+ resp = Net::HTTP.get_response uri
166
+
167
+ if resp.is_a? Net::HTTPOK
168
+ json = JSON.parse resp.body
169
+ return json['ip']
170
+ end
171
+
172
+ nil
173
+ end
142
174
  end
143
175
 
144
176
  # vim: set ts=2 sw=2 expandtab :
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.2
4
+ version: 0.1.3
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-06-29 00:00:00.000000000 Z
11
+ date: 2014-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry-coolline
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-syntax-hacks
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: watson-ruby
43
71
  requirement: !ruby/object:Gem::Requirement