bcrypt 3.1.12 → 3.1.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,17 +1,7 @@
1
1
  ---
2
- !binary "U0hBMjU2":
3
- metadata.gz: !binary |-
4
- YjQwMDJlZTYyN2EzOTJhMzg3Y2YyMDgwYjZjYjdiOWRkNmNiZWRkYmMxNGVh
5
- MzkyZDczMmIzOTNjYWMwNDI3ZQ==
6
- data.tar.gz: !binary |-
7
- MDdkNzlhOGZmYjNlNWMxODE3OTBhMmFiYWU3ZDFiNDA2N2M4YThhOWUxZTcy
8
- YmEwZDE5ODg4ZWJhMjg5NWEzNg==
2
+ SHA256:
3
+ metadata.gz: 91feef6cbd30f7651c84a8b01e8c89e0072314bef8d3d980df592c74646945fe
4
+ data.tar.gz: 612ec7a098b11202dcee1e2a1d24dbe5c0d00c07938e69d4bf2c26c6f4767edc
9
5
  SHA512:
10
- metadata.gz: !binary |-
11
- YWFlMDYxYzFjM2NlNjY5YzhkZmVmYWIxNGI5NzFkNDgzZTdkYmViNmU4Mjhm
12
- NmEzYjhiMjRlODA1ZDc2ZTRjNDQ3ODg4NzM1ZWI0YzIwNjU1YTZkZjE4MmQ3
13
- Nzc1Y2IzZGM3YmZhOWQxYjI4OTBkY2RmMTE3MWZhZDhkYTQ4ZDA=
14
- data.tar.gz: !binary |-
15
- Njc0ODJhZWE3YTMwNTNhYmRlYjllYWZkYzM1YTg5OTU5NTAwNWYyMzU4ZWM2
16
- ZmRlZmYyZGJlYWQ3NzcxNjNkOTNkODI5YTY4MTM1ZDllZGVmOTJmODNiNmRl
17
- ZWRjZjRjOGRmM2FiNTM5M2I3MDBiYWYwN2NkNGZkNjZkYzI4ZjE=
6
+ metadata.gz: '08e1645f62b5b0bf9211a74d47f7660d6491ae218c073e11f135177476d33d36b267994e2ada56c10cd66e45157d3237fd3ed275f369f105e345b6e17b1cccc7'
7
+ data.tar.gz: 59d0d18110c202e8fddb58c97f3c6e33cafe767e6a567e02b8b0aff7ce6e9af345d723df8d59d4f7aa557a8dcc9ac22863b298e9cb37c990f5bf1514cbc32526
data/.travis.yml CHANGED
@@ -1,10 +1,9 @@
1
1
  language: ruby
2
2
  before_install:
3
- - gem update --system
4
- - gem install bundler
3
+ - "echo 'gem: --no-rdoc --no-ri' > ~/.gemrc"
4
+ - gem update --system 2.7.8
5
+ - gem install bundler -v 1.17.3
5
6
  rvm:
6
- - 1.8
7
- - 1.9
8
7
  - 2.0
9
8
  - 2.1
10
9
  - 2.2
@@ -13,9 +12,12 @@ rvm:
13
12
  - 2.5
14
13
  - 2.6
15
14
  - ruby-head
16
- - jruby-18mode
17
- - jruby-19mode
18
15
  - jruby-head
19
16
  - rbx-3
20
- - ree
17
+ matrix:
18
+ allow_failures:
19
+ - rvm: ruby-head
20
+ - rvm: jruby-head
21
+ - rvm: rbx-3
22
+ fast_finish: true
21
23
  script: bundle exec rake
