games_dice 0.3.12 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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