diff --git a/.travis.yml b/.travis.yml index 1e55bbe..062f3cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ language: ruby before_install: gem install bundler -v '<2' rvm: + - 2.7 - 2.6 - 2.5 - - 2.0 + - 2.3 script: - bundle exec rspec diff --git a/CHANGELOG.md b/CHANGELOG.md index a9ef64f..1c7a5de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ ### Changelog +### 6.0.0 + +- Dropping support for Ruby <2.3 (Major version bump) +- Fix issue when using --enable-frozen-string-literal Ruby option #95 (jeremyevans) +- Update gems (rake, addressable) +- Update Travis tests to include Ruby 2.7 + ### 5.1.0 - Create `random_base32` to perform `random` to avoid breaking changes diff --git a/Dockerfile-2.3 b/Dockerfile-2.3 new file mode 100644 index 0000000..10a3a52 --- /dev/null +++ b/Dockerfile-2.3 @@ -0,0 +1,10 @@ +FROM ruby:2.3 + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +COPY Gemfile /usr/src/app/ +COPY . /usr/src/app +RUN bundle install + +CMD ["bundle", "exec", "rspec"] diff --git a/Dockerfile-2.0 b/Dockerfile-2.7 similarity index 91% rename from Dockerfile-2.0 rename to Dockerfile-2.7 index 3af3083..3f53cf6 100644 --- a/Dockerfile-2.0 +++ b/Dockerfile-2.7 @@ -1,4 +1,4 @@ -FROM ruby:2.0 +FROM ruby:2.7 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app diff --git a/lib/rotp/base32.rb b/lib/rotp/base32.rb index 1688bdb..2c09592 100644 --- a/lib/rotp/base32.rb +++ b/lib/rotp/base32.rb @@ -28,7 +28,7 @@ def decode(str) def encode(b) data = b.unpack('c*') - out = '' + out = String.new buffer = data[0] idx = 1 bits_left = 8 diff --git a/lib/rotp/version.rb b/lib/rotp/version.rb index 25a33f1..b79f7ff 100644 --- a/lib/rotp/version.rb +++ b/lib/rotp/version.rb @@ -1,3 +1,3 @@ module ROTP - VERSION = '5.1.0'.freeze + VERSION = '6.0.0'.freeze end diff --git a/rotp.gemspec b/rotp.gemspec index e320466..050fedf 100644 --- a/rotp.gemspec +++ b/rotp.gemspec @@ -4,6 +4,7 @@ Gem::Specification.new do |s| s.name = 'rotp' s.version = ROTP::VERSION s.platform = Gem::Platform::RUBY + s.required_ruby_version = '~> 2.3' s.license = 'MIT' s.authors = ['Mark Percival'] s.email = ['mark@markpercival.us'] @@ -16,9 +17,9 @@ Gem::Specification.new do |s| s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) } s.require_paths = ['lib'] - s.add_runtime_dependency 'addressable', '~> 2.5' + s.add_runtime_dependency 'addressable', '~> 2.7' - s.add_development_dependency 'rake', '~> 10.5' + s.add_development_dependency "rake", "~> 13.0" s.add_development_dependency 'rspec', '~> 3.5' s.add_development_dependency 'simplecov', '~> 0.12' s.add_development_dependency 'timecop', '~> 0.8'