data/CHANGELOG CHANGED
@@ -1,88 +1,98 @@
1
- 1.0.0 Feb 27 2007
2
- - Initial release.
1
+ 3.1.14 July 21 2020
2
+ - Start calibration from the minimum cost supported by the algorithm [GH #206 by @sergey-alekseev]
3
3
 
4
- 2.0.0 Mar 07 2007
5
- - Removed BCrypt::Password#exactly_equals -- use BCrypt::Password#eql? instead.
6
- - Added BCrypt::Password#is_password?.
7
- - Refactored out BCrypt::Internals into more useful BCrypt::Engine.
8
- - Added validation of secrets -- nil is not healthy.
4
+ 3.1.13 May 31 2019
5
+ - No longer include compiled binaries for Windows. See GH #173.
6
+ - Update C and Java implementations to latest versions [GH #182 by @fonica]
7
+ - Bump default cost to 12 [GH #181 by @bdewater]
8
+ - Remove explicit support for Rubies 1.8 and 1.9
9
+ - Define SKIP_GNU token when building extension (Fixes FreeBSD >= 12) [GH #189 by @adam12]
9
10
 
10
- 2.0.1 Mar 09 2007
11
- - Fixed load path issues
12
- - Fixed crashes when hashing weird values (e.g., false, etc.)
11
+ 3.1.12 May 16 2018
12
+ - Add support for Ruby 2.3, 2.4, and 2.5 in compiled Windows binaries
13
+ - Fix compatibility with libxcrypt [GH #164 by @besser82]
13
14
 
14
- 2.0.2 Jun 06 2007
15
- - Fixed example code in the README [Winson]
16
- - Fixed Solaris compatibility [Jeremy LaTrasse, Twitter crew]
15
+ 3.1.11 Mar 06 2016
16
+ - Add support for Ruby 2.2 in compiled Windows binaries
17
17
 
18
- 2.0.3 May 07 2008
19
- - Made exception classes descend from StandardError, not Exception [Dan42]
20
- - Changed BCrypt::Engine.hash to BCrypt::Engine.hash_secret to avoid Merb
21
- sorting issues. [Lee Pope]
18
+ 3.1.10 Jan 28 2015
19
+ - Fix issue with dumping a BCrypt::Password instance to YAML in Ruby 2.2 [GH #107 by @mattwildig]
22
20
 
23
- 2.0.4 Mar 09 2009
24
- - Added Ruby 1.9 compatibility. [Genki Takiuchi]
25
- - Fixed segfaults on some different types of empty strings. [Mike Pomraning]
21
+ 3.1.9 Oct 23 2014
22
+ - Rebuild corrupt binaries
26
23
 
27
- 2.0.5 Mar 11 2009
28
- - Fixed Ruby 1.8.5 compatibility. [Mike Pomraning]
24
+ 3.1.8 Oct 23 2014
25
+ - Add support for Ruby 2.1 in compiled Windows binaries [GH #102]
29
26
 
30
- 2.1.0 Aug 12 2009
31
- - Improved code coverage, unit tests, and build chain. [Hongli Lai]
32
- - Ruby 1.9 compatibility fixes. [Hongli Lai]
33
- - JRuby support, using Damien Miller's jBCrypt. [Hongli Lai]
34
- - Ruby 1.9 GIL releasing for high-cost hashes. [Hongli Lai]
27
+ 3.1.7 Feb 24 2014
28
+ - Rebuild corrupt Java binary version of gem [GH #90]
29
+ - The 2.1 support for Windows binaries alleged in 3.1.3 was a lie -- documentation removed
35
30
 
36
- 2.1.1 Aug 14 2009
37
- - JVM 1.4/1.5 compatibility [Hongli Lai]
31
+ 3.1.6 Feb 21 2014
32
+ - Dummy version of "bcrypt-ruby" needed a couple version bumps to fix some
33
+ bugs. It felt wrong to have that at a higher version than the real gem, so
34
+ the real gem is getting bumped to 3.1.6.
38
35
 
39
- 2.1.2 Sep 16 2009
40
- - Fixed support for Solaris, OpenSolaris.
36
+ 3.1.3 Feb 21 2014
37
+ - Add support for Ruby 2.1 in compiled Windows binaries
38
+ - Rename gem from "bcrypt-ruby" to just "bcrypt". [GH #86 by @sferik]
41
39
 
42
- 3.0.0 Aug 24 2011
43
- - Bcrypt C implementation replaced with a public domain implementation.
44
- - License changed to MIT
40
+ 3.1.2 Aug 26 2013
41
+ - Add support for Ruby 1.8 and 2.0 (in addition to 1.9) in compiled Windows binaries
42
+ - Add support for 64-bit Windows
45
43
 
46
- 3.0.1 Sep 12 2011
47
- - create raises an exception if the cost is higher than 31. GH #27
44
+ 3.1.1 Jul 10 2013
45
+ - Remove support for Ruby 1.8 in compiled win32 binaries
48
46
 
49
47
  3.1.0 May 07 2013
50
48
  - Add BCrypt::Password.valid_hash?(str) to check if a string is a valid bcrypt password hash
51
49
  - BCrypt::Password cost should be set to DEFAULT_COST if nil
52
50
  - Add BCrypt::Engine.cost attribute for getting/setting a default cost externally
53
51
 
54
- 3.1.1 Jul 10 2013
55
- - Remove support for Ruby 1.8 in compiled win32 binaries
52
+ 3.0.1 Sep 12 2011
53
+ - create raises an exception if the cost is higher than 31. GH #27
56
54
 
57
- 3.1.2 Aug 26 2013
58
- - Add support for Ruby 1.8 and 2.0 (in addition to 1.9) in compiled Windows binaries
59
- - Add support for 64-bit Windows
55
+ 3.0.0 Aug 24 2011
56
+ - Bcrypt C implementation replaced with a public domain implementation.
57
+ - License changed to MIT
60
58
 
61
- 3.1.3 Feb 21 2014
62
- - Add support for Ruby 2.1 in compiled Windows binaries
63
- - Rename gem from "bcrypt-ruby" to just "bcrypt". [GH #86 by @sferik]
59
+ 2.1.2 Sep 16 2009
60
+ - Fixed support for Solaris, OpenSolaris.
64
61
 
65
- 3.1.6 Feb 21 2014
66
- - Dummy version of "bcrypt-ruby" needed a couple version bumps to fix some
67
- bugs. It felt wrong to have that at a higher version than the real gem, so
68
- the real gem is getting bumped to 3.1.6.
62
+ 2.1.1 Aug 14 2009
63
+ - JVM 1.4/1.5 compatibility [Hongli Lai]
69
64
 
70
- 3.1.7 Feb 24 2014
71
- - Rebuild corrupt Java binary version of gem [GH #90]
72
- - The 2.1 support for Windows binaries alleged in 3.1.3 was a lie -- documentation removed
65
+ 2.1.0 Aug 12 2009
66
+ - Improved code coverage, unit tests, and build chain. [Hongli Lai]
67
+ - Ruby 1.9 compatibility fixes. [Hongli Lai]
68
+ - JRuby support, using Damien Miller's jBCrypt. [Hongli Lai]
69
+ - Ruby 1.9 GIL releasing for high-cost hashes. [Hongli Lai]
73
70
 
74
- 3.1.8 Oct 23 2014
75
- - Add support for Ruby 2.1 in compiled Windows binaries [GH #102]
71
+ 2.0.5 Mar 11 2009
72
+ - Fixed Ruby 1.8.5 compatibility. [Mike Pomraning]
76
73
 
77
- 3.1.9 Oct 23 2014
78
- - Rebuild corrupt binaries
74
+ 2.0.4 Mar 09 2009
75
+ - Added Ruby 1.9 compatibility. [Genki Takiuchi]
76
+ - Fixed segfaults on some different types of empty strings. [Mike Pomraning]
79
77
 
80
- 3.1.10 Jan 28 2015
81
- - Fix issue with dumping a BCrypt::Password instance to YAML in Ruby 2.2 [GH #107 by @mattwildig]
78
+ 2.0.3 May 07 2008
79
+ - Made exception classes descend from StandardError, not Exception [Dan42]
80
+ - Changed BCrypt::Engine.hash to BCrypt::Engine.hash_secret to avoid Merb
81
+ sorting issues. [Lee Pope]
82
82
 
83
- 3.1.11 Mar 06 2016
84
- - Add support for Ruby 2.2 in compiled Windows binaries
83
+ 2.0.2 Jun 06 2007
84
+ - Fixed example code in the README [Winson]
85
+ - Fixed Solaris compatibility [Jeremy LaTrasse, Twitter crew]
85
86
 
86
- 3.1.12 May 16 2018
87
- - Add support for Ruby 2.3, 2.4, and 2.5 in compiled Windows binaries
88
- - Fix compatibility with libxcrypt [GH #164 by @besser82]
87
+ 2.0.1 Mar 09 2007
88
+ - Fixed load path issues
89
+ - Fixed crashes when hashing weird values (e.g., false, etc.)
90
+
91
+ 2.0.0 Mar 07 2007
92
+ - Removed BCrypt::Password#exactly_equals -- use BCrypt::Password#eql? instead.
93
+ - Added BCrypt::Password#is_password?.
94
+ - Refactored out BCrypt::Internals into more useful BCrypt::Engine.
95
+ - Added validation of secrets -- nil is not healthy.
96
+
97
+ 1.0.0 Feb 27 2007
98
+ - Initial release.
data/Gemfile.lock CHANGED
@@ -1,44 +1,36 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bcrypt (3.1.12)
4
+ bcrypt (3.1.14)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- diff-lcs (1.2.5)
10
- json (1.8.6)
11
- json (1.8.6-java)
12
- rake (10.4.2)
13
- rake-compiler (0.9.5)
9
+ diff-lcs (1.4.4)
10
+ rake (13.0.1)
11
+ rake-compiler (0.9.9)
14
12
  rake
15
- rdoc (3.12.2)
16
- json (~> 1.4)
17
- rspec (3.3.0)
18
- rspec-core (~> 3.3.0)
19
- rspec-expectations (~> 3.3.0)
20
- rspec-mocks (~> 3.3.0)
21
- rspec-core (3.3.2)
22
- rspec-support (~> 3.3.0)
23
- rspec-expectations (3.3.1)
13
+ rspec (3.9.0)
14
+ rspec-core (~> 3.9.0)
15
+ rspec-expectations (~> 3.9.0)
16
+ rspec-mocks (~> 3.9.0)
17
+ rspec-core (3.9.2)
18
+ rspec-support (~> 3.9.3)
19
+ rspec-expectations (3.9.2)
24
20
  diff-lcs (>= 1.2.0, < 2.0)
25
- rspec-support (~> 3.3.0)
26
- rspec-mocks (3.3.2)
21
+ rspec-support (~> 3.9.0)
22
+ rspec-mocks (3.9.1)
27
23
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.3.0)
29
- rspec-support (3.3.0)
24
+ rspec-support (~> 3.9.0)
25
+ rspec-support (3.9.3)
30
26
 
31
27
  PLATFORMS
32
- java
33
28
  ruby
34
- x64-mingw32
35
- x86-mingw32
36
29
 
37
30
  DEPENDENCIES
38
31
  bcrypt!
39
32
  rake-compiler (~> 0.9.2)
40
- rdoc (~> 3.12)
41
33
  rspec (>= 3)
42
34
 
43
35
  BUNDLED WITH
44
- 1.16.1
36
+ 2.2.0.dev
data/README.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  An easy way to keep your users' passwords secure.
4
4
 
5
- * http://github.com/codahale/bcrypt-ruby/tree/master
5
+ * https://github.com/codahale/bcrypt-ruby/tree/master
6
+
7
+ [![Travis Build Status](https://travis-ci.org/codahale/bcrypt-ruby.svg?branch=master)](https://travis-ci.org/codahale/bcrypt-ruby)
8
+ [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/6fplerx9lnaf0hyo?svg=true)](https://ci.appveyor.com/project/TJSchuck35975/bcrypt-ruby)
6
9
 
7
- [![Build Status](https://travis-ci.org/codahale/bcrypt-ruby.png?branch=master)](https://travis-ci.org/codahale/bcrypt-ruby)
8
10
 
9
11
  ## Why you should use `bcrypt()`
10
12
 
@@ -18,7 +20,7 @@ security experts is not a professional response to risk.
18
20
  `bcrypt()` allows you to easily harden your application against these kinds of attacks.
19
21
 
20
22
  *Note*: JRuby versions of the bcrypt gem `<= 2.1.3` had a [security
21
- vulnerability](http://www.mindrot.org/files/jBCrypt/internat.adv) that
23
+ vulnerability](https://www.mindrot.org/files/jBCrypt/internat.adv) that
22
24
  was fixed in `>= 2.1.4`. If you used a vulnerable version to hash
23
25
  passwords with international characters in them, you will need to
24
26
  re-hash those passwords. This vulnerability only affected the JRuby gem.
@@ -27,16 +29,16 @@ re-hash those passwords. This vulnerability only affected the JRuby gem.
27
29
 
28
30
  gem install bcrypt
29
31
 
30
- The bcrypt gem is available on the following ruby platforms:
32
+ The bcrypt gem is available on the following Ruby platforms:
31
33
 
32
34
  * JRuby
33
- * RubyInstaller 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, and 2.5 builds on Windows
34
- * Any 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, or 2.5 Ruby on a BSD/OS X/Linux system with a compiler
35
+ * RubyInstaller 2.0 2.5 builds on Windows with the DevKit
36
+ * Any 2.0 2.5 Ruby on a BSD/OS X/Linux system with a compiler
35
37
 
36
38
  ## How to use `bcrypt()` in your Rails application
37
39
 
38
40
  *Note*: Rails versions >= 3 ship with `ActiveModel::SecurePassword` which uses bcrypt-ruby.
39
- `has_secure_password` [docs](http://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html#method-i-has_secure_password)
41
+ `has_secure_password` [docs](https://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html#method-i-has_secure_password)
40
42
  implements a similar authentication strategy to the code below.
41
43
 
42
44
  ### The _User_ model
@@ -81,14 +83,14 @@ end
81
83
  require 'bcrypt'
82
84
 
83
85
  my_password = BCrypt::Password.create("my password")
84
- #=> "$2a$10$vI8aWBnW3fID.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa"
86
+ #=> "$2a$12$K0ByB.6YI2/OYrB4fQOYLe6Tv0datUVf6VZ/2Jzwm879BW5K1cHey"
85
87
 
86
88
  my_password.version #=> "2a"
87
- my_password.cost #=> 10
89
+ my_password.cost #=> 12
88
90
  my_password == "my password" #=> true
89
91
  my_password == "not my password" #=> false
90
92
 
91
- my_password = BCrypt::Password.new("$2a$10$vI8aWBnW3fID.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa")
93
+ my_password = BCrypt::Password.new("$2a$12$K0ByB.6YI2/OYrB4fQOYLe6Tv0datUVf6VZ/2Jzwm879BW5K1cHey")
92
94
  my_password == "my password" #=> true
93
95
  my_password == "not my password" #=> false
94
96
  ```
@@ -155,14 +157,14 @@ If an attacker was using Ruby to check each password, they could check ~140,000
155
157
  In addition, `bcrypt()` allows you to increase the amount of work required to hash a password as computers get faster. Old
156
158
  passwords will still work fine, but new passwords can keep up with the times.
157
159
 
158
- The default cost factor used by bcrypt-ruby is 10, which is fine for session-based authentication. If you are using a
160
+ The default cost factor used by bcrypt-ruby is 12, which is fine for session-based authentication. If you are using a
159
161
  stateless authentication architecture (e.g., HTTP Basic Auth), you will want to lower the cost factor to reduce your
160
162
  server load and keep your request times down. This will lower the security provided you, but there are few alternatives.
161
163
 
162
164
  To change the default cost factor used by bcrypt-ruby, use `BCrypt::Engine.cost = new_value`:
163
165
  ```ruby
164
166
  BCrypt::Password.create('secret').cost
165
- #=> 10, the default provided by bcrypt-ruby
167
+ #=> 12, the default provided by bcrypt-ruby
166
168
 
167
169
  # set a new default cost
168
170
  BCrypt::Engine.cost = 8
@@ -180,13 +182,13 @@ system available.
180
182
 
181
183
  For a more technical explanation of the algorithm and its design criteria, please read Niels Provos and David Mazières'
182
184
  Usenix99 paper:
183
- http://www.usenix.org/events/usenix99/provos.html
185
+ https://www.usenix.org/events/usenix99/provos.html
184
186
 
185
187
  If you'd like more down-to-earth advice regarding cryptography, I suggest reading <i>Practical Cryptography</i> by Niels
186
188
  Ferguson and Bruce Schneier:
187
- http://www.schneier.com/book-practical.html
189
+ https://www.schneier.com/book-practical.html
188
190
 
189
191
  # Etc
190
192
 
191
193
  * Author :: Coda Hale <coda.hale@gmail.com>
192
- * Website :: http://blog.codahale.com
194
+ * Website :: https://codahale.com
data/Rakefile CHANGED
@@ -8,14 +8,6 @@ require 'benchmark'
8
8
 
9
9
  CLEAN.include(
10
10
  "tmp",
11
- "lib/1.8",
12
- "lib/1.9",
13
- "lib/2.0",
14
- "lib/2.1",
15
- "lib/2.2",
16
- "lib/2.3",
17
- "lib/2.4",
18
- "lib/2.5",
19
11
  "lib/bcrypt_ext.jar",
20
12
  "lib/bcrypt_ext.so"
21
13
  )
@@ -62,25 +54,6 @@ if RUBY_PLATFORM =~ /java/
62
54
  else
63
55
  Rake::ExtensionTask.new("bcrypt_ext", GEMSPEC) do |ext|
64
56
  ext.ext_dir = 'ext/mri'
65
- ext.cross_compile = true
66
- ext.cross_platform = ['x86-mingw32', 'x64-mingw32']
67
- end
68
-
69
- ENV['RUBY_CC_VERSION'].to_s.split(':').each do |ruby_version|
70
- platforms = {
71
- "x86-mingw32" => "i686-w64-mingw32",
72
- "x64-mingw32" => "x86_64-w64-mingw32"
73
- }
74
- platforms.each do |platform, prefix|
75
- task "copy:bcrypt_ext:#{platform}:#{ruby_version}" do |t|
76
- %w[lib tmp/#{platform}/stage/lib].each do |dir|
77
- so_file = "#{dir}/#{ruby_version[/^\d+\.\d+/]}/bcrypt_ext.so"
78
- if File.exists?(so_file)
79
- sh "#{prefix}-strip -S #{so_file}"
80
- end
81
- end
82
- end
83
- end
84
57
  end
85
58
  end
86
59
 
data/appveyor.yml CHANGED
@@ -1,50 +1,50 @@
1
- ###############################################################################
2
- #
3
- # This AppVeyor config is *NOT* for running the tests on Windows.
4
- #
5
- # This is to ensure that the latest version of the bcrypt gem can be installed
6
- # on Windows across all of the currently supported versions of Ruby.
7
- #
8
- ###############################################################################
9
-
10
1
  version: "{branch}-{build}"
11
2
  build: off
12
3
  clone_depth: 1
13
4
 
14
5
  init:
15
- # Install Ruby 1.8.7
16
- - if %RUBY_VERSION%==187 (
17
- appveyor DownloadFile https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.8.7-p374.exe -FileName C:\ruby_187.exe &
18
- C:\ruby_187.exe /verysilent /dir=C:\Ruby%RUBY_VERSION%
6
+ # Install Ruby head
7
+ - if %RUBY_VERSION%==head (
8
+ appveyor DownloadFile https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x86.exe -FileName C:\head_x86.exe &
9
+ C:\head_x86.exe /verysilent /dir=C:\Ruby%RUBY_VERSION%
10
+ )
11
+ - if %RUBY_VERSION%==head-x64 (
12
+ appveyor DownloadFile https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.exe -FileName C:\head_x64.exe &
13
+ C:\head_x64.exe /verysilent /dir=C:\Ruby%RUBY_VERSION%
19
14
  )
20
15
 
16
+ # Add Ruby to the path
17
+ - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
18
+
21
19
  environment:
22
20
  matrix:
23
- - RUBY_VERSION: "187"
24
- - RUBY_VERSION: "193"
25
- - RUBY_VERSION: "200"
26
- - RUBY_VERSION: "200-x64"
27
- - RUBY_VERSION: "21"
28
- - RUBY_VERSION: "21-x64"
29
- - RUBY_VERSION: "22"
30
- - RUBY_VERSION: "22-x64"
31
- - RUBY_VERSION: "23"
32
- - RUBY_VERSION: "23-x64"
33
- - RUBY_VERSION: "24"
34
- - RUBY_VERSION: "24-x64"
21
+ - RUBY_VERSION: "head"
22
+ - RUBY_VERSION: "head-x64"
35
23
  - RUBY_VERSION: "25"
36
24
  - RUBY_VERSION: "25-x64"
25
+ - RUBY_VERSION: "24"
26
+ - RUBY_VERSION: "24-x64"
27
+ - RUBY_VERSION: "23"
28
+ - RUBY_VERSION: "23-x64"
29
+ - RUBY_VERSION: "22"
30
+ - RUBY_VERSION: "22-x64"
31
+ - RUBY_VERSION: "21"
32
+ - RUBY_VERSION: "21-x64"
33
+ - RUBY_VERSION: "200"
34
+ - RUBY_VERSION: "200-x64"
37
35
 
38
36
  install:
39
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
40
- - if %RUBY_VERSION%==187 (
41
- gem update --system 2.0.17
42
- )
37
+ - ps: "Set-Content -Value 'gem: --no-ri --no-rdoc ' -Path C:\\ProgramData\\gemrc"
38
+ - if %RUBY_VERSION%==head ( gem install bundler -v'< 2' )
39
+ - if %RUBY_VERSION%==head-x64 ( gem install bundler -v'< 2' )
40
+ - bundle install
43
41
 
44
- before_test:
42
+ before_build:
45
43
  - ruby -v
46
44
  - gem -v
47
45
 
46
+ build_script:
47
+ - bundle exec rake compile -rdevkit
48
+
48
49
  test_script:
49
- - gem install bcrypt --prerelease --no-ri --no-rdoc
50
- - ruby -e "require 'rubygems'; require 'bcrypt'"
50
+ - bundle exec rake spec