games_dice 0.3.12 → 0.4.0

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
- SHA1:
3
- metadata.gz: d19dba764a16a41817baaa3ccfd957f79433c9b0
4
- data.tar.gz: 29037036e7fe3d1f5456e66bec3d8675a2434eaa
2
+ SHA256:
3
+ metadata.gz: 7c1046747fdad80e794bb7883aaaade1a14e737a39641b6e85e7c179e96a3375
4
+ data.tar.gz: 54b1c1aa41b58b53e8a72ad59f835de932fde926a038626a0df165605677300c
5
5
  SHA512:
6
- metadata.gz: 8420089013a0439dd92199fc276bdb718ab4abb9e5cef872542b1d87d545ab53a9c382bb8ebb3d2fe7226816e3a1cd9b4a071e6659cc0ad7d0fbd959ef5135e8
7
- data.tar.gz: 69c75770fc39c5d4ada410cf16397105e6020380a320a6023380786591b80a3a7f1ace3a00c3e0a21b665f1b6260303db5bfce223bc23d9712142ac3042190d1
6
+ metadata.gz: 60e56aa2b32a4550ae6334c372ad1a9b0a07820c8a58ae4ce07c0ae3d5721ff91b8422d3d2d52b690e387738d3ee5bb6a7c05bed2d40145b776ef9a9d6295c0c
7
+ data.tar.gz: 7a0e7c3759def3b6f482e4242ae23b770c50876fc26f5464bca4e77b91cbf64596c901c4eb9cc69e9eee351d63fa8978426ceae7125eb34aa7c3e0856a0a8e1e
data/.rubocop.yml ADDED
@@ -0,0 +1,15 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.6.0
3
+ NewCops: enable
4
+
5
+ Layout/LineLength:
6
+ Max: 120
7
+
8
+ Metrics/BlockLength:
9
+ IgnoredMethods:
10
+ - context
11
+ - describe
12
+ - shared_examples
13
+ - define
14
+
15
+
data/.travis.yml CHANGED
@@ -1,14 +1,11 @@
1
1
  language: ruby
2
+
2
3
  before_install:
3
4
  - gem install bundler
4
- rvm:
5
- - "2.0.0"
6
- - "2.1.0"
7
- - "2.1.1"
8
- - "2.1.4"
9
- - "2.2.0"
10
- - "2.3.1"
11
- - "2.4.1"
12
- - "2.4.2"
13
- - jruby-9.0.5.0
14
5
 
6
+ os:
7
+ - linux
8
+
9
+ rvm:
10
+ - "2.7.1"
11
+ - "3.0.0"
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # GamesDice Changelog
2
2
 
3
+ ## 0.4.0 ( 19 September 2021 )
4
+
5
+ * Dropping support for older Ruby versions (< 2.6)
6
+ * Native extensions are no longer optional, to reduce maintenance overhead. Effectively dropping support for JRuby.
7
+ * Tidy up code for maintainability (Rubocop and RSpec)
8
+
3
9
  ## 0.3.11 ( 26 May 2014 )
4
10
 
5
11
  * Bugfix. Actually use custom PRNG passed to GamesDice.create or GamesDice::Bunch.new
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Dependencies are in games_dice.gemspec
data/Rakefile CHANGED
@@ -1,16 +1,19 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
3
5
  require 'rake/extensiontask'
4
- require "yard"
6
+ require 'yard'
5
7
 
6
8
  def can_compile_extensions
7
9
  return false if RUBY_DESCRIPTION =~ /jruby/
8
- return true
10
+
11
+ true
9
12
  end
10
13
 
11
- desc "GamesDice unit tests"
14
+ desc 'GamesDice unit tests'
12
15
  RSpec::Core::RakeTask.new(:test) do |t|
13
- t.pattern = "spec/*_spec.rb"
16
+ t.pattern = 'spec/*_spec.rb'
14
17
  t.verbose = false
15
18
  end
16
19
 
@@ -21,20 +24,20 @@ end
21
24
  gemspec = Gem::Specification.load('games_dice.gemspec')
22
25
  Rake::ExtensionTask.new do |ext|
23
26
  ext.name = 'games_dice'
24
- ext.source_pattern = "*.{c,h}"
27
+ ext.source_pattern = '*.{c,h}'
25
28
  ext.ext_dir = 'ext/games_dice'
26
29
  ext.lib_dir = 'lib/games_dice'
27
30
  ext.gem_spec = gemspec
28
31
  end
29
32
 
30
- task :delete_compiled_ext do |t|
33
+ task :delete_compiled_ext do |_t|
31
34
  `rm lib/games_dice/games_dice.*`
32
35
  end
33
36
 
34
- task :pure_test => [:delete_compiled_ext, :test]
37
+ task pure_test: %i[delete_compiled_ext test]
35
38
 
36
39
  if can_compile_extensions
37
- task :default => [:compile, :test]
40
+ task default: %i[compile test]
38
41
  else
39
- task :default => [:test]
42
+ task default: [:test]
40
43
  end
@@ -1,25 +1,7 @@
1
- # ext/games_dice/extconf.rb
2
- can_compile_extensions = false
3
- want_extensions = true
4
-
5
- begin
6
- require 'mkmf'
7
- can_compile_extensions = true
8
- rescue Exception
9
- # This will appear only in verbose mode.
10
- $stderr.puts "Could not require 'mkmf'. Not fatal: The extensions are optional."
11
- end
1
+ # frozen_string_literal: true
12
2
 
3
+ # ext/games_dice/extconf.rb
13
4
 
14
- if can_compile_extensions && want_extensions
15
- create_makefile( 'games_dice/games_dice' )
16
-
17
- else
18
- # Create a dummy Makefile, to satisfy Gem::Installer#install
19
- mfile = open("Makefile", "wb")
20
- mfile.puts '.PHONY: install'
21
- mfile.puts 'install:'
22
- mfile.puts "\t" + '@echo "Extensions not installed, falling back to pure Ruby version."'
23
- mfile.close
5
+ require 'mkmf'
24
6
 
25
- end
7
+ create_makefile('games_dice/games_dice')
@@ -472,7 +472,7 @@ ProbabilityList *pl_repeat_n_sum_k( ProbabilityList *pl, int n, int k, int kbest
472
472
  pl_result->offset = pl->offset * k;
473
473
 
474
474
  for ( i = 0; i < pl->slots; i++ ) {
475
- if ( ! pl->probs[i] > 0.0 ) continue;
475
+ if ( pl->probs[i] <= 0.0 ) continue;
476
476
 
477
477
  q = i + pl->offset;
478
478
  calc_keep_distributions( pl, k, q, kbest, keep_distributions );
data/games_dice.gemspec CHANGED
@@ -1,46 +1,40 @@
1
- # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require 'English'
4
+ lib = File.expand_path('lib', __dir__)
3
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
6
  require 'games_dice/version'
5
7
 
6
8
  Gem::Specification.new do |gem|
7
- gem.name = "games_dice"
9
+ gem.name = 'games_dice'
8
10
  gem.version = GamesDice::VERSION
9
- gem.authors = ["Neil Slater"]
10
- gem.email = ["slobo777@gmail.com"]
11
- gem.description = %q{A library for simulating dice. Use it to construct dice-rolling systems used in role-playing and board games.}
12
- gem.summary = %q{Simulates and explains dice rolls from simple "1d6" to complex "roll 7 ten-sided dice, take best 3,
13
- results of 10 roll again and add on".}
14
- gem.homepage = "https://github.com/neilslater/games_dice"
15
- gem.license = "MIT"
16
-
17
- gem.add_development_dependency "rspec", ">= 2.13.0"
18
- gem.add_development_dependency "rake", ">= 1.9.1"
19
- gem.add_development_dependency "yard", ">= 0.8.6"
20
- gem.add_development_dependency "coveralls", ">= 0.6.7"
21
- gem.add_development_dependency "json", ">= 1.7.7"
22
- gem.add_development_dependency "rake-compiler", ">= 0.8.3"
23
- if RUBY_VERSION <= "1.9.2"
24
- gem.add_development_dependency "mime-types", "< 2.0.0"
25
- end
11
+ gem.authors = ['Neil Slater']
12
+ gem.email = ['slobo777@gmail.com']
13
+ gem.description = 'A library for simulating dice. Use it to construct dice-rolling systems used in role-playing and board games.'
14
+ gem.summary = 'Simulates and explains dice rolls from simple "1d6" to complex "roll 7 ten-sided dice, take best 3,
15
+ results of 10 roll again and add on".'
16
+ gem.homepage = 'https://github.com/neilslater/games_dice'
17
+ gem.license = 'MIT'
26
18
 
19
+ gem.required_ruby_version = '>= 2.6.0'
20
+ gem.add_development_dependency 'coveralls', '>= 0.6.7'
21
+ gem.add_development_dependency 'json', '>= 1.7.7'
22
+ gem.add_development_dependency 'rake', '>= 1.9.1'
23
+ gem.add_development_dependency 'rake-compiler', '>= 0.8.3'
24
+ gem.add_development_dependency 'rspec', '>= 2.13.0'
25
+ gem.add_development_dependency 'rubocop', '>= 1.2.1'
26
+ gem.add_development_dependency 'yard', '>= 0.8.6'
27
27
 
28
28
  # Red Carpet renders README.md, and is optional even when developing the gem.
29
- # However, it has a C extension, and v3.0.0 is does not compile for 1.8.7. This only affects the gem build process, so
29
+ # However, it has a C extension, which will not work in JRuby. This only affects the gem build process, so
30
30
  # is only really used in environments like Travis, and is safe to wrap like this in the gemspec.
31
- if RUBY_DESCRIPTION !~ /jruby/
32
- if RUBY_VERSION >= "1.9.0"
33
- gem.add_development_dependency "redcarpet", ">=2.3.0"
34
- else
35
- gem.add_development_dependency "redcarpet", ">=2.3.0", "<3.0.0"
36
- end
37
- end
31
+ gem.add_development_dependency 'redcarpet', '>=3.5.1' if RUBY_DESCRIPTION !~ /jruby/
38
32
 
39
- gem.add_dependency "parslet", ">= 1.5.0"
33
+ gem.add_dependency 'parslet', '>= 1.5.0'
40
34
 
41
- gem.files = `git ls-files`.split($/)
42
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
35
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
36
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
43
37
  gem.extensions = gem.files.grep(%r{/extconf\.rb$})
44
38
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
45
- gem.require_paths = ["lib"]
39
+ gem.require_paths = ['lib']
46
40
  end