rails-rfc6570 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +2 -1
- data/lib/rails/rfc6570/version.rb +1 -1
- data/rails-rfc6570.gemspec +2 -2
- data/spec/spec_helper.rb +8 -5
- data/vendor/bundle/ruby/3.3.0/bundler/gems/rubocop-config-943facea9d8f/LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/bundler/gems/rubocop-config-943facea9d8f/README.md +23 -0
- data/vendor/bundle/ruby/3.3.0/bundler/gems/rubocop-config-943facea9d8f/rubocop-config.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/CHANGELOG.md +154 -0
- data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/README.rdoc +57 -0
- data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/CHANGELOG.md +113 -0
- data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/README.rdoc +40 -0
- data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/CHANGELOG.md +258 -0
- data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/README.rdoc +40 -0
- data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
- data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
- data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/README.md +121 -0
- data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/README.md +243 -0
- data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/appraisal.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/LICENSE.MIT +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/README.YARD.md +12 -0
- data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/README.md +279 -0
- data/vendor/bundle/ruby/3.3.0/gems/bigdecimal-3.1.8/LICENSE +56 -0
- data/vendor/bundle/ruby/3.3.0/gems/bigdecimal-3.1.8/bigdecimal.gemspec +57 -0
- data/vendor/bundle/ruby/3.3.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/builder-3.3.0/README.md +258 -0
- data/vendor/bundle/ruby/3.3.0/gems/builder-3.3.0/builder.gemspec +49 -0
- data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/CHANGELOG.md +934 -0
- data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/LICENSE +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/README.md +199 -0
- data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/MIT-LICENSE +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/README_INDEX.rdoc +123 -0
- data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/CHANGELOG.md +593 -0
- data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/README.md +407 -0
- data/vendor/bundle/ruby/3.3.0/gems/connection_pool-2.4.1/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/connection_pool-2.4.1/README.md +135 -0
- data/vendor/bundle/ruby/3.3.0/gems/connection_pool-2.4.1/connection_pool.gemspec +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/crass-1.0.6/LICENSE +18 -0
- data/vendor/bundle/ruby/3.3.0/gems/crass-1.0.6/README.md +192 -0
- data/vendor/bundle/ruby/3.3.0/gems/crass-1.0.6/crass.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/gems/diff-lcs-1.5.1/README.rdoc +84 -0
- data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/README.md +409 -0
- data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/docile.gemspec +36 -0
- data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/drb.gemspec +41 -0
- data/vendor/bundle/ruby/3.3.0/gems/erubi-1.13.0/CHANGELOG +107 -0
- data/vendor/bundle/ruby/3.3.0/gems/erubi-1.13.0/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/erubi-1.13.0/README.rdoc +151 -0
- data/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/README.md +127 -0
- data/vendor/bundle/ruby/3.3.0/gems/io-console-0.7.2/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/io-console-0.7.2/README.md +46 -0
- data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/README.md +405 -0
- data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/irb.gemspec +46 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/LICENSE +56 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/README.md +416 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/json.gemspec +68 -0
- data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/README.md +88 -0
- data/vendor/bundle/ruby/3.3.0/gems/loofah-2.22.0/CHANGELOG.md +566 -0
- data/vendor/bundle/ruby/3.3.0/gems/loofah-2.22.0/MIT-LICENSE.txt +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/loofah-2.22.0/README.md +363 -0
- data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/CHANGELOG.md +15 -0
- data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/LICENSE +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/README.markdown +101 -0
- data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/method_source.gemspec +19 -0
- data/vendor/bundle/ruby/3.3.0/gems/minitest-5.25.1/README.rdoc +835 -0
- data/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.7-x86_64-linux/LICENSE-DEPENDENCIES.md +2224 -0
- data/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.7-x86_64-linux/LICENSE.md +9 -0
- data/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.7-x86_64-linux/README.md +290 -0
- data/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/LICENSE.txt +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/parser.gemspec +43 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/CHANGELOG.md +1141 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/LICENSE +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/README.md +466 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/lib/pry/slop/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/CHANGELOG.md +230 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/README.md +189 -0
- data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.1/CHANGELOG.md +491 -0
- data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.1/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.1/README.md +222 -0
- data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
- data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/README.rdoc +60 -0
- data/vendor/bundle/ruby/3.3.0/gems/rack-3.1.7/CHANGELOG.md +994 -0
- data/vendor/bundle/ruby/3.3.0/gems/rack-3.1.7/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rack-3.1.7/README.md +328 -0
- data/vendor/bundle/ruby/3.3.0/gems/rack-test-2.1.0/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rack-test-2.1.0/README.md +139 -0
- data/vendor/bundle/ruby/3.3.0/gems/rails-dom-testing-2.2.0/MIT-LICENSE +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rails-dom-testing-2.2.0/README.md +91 -0
- data/vendor/bundle/ruby/3.3.0/gems/rails-html-sanitizer-1.6.0/CHANGELOG.md +201 -0
- data/vendor/bundle/ruby/3.3.0/gems/rails-html-sanitizer-1.6.0/MIT-LICENSE +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rails-html-sanitizer-1.6.0/README.md +271 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/CHANGELOG.md +361 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/README.rdoc +39 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/app/templates/README.md.tt +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +28 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/MIT-LICENSE.tt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/README.md.tt +28 -0
- data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/README.markdown +227 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/README.rdoc +155 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/rake.gemspec +101 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-release-1.3.0/LICENSE +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-release-1.3.0/README.md +107 -0
- data/vendor/bundle/ruby/3.3.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/LICENSE.rdoc +57 -0
- data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/README.rdoc +129 -0
- data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/LICENSE +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/regexp_parser.gemspec +34 -0
- data/vendor/bundle/ruby/3.3.0/gems/reline-0.5.9/README.md +94 -0
- data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/README.md +57 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-3.13.0/LICENSE.md +27 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-3.13.0/README.md +47 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-core-3.13.0/LICENSE.md +26 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-core-3.13.0/README.md +389 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-expectations-3.13.2/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-expectations-3.13.2/README.md +326 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-mocks-3.13.1/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-mocks-3.13.1/README.md +465 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/README.md +381 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-support-3.13.1/LICENSE.md +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/rspec-support-3.13.1/README.md +40 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/README.md +251 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/README.md +56 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/CHANGELOG.md +85 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/README.md +88 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/CHANGELOG.md +116 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/README.md +88 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/README.md +97 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/CHANGELOG.md +1028 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/README.md +109 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/CHANGELOG.md +84 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/README.md +90 -0
- data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
- data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/README.md +974 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/LICENSE +202 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/README.md +62 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/simplecov-cobertura.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/CHANGELOG.md +81 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/README.md +30 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/simplecov-html.gemspec +23 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
- data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
- data/vendor/bundle/ruby/3.3.0/gems/strscan-3.1.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/LICENSE.md +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/README.md +45 -0
- data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/thor.gemspec +33 -0
- data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/LICENSE +19 -0
- data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/README.md +406 -0
- data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/CHANGELOG.md +196 -0
- data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/MIT-LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/README.md +171 -0
- data/vendor/bundle/ruby/3.3.0/gems/useragent-0.16.10/LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/useragent-0.16.10/README.md +42 -0
- data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/README.md +61 -0
- data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/webrick.gemspec +70 -0
- data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/README.md +1494 -0
- data/vendor/bundle/ruby/3.3.0/specifications/actionpack-7.2.1.gemspec +37 -0
- data/vendor/bundle/ruby/3.3.0/specifications/actionview-7.2.1.gemspec +33 -0
- data/vendor/bundle/ruby/3.3.0/specifications/activesupport-7.2.1.gemspec +36 -0
- data/vendor/bundle/ruby/3.3.0/specifications/addressable-2.8.7.gemspec +30 -0
- data/vendor/bundle/ruby/3.3.0/specifications/appraisal-2.5.0.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/ast-2.4.2.gemspec +30 -0
- data/vendor/bundle/ruby/3.3.0/specifications/benchmark-ips-2.13.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/bigdecimal-3.1.8.gemspec +25 -0
- data/vendor/bundle/ruby/3.3.0/specifications/builder-3.3.0.gemspec +22 -0
- data/vendor/bundle/ruby/3.3.0/specifications/byebug-11.1.3.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/coderay-1.1.3.gemspec +25 -0
- data/vendor/bundle/ruby/3.3.0/specifications/concurrent-ruby-1.3.4.gemspec +24 -0
- data/vendor/bundle/ruby/3.3.0/specifications/connection_pool-2.4.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/crass-1.0.6.gemspec +27 -0
- data/vendor/bundle/ruby/3.3.0/specifications/diff-lcs-1.5.1.gemspec +37 -0
- data/vendor/bundle/ruby/3.3.0/specifications/docile-1.4.1.gemspec +22 -0
- data/vendor/bundle/ruby/3.3.0/specifications/drb-2.2.1.gemspec +22 -0
- data/vendor/bundle/ruby/3.3.0/specifications/erubi-1.13.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/i18n-1.14.5.gemspec +26 -0
- data/vendor/bundle/ruby/3.3.0/specifications/io-console-0.7.2.gemspec +25 -0
- data/vendor/bundle/ruby/3.3.0/specifications/irb-1.14.0.gemspec +30 -0
- data/vendor/bundle/ruby/3.3.0/specifications/json-2.7.2.gemspec +0 -0
- data/vendor/bundle/ruby/3.3.0/specifications/language_server-protocol-3.17.0.3.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/loofah-2.22.0.gemspec +27 -0
- data/vendor/bundle/ruby/3.3.0/specifications/method_source-1.1.0.gemspec +21 -0
- data/vendor/bundle/ruby/3.3.0/specifications/minitest-5.25.1.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/nokogiri-1.16.7-x86_64-linux.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/parallel-1.26.3.gemspec +21 -0
- data/vendor/bundle/ruby/3.3.0/specifications/parser-3.3.4.2.gemspec +37 -0
- data/vendor/bundle/ruby/3.3.0/specifications/pry-0.14.2.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/pry-byebug-3.10.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/public_suffix-6.0.1.gemspec +24 -0
- data/vendor/bundle/ruby/3.3.0/specifications/racc-1.8.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rack-3.1.7.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rack-session-2.0.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rack-test-2.1.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rackup-2.1.0.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rails-dom-testing-2.2.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rails-html-sanitizer-1.6.0.gemspec +27 -0
- data/vendor/bundle/ruby/3.3.0/specifications/railties-7.2.1.gemspec +37 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rainbow-3.1.1.gemspec +25 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rake-13.2.1.gemspec +26 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rake-release-1.3.0.gemspec +26 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rdoc-6.7.0.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/regexp_parser-2.9.2.gemspec +22 -0
- data/vendor/bundle/ruby/3.3.0/specifications/reline-0.5.9.gemspec +26 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rexml-3.3.6.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rspec-3.13.0.gemspec +31 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rspec-core-3.13.0.gemspec +39 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rspec-expectations-3.13.2.gemspec +33 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rspec-mocks-3.13.1.gemspec +33 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rspec-rails-6.1.4.gemspec +37 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rspec-support-3.13.1.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-1.65.1.gemspec +39 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-ast-1.32.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-capybara-2.21.0.gemspec +27 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-factory_bot-2.26.1.gemspec +27 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-performance-1.21.1.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec-3.0.4.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec_rails-2.30.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/ruby-progressbar-1.13.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/simplecov-0.22.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/simplecov-cobertura-2.1.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/simplecov-html-0.12.3.gemspec +21 -0
- data/vendor/bundle/ruby/3.3.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
- data/vendor/bundle/ruby/3.3.0/specifications/strscan-3.1.0.gemspec +24 -0
- data/vendor/bundle/ruby/3.3.0/specifications/thor-1.3.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.3.0/specifications/tzinfo-2.0.6.gemspec +30 -0
- data/vendor/bundle/ruby/3.3.0/specifications/unicode-display_width-2.5.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.3.0/specifications/useragent-0.16.10.gemspec +25 -0
- data/vendor/bundle/ruby/3.3.0/specifications/webrick-1.8.1.gemspec +22 -0
- data/vendor/bundle/ruby/3.3.0/specifications/zeitwerk-2.6.17.gemspec +22 -0
- metadata +258 -6
- data/spec/dummy/log/test.log +0 -192
@@ -0,0 +1,406 @@
|
|
1
|
+
# TZInfo - Ruby Time Zone Library
|
2
|
+
|
3
|
+
[![RubyGems](https://img.shields.io/gem/v/tzinfo?logo=rubygems&label=Gem)](https://rubygems.org/gems/tzinfo) [![Tests](https://github.com/tzinfo/tzinfo/workflows/Tests/badge.svg?branch=master&event=push)](https://github.com/tzinfo/tzinfo/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush)
|
4
|
+
|
5
|
+
[TZInfo](https://tzinfo.github.io) is a Ruby library that provides access to
|
6
|
+
time zone data and allows times to be converted using time zone rules.
|
7
|
+
|
8
|
+
|
9
|
+
## Data Sources
|
10
|
+
|
11
|
+
TZInfo requires a source of time zone data. There are two options:
|
12
|
+
|
13
|
+
1. A zoneinfo directory containing timezone definition files. These files are
|
14
|
+
generated from the [IANA Time Zone Database](https://www.iana.org/time-zones)
|
15
|
+
using the `zic` utility. Most Unix-like systems include a zoneinfo directory.
|
16
|
+
2. The TZInfo::Data library (the tzinfo-data gem). TZInfo::Data contains a set
|
17
|
+
of Ruby modules that are also generated from the IANA Time Zone Database.
|
18
|
+
|
19
|
+
By default, TZInfo will attempt to use TZInfo::Data. If TZInfo::Data is not
|
20
|
+
available (i.e. if `require 'tzinfo/data'` fails), then TZInfo will search for a
|
21
|
+
zoneinfo directory instead (using the search path specified by
|
22
|
+
`TZInfo::ZoneinfoDataSource::DEFAULT_SEARCH_PATH`).
|
23
|
+
|
24
|
+
If no data source can be found, a `TZInfo::DataSourceNotFound` exception will be
|
25
|
+
raised when TZInfo is used. Further information is available
|
26
|
+
[in the wiki](https://tzinfo.github.io/datasourcenotfound) to help resolve
|
27
|
+
`TZInfo::DataSourceNotFound` errors.
|
28
|
+
|
29
|
+
The default data source selection can be overridden by calling
|
30
|
+
`TZInfo::DataSource.set`.
|
31
|
+
|
32
|
+
Custom data sources can also be used. See the `TZInfo::DataSource.set`
|
33
|
+
documentation for further details.
|
34
|
+
|
35
|
+
|
36
|
+
## Installation
|
37
|
+
|
38
|
+
The TZInfo gem can be installed by running `gem install tzinfo` or by adding
|
39
|
+
`gem 'tzinfo'` to your `Gemfile` and running `bundle install`.
|
40
|
+
|
41
|
+
To use the Ruby modules as the data source, TZInfo::Data will also need to be
|
42
|
+
installed by running `gem install tzinfo-data` or by adding `gem 'tzinfo-data'`
|
43
|
+
to your `Gemfile`.
|
44
|
+
|
45
|
+
|
46
|
+
## IANA Time Zone Database
|
47
|
+
|
48
|
+
The data returned and used by TZInfo is sourced from the
|
49
|
+
[IANA Time Zone Database](http://www.iana.org/time-zones). The
|
50
|
+
[Theory and pragmatics of the tz code and data](https://data.iana.org/time-zones/theory.html)
|
51
|
+
document gives details of how the data is organized and managed.
|
52
|
+
|
53
|
+
|
54
|
+
## Example Usage
|
55
|
+
|
56
|
+
To use TZInfo, it must first be required with:
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
require 'tzinfo'
|
60
|
+
```
|
61
|
+
|
62
|
+
The `TZInfo::Timezone` class provides access to time zone data and methods for
|
63
|
+
converting times.
|
64
|
+
|
65
|
+
The `all_identifiers` method returns a list of valid time zone identifiers:
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
identifiers = TZInfo::Timezone.all_identifiers
|
69
|
+
# => ["Africa/Adibdjan", "Africa/Accra", ..., "Zulu"]
|
70
|
+
```
|
71
|
+
|
72
|
+
A `TZInfo::Timezone` instance representing an individual time zone can be
|
73
|
+
obtained with `TZInfo::Timezone.get`:
|
74
|
+
|
75
|
+
```ruby
|
76
|
+
tz = TZInfo::Timezone.get('America/New_York')
|
77
|
+
# => #<TZInfo::DataTimezone: America/New_York>
|
78
|
+
```
|
79
|
+
|
80
|
+
A time can be converted to the local time of the time zone with `to_local`:
|
81
|
+
|
82
|
+
```ruby
|
83
|
+
tz.to_local(Time.utc(2018, 2, 1, 12, 30, 0))
|
84
|
+
# => 2018-02-01 07:30:00 -0500
|
85
|
+
tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0))
|
86
|
+
# => 2018-07-01 08:30:00 -0400
|
87
|
+
tz.to_local(Time.new(2018, 7, 1, 13, 30, 0, '+01:00'))
|
88
|
+
# => 2018-07-01 08:30:00 -0400
|
89
|
+
```
|
90
|
+
|
91
|
+
Local times with the appropriate offset for the time zone can be constructed
|
92
|
+
with `local_time`:
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
tz.local_time(2018, 2, 1, 7, 30, 0)
|
96
|
+
# => 2018-02-01 07:30:00 -0500
|
97
|
+
tz.local_time(2018, 7, 1, 8, 30, 0)
|
98
|
+
# => 2018-07-01 08:30:00 -0400
|
99
|
+
```
|
100
|
+
|
101
|
+
Local times can be converted to UTC by using `local_time` and calling `utc` on
|
102
|
+
the result:
|
103
|
+
|
104
|
+
```ruby
|
105
|
+
tz.local_time(2018, 2, 1, 7, 30, 0).utc
|
106
|
+
# => 2018-02-01 12:30:00 UTC
|
107
|
+
tz.local_time(2018, 7, 1, 8, 30, 0).utc
|
108
|
+
# => 2018-07-01 12:30:00 UTC
|
109
|
+
```
|
110
|
+
|
111
|
+
The `local_to_utc` method can also be used to convert a time object to UTC. The
|
112
|
+
offset of the time is ignored - it is treated as if it were a local time for the
|
113
|
+
time zone:
|
114
|
+
|
115
|
+
```ruby
|
116
|
+
tz.local_to_utc(Time.utc(2018, 2, 1, 7, 30, 0))
|
117
|
+
# => 2018-02-01 12:30:00 UTC
|
118
|
+
tz.local_to_utc(Time.new(2018, 2, 1, 7, 30, 0, '+01:00'))
|
119
|
+
# => 2018-02-01 12:30:00 UTC
|
120
|
+
```
|
121
|
+
|
122
|
+
Information about the time zone can be obtained from returned local times:
|
123
|
+
|
124
|
+
```ruby
|
125
|
+
local_time = tz.to_local(Time.utc(2018, 2, 1, 12, 30, 0))
|
126
|
+
local_time.utc_offset # => -18000
|
127
|
+
local_time.dst? # => false
|
128
|
+
local_time.zone # => "EST"
|
129
|
+
|
130
|
+
local_time = tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0))
|
131
|
+
local_time.utc_offset # => -14400
|
132
|
+
local_time.dst? # => true
|
133
|
+
local_time.zone # => "EDT"
|
134
|
+
```
|
135
|
+
|
136
|
+
Time zone information can be included when formatting times with `strftime`
|
137
|
+
using the `%z` and `%Z` directives:
|
138
|
+
|
139
|
+
```ruby
|
140
|
+
tz.to_local(Time.utc(2018, 2, 1, 12, 30, 0)).strftime('%Y-%m-%d %H:%M:%S %z %Z')
|
141
|
+
# => "2018-02-01 07:30:00 -0500 EST"
|
142
|
+
tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0)).strftime('%Y-%m-%d %H:%M:%S %z %Z')
|
143
|
+
# => "2018-07-01 08:30:00 -0400 EDT"
|
144
|
+
```
|
145
|
+
|
146
|
+
The `period_for` method can be used to obtain information about the observed
|
147
|
+
time zone information at a particular time as a `TZInfo::TimezonePeriod` object:
|
148
|
+
|
149
|
+
```ruby
|
150
|
+
period = tz.period_for(Time.utc(2018, 7, 1, 12, 30, 0))
|
151
|
+
period.base_utc_offset # => -18000
|
152
|
+
period.std_offset # => 3600
|
153
|
+
period.observed_utc_offset # => -14400
|
154
|
+
period.abbreviation # => "EDT"
|
155
|
+
period.dst? # => true
|
156
|
+
period.local_starts_at.to_time # => 2018-03-11 03:00:00 -0400
|
157
|
+
period.local_ends_at.to_time # => 2018-11-04 02:00:00 -0400
|
158
|
+
```
|
159
|
+
|
160
|
+
A list of transitions between periods where different rules are observed can be
|
161
|
+
obtained with the `transitions_up_to` method. The result is returned as an
|
162
|
+
`Array` of `TZInfo::TimezoneTransition` objects:
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
transitions = tz.transitions_up_to(Time.utc(2019, 1, 1), Time.utc(2017, 1, 1))
|
166
|
+
transitions.map do |t|
|
167
|
+
[t.local_end_at.to_time, t.offset.observed_utc_offset, t.offset.abbreviation]
|
168
|
+
end
|
169
|
+
# => [[2017-03-12 02:00:00 -0500, -14400, "EDT"],
|
170
|
+
# [2017-11-05 02:00:00 -0400, -18000, "EST"],
|
171
|
+
# [2018-03-11 02:00:00 -0500, -14400, "EDT"],
|
172
|
+
# [2018-11-04 02:00:00 -0400, -18000, "EST"]]
|
173
|
+
```
|
174
|
+
|
175
|
+
A list of the unique offsets used by a time zone can be obtained with the
|
176
|
+
`offsets_up_to` method. The result is returned as an `Array` of
|
177
|
+
`TZInfo::TimezoneOffset` objects:
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
offsets = tz.offsets_up_to(Time.utc(2019, 1, 1))
|
181
|
+
offsets.map {|o| [o.observed_utc_offset, o.abbreviation] }
|
182
|
+
# => [[-17762, "LMT"],
|
183
|
+
# [-18000, "EST"],
|
184
|
+
# [-14400, "EDT"],
|
185
|
+
# [-14400, "EWT"],
|
186
|
+
# [-14400, "EPT"]]
|
187
|
+
```
|
188
|
+
|
189
|
+
All `TZInfo::Timezone` methods that accept a time as a parameter can be used
|
190
|
+
with either instances of `Time`, `DateTime` or `TZInfo::Timestamp`. Arbitrary
|
191
|
+
`Time`-like objects that respond to both `to_i` and `subsec` and optionally
|
192
|
+
`utc_offset` will be treated as if they are instances of `Time`.
|
193
|
+
|
194
|
+
`TZInfo::Timezone` methods that both accept and return times will return an
|
195
|
+
object with a type matching that of the parameter (actually a
|
196
|
+
`TZInfo::TimeWithOffset`, `TZInfo::DateTimeWithOffset` or
|
197
|
+
`TZInfo::TimestampWithOffset` subclass when returning a local time):
|
198
|
+
|
199
|
+
```ruby
|
200
|
+
tz.to_local(Time.utc(2018, 7, 1, 12, 30, 0))
|
201
|
+
# => 2018-07-01 08:30:00 -0400
|
202
|
+
tz.to_local(DateTime.new(2018, 7, 1, 12, 30, 0))
|
203
|
+
# => #<TZInfo::DateTimeWithOffset: 2018-07-01T08:30:00-04:00 ((2458301j,45000s,0n),-14400s,2299161j)>
|
204
|
+
tz.to_local(TZInfo::Timestamp.create(2018, 7, 1, 12, 30, 0, 0, :utc))
|
205
|
+
# => #<TZInfo::TimestampWithOffset: @value=1530448200, @sub_second=0, @utc_offset=-14400, @utc=false>
|
206
|
+
```
|
207
|
+
|
208
|
+
In addition to `local_time`, which returns `Time` instances, the
|
209
|
+
`local_datetime` and `local_timestamp` methods can be used to construct local
|
210
|
+
`DateTime` and `TZInfo::Timestamp` instances with the appropriate offset:
|
211
|
+
|
212
|
+
```ruby
|
213
|
+
tz.local_time(2018, 2, 1, 7, 30, 0)
|
214
|
+
# => 2018-02-01 07:30:00 -0500
|
215
|
+
tz.local_datetime(2018, 2, 1, 7, 30, 0)
|
216
|
+
# => #<TZInfo::DateTimeWithOffset: 2018-02-01T07:30:00-05:00 ((2458151j,45000s,0n),-18000s,2299161j)>
|
217
|
+
tz.local_timestamp(2018, 2, 1, 7, 30, 0)
|
218
|
+
# => #<TZInfo::TimestampWithOffset: @value=1517488200, @sub_second=0, @utc_offset=-18000, @utc=false>
|
219
|
+
```
|
220
|
+
|
221
|
+
The `local_to_utc`, `local_time`, `local_datetime` and `local_timestamp` methods
|
222
|
+
may raise a `TZInfo::PeriodNotFound` or a `TZInfo::AmbiguousTime` exception.
|
223
|
+
`TZInfo::PeriodNotFound` signals that there is no equivalent UTC time (for
|
224
|
+
example, during the transition from standard time to daylight savings time when
|
225
|
+
the clocks are moved forward and an hour is skipped). `TZInfo::AmbiguousTime`
|
226
|
+
signals that there is more than one equivalent UTC time (for example, during the
|
227
|
+
transition from daylight savings time to standard time where the clocks are
|
228
|
+
moved back and an hour is repeated):
|
229
|
+
|
230
|
+
```ruby
|
231
|
+
tz.local_time(2018, 3, 11, 2, 30, 0, 0)
|
232
|
+
# raises TZInfo::PeriodNotFound (2018-03-11 02:30:00 is an invalid local time.)
|
233
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0)
|
234
|
+
# raises TZInfo::AmbiguousTime (2018-11-04 01:30:00 is an ambiguous local time.)
|
235
|
+
```
|
236
|
+
|
237
|
+
`TZInfo::PeriodNotFound` exceptions can only be resolved by adjusting the time,
|
238
|
+
for example, by advancing an hour:
|
239
|
+
|
240
|
+
```ruby
|
241
|
+
tz.local_time(2018, 3, 11, 3, 30, 0, 0)
|
242
|
+
# => 2018-03-11 03:30:00 -0400
|
243
|
+
```
|
244
|
+
|
245
|
+
`TZInfo::AmbiguousTime` exceptions can be resolved by setting the `dst`
|
246
|
+
parameter and/or specifying a block to choose one of the interpretations:
|
247
|
+
|
248
|
+
```ruby
|
249
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0, true)
|
250
|
+
# => 2018-11-04 01:30:00 -0400
|
251
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0, false)
|
252
|
+
# => 2018-11-04 01:30:00 -0500
|
253
|
+
|
254
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0) {|p| p.first }
|
255
|
+
# => 2018-11-04 01:30:00 -0400
|
256
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0) {|p| p.last }
|
257
|
+
# => 2018-11-04 01:30:00 -0500
|
258
|
+
```
|
259
|
+
|
260
|
+
The default value of the `dst` parameter can also be set globally:
|
261
|
+
|
262
|
+
```ruby
|
263
|
+
TZInfo::Timezone.default_dst = true
|
264
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0)
|
265
|
+
# => 2018-11-04 01:30:00 -0400
|
266
|
+
TZInfo::Timezone.default_dst = false
|
267
|
+
tz.local_time(2018, 11, 4, 1, 30, 0, 0)
|
268
|
+
# => 2018-11-04 01:30:00 -0500
|
269
|
+
```
|
270
|
+
|
271
|
+
TZInfo also provides information about
|
272
|
+
[ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) countries and
|
273
|
+
their associated time zones via the `TZInfo::Country` class.
|
274
|
+
|
275
|
+
A list of valid ISO 3166-1 (alpha-2) country codes can be obtained by calling
|
276
|
+
`TZInfo::Country.all_codes`:
|
277
|
+
|
278
|
+
```ruby
|
279
|
+
TZInfo::Country.all_codes
|
280
|
+
# => ["AD", "AE", ..., "ZW"]
|
281
|
+
```
|
282
|
+
|
283
|
+
A `TZInfo::Country` instance representing an individual time zone can be
|
284
|
+
obtained with `TZInfo::Country.get`:
|
285
|
+
|
286
|
+
```ruby
|
287
|
+
c = TZInfo::Country.get('US')
|
288
|
+
# => #<TZInfo::Country: US>
|
289
|
+
c.name
|
290
|
+
# => "United States"
|
291
|
+
```
|
292
|
+
|
293
|
+
The `zone_identifiers` method returns a list of the time zone identifiers used
|
294
|
+
in a country:
|
295
|
+
|
296
|
+
```ruby
|
297
|
+
c.zone_identifiers
|
298
|
+
# => ["America/New_York", "America/Detroit", ..., "Pacific/Honolulu"]
|
299
|
+
```
|
300
|
+
|
301
|
+
The `zone_info` method returns further information about the time zones used in
|
302
|
+
a country as an `Array` of `TZInfo::CountryTimezone` instances:
|
303
|
+
|
304
|
+
```ruby
|
305
|
+
zi = c.zone_info.first
|
306
|
+
zi.identifier # => "America/New_York"
|
307
|
+
zi.latitude.to_f.round(5) # => 40.71417
|
308
|
+
zi.longitude.to_f.round(5) # => -74.00639
|
309
|
+
zi.description # => "Eastern (most areas)"
|
310
|
+
```
|
311
|
+
|
312
|
+
The `zones` method returns an `Array` of `TZInfo::Timezone` instances for a
|
313
|
+
country. A `TZInfo::Timezone` instance can be obtained from a
|
314
|
+
`TZInfo::CountryTimezone` using the `timezone` method:
|
315
|
+
|
316
|
+
```ruby
|
317
|
+
zi.timezone.to_local(Time.utc(2018, 2, 1, 12, 30, 0))
|
318
|
+
# => 2018-02-01 07:30:00 -0500
|
319
|
+
```
|
320
|
+
|
321
|
+
For further detail, please refer to the API documentation for the
|
322
|
+
`TZInfo::Timezone` and `TZInfo::Country` classes.
|
323
|
+
|
324
|
+
|
325
|
+
## Time Zone Selection
|
326
|
+
|
327
|
+
The Time Zone Database maintainers recommend that time zone identifiers are not
|
328
|
+
made visible to end-users (see [Names of
|
329
|
+
timezones](https://data.iana.org/time-zones/theory.html#naming)).
|
330
|
+
|
331
|
+
Instead of displaying a list of time zone identifiers, time zones can be
|
332
|
+
selected by the user's country. Call `TZInfo::Country.all` to obtain a list of
|
333
|
+
`TZInfo::Country` objects, each with a unique `code` and a `name` that can be
|
334
|
+
used for display purposes.
|
335
|
+
|
336
|
+
Most countries have a single time zone. When choosing such a country, the time
|
337
|
+
zone can be inferred and selected automatically.
|
338
|
+
|
339
|
+
```ruby
|
340
|
+
croatia = TZInfo::Country.get('HR')
|
341
|
+
# => #<TZInfo::Country: HR>
|
342
|
+
croatia.zone_info.length
|
343
|
+
# => 1
|
344
|
+
croatia.zone_info[0].identifier
|
345
|
+
# => "Europe/Belgrade"
|
346
|
+
```
|
347
|
+
|
348
|
+
Some countries have multiple time zones. The `zone_info` method can be used
|
349
|
+
to obtain a list of user-friendly descriptions of the available options:
|
350
|
+
|
351
|
+
```ruby
|
352
|
+
australia = TZInfo::Country.get('AU')
|
353
|
+
# => #<TZInfo::Country: AU>
|
354
|
+
australia.zone_info.length
|
355
|
+
# => 13
|
356
|
+
australia.zone_info.map {|i| [i.identifier, i.description] }
|
357
|
+
# => [["Australia/Lord_Howe", "Lord Howe Island"],
|
358
|
+
# ["Antarctica/Macquarie", "Macquarie Island"],
|
359
|
+
# ...
|
360
|
+
# ["Australia/Eucla", "Western Australia (Eucla)"]]
|
361
|
+
```
|
362
|
+
|
363
|
+
Please note that country information available through TZInfo is intended as an
|
364
|
+
aid to help users select a time zone data appropriate for their practical needs.
|
365
|
+
It is not intended to take or endorse any position on legal or territorial
|
366
|
+
claims.
|
367
|
+
|
368
|
+
|
369
|
+
## Compatibility
|
370
|
+
|
371
|
+
TZInfo v2.0.0 requires a minimum of Ruby MRI 1.9.3 or JRuby 1.7 (in 1.9 mode or
|
372
|
+
later).
|
373
|
+
|
374
|
+
|
375
|
+
## Thread-Safety
|
376
|
+
|
377
|
+
The `TZInfo::Country` and `TZInfo::Timezone` classes are thread-safe. It is safe
|
378
|
+
to use class and instance methods of `TZInfo::Country` and `TZInfo::Timezone` in
|
379
|
+
concurrently executing threads. Instances of both classes can be shared across
|
380
|
+
thread boundaries.
|
381
|
+
|
382
|
+
|
383
|
+
## Documentation
|
384
|
+
|
385
|
+
API documentation for TZInfo is available on
|
386
|
+
[RubyDoc.info](https://www.rubydoc.info/gems/tzinfo/).
|
387
|
+
|
388
|
+
|
389
|
+
## License
|
390
|
+
|
391
|
+
TZInfo is released under the MIT license, see LICENSE for details.
|
392
|
+
|
393
|
+
|
394
|
+
## Source Code
|
395
|
+
|
396
|
+
Source code for TZInfo is available on
|
397
|
+
[GitHub](https://github.com/tzinfo/tzinfo).
|
398
|
+
|
399
|
+
|
400
|
+
## Issue Tracker
|
401
|
+
|
402
|
+
Please post any bugs, issues, feature requests or questions about TZInfo to the
|
403
|
+
[GitHub issue tracker](https://github.com/tzinfo/tzinfo/issues).
|
404
|
+
|
405
|
+
Issues with the underlying time zone data should be raised on the
|
406
|
+
[Time Zone Database Discussion mailing list](https://mm.icann.org/mailman/listinfo/tz).
|
@@ -0,0 +1,196 @@
|
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
## 2.5.0
|
4
|
+
|
5
|
+
- Unicode 15.1
|
6
|
+
|
7
|
+
## 2.4.2
|
8
|
+
|
9
|
+
More performance improvements:
|
10
|
+
|
11
|
+
- Optimize lookup of first 4096 codepoints
|
12
|
+
- Avoid overwrite lookup if no overwrites are set
|
13
|
+
|
14
|
+
## 2.4.1
|
15
|
+
|
16
|
+
- Improve general performance!
|
17
|
+
- Further improve performance for ASCII strings
|
18
|
+
|
19
|
+
*You should really upgrade - it's much faster now!*
|
20
|
+
|
21
|
+
## 2.4.0
|
22
|
+
- Improve performance for ASCII-only strings, by @fatkodima
|
23
|
+
- Require Ruby 2.4
|
24
|
+
|
25
|
+
## 2.3.0
|
26
|
+
|
27
|
+
- Unicode 15.0
|
28
|
+
|
29
|
+
## 2.2.0
|
30
|
+
|
31
|
+
- Add *Hangul Jamo Extended-B* block to zero-width chars, thanks @ninjalj #22
|
32
|
+
|
33
|
+
## 2.1.0
|
34
|
+
|
35
|
+
- Unicode 14.0
|
36
|
+
|
37
|
+
## 2.0.0
|
38
|
+
|
39
|
+
- Release 2.0.0
|
40
|
+
- Supports Ruby 3.0
|
41
|
+
|
42
|
+
## 2.0.0.pre2
|
43
|
+
|
44
|
+
- Update 2.0 branch to Unicode 13
|
45
|
+
|
46
|
+
## 2.0.0.pre1
|
47
|
+
|
48
|
+
Will be published as non-pre version on rubygems.org when Ruby 3.0 is released (December 2020)
|
49
|
+
|
50
|
+
- Introduce new class-based API, which remembers your string-width configuration. See README for details.
|
51
|
+
- Remove auto-loading of string extension
|
52
|
+
- You can: `require "unicode/display_width/string_ext"` to continue to use the string extension
|
53
|
+
- The manual opt-out `require "unicode/display_width/no_string_ext"` is not needed anymore and will
|
54
|
+
issue a warning in the future
|
55
|
+
- Remove (already deprecated) String#display_size and String#display_width aliases
|
56
|
+
|
57
|
+
Refactorings / Internal Changes:
|
58
|
+
|
59
|
+
- Freeze string literals
|
60
|
+
- The Unicode::DisplayWidth now is class, instead of a module, this enables the new config-object API
|
61
|
+
|
62
|
+
## 1.8.0
|
63
|
+
|
64
|
+
- Unicode 14.0 (last release of 1.x)
|
65
|
+
|
66
|
+
## 1.7.0
|
67
|
+
|
68
|
+
- Unicode 13
|
69
|
+
|
70
|
+
## 1.6.1
|
71
|
+
|
72
|
+
- Fix that ambiguous and overwrite options where ignored for emoji-measuring
|
73
|
+
|
74
|
+
## 1.6.0
|
75
|
+
|
76
|
+
- Unicode 12.1
|
77
|
+
|
78
|
+
## 1.5.0
|
79
|
+
|
80
|
+
- Unicode 12
|
81
|
+
|
82
|
+
## 1.4.1
|
83
|
+
|
84
|
+
- Only bundle required lib/* and data/* files in actual rubygem, patch by @tas50
|
85
|
+
|
86
|
+
## 1.4.0
|
87
|
+
|
88
|
+
- Unicode 11
|
89
|
+
|
90
|
+
## 1.3.3
|
91
|
+
|
92
|
+
- Replace Gem::Util.gunzip with direct zlib implementation
|
93
|
+
This removes the dependency on rubygems, fixes #17
|
94
|
+
|
95
|
+
## 1.3.2
|
96
|
+
|
97
|
+
- Explicitly load rubygems/util, fixes regression in 1.3.1 (autoload issue)
|
98
|
+
|
99
|
+
## 1.3.1
|
100
|
+
|
101
|
+
- Use `Gem::Util` for `gunzip`, removes deprecation warning, patch by @Schwad
|
102
|
+
|
103
|
+
## 1.3.0
|
104
|
+
|
105
|
+
- Unicode 10
|
106
|
+
|
107
|
+
## 1.2.1
|
108
|
+
|
109
|
+
- Fix bug that `emoji: true` would fail for emoji without modifier
|
110
|
+
|
111
|
+
## 1.2.0
|
112
|
+
|
113
|
+
- Add zero-width codepoint ranges: U+2060..U+206F, U+FFF0..U+FFF8, U+E0000..U+E0FFF
|
114
|
+
- Add full-witdh codepoint ranges: U+3400..U+4DBF, U+4E00..U+9FFF, U+F900..U+FAFF, U+20000..U+2FFFD, U+30000..U+3FFFD
|
115
|
+
- Experimental emoji support using the [unicode-emoji](https://github.com/janlelis/unicode-emoji) gem
|
116
|
+
- Fix minor bug in index compression scheme
|
117
|
+
|
118
|
+
## 1.1.3
|
119
|
+
|
120
|
+
- Fix that non-UTF-8 encodings do not throw errors, patch by @windwiny
|
121
|
+
|
122
|
+
## 1.1.2
|
123
|
+
|
124
|
+
- Reduce memory consumption and increase performance, patch by @rrosenblum
|
125
|
+
|
126
|
+
## 1.1.1
|
127
|
+
|
128
|
+
- Always load index into memory, fixes #9
|
129
|
+
|
130
|
+
## 1.1.0
|
131
|
+
|
132
|
+
- Support Unicode 9.0
|
133
|
+
|
134
|
+
## 1.0.5
|
135
|
+
|
136
|
+
- Actually include new index from 1.0.4
|
137
|
+
|
138
|
+
## 1.0.4
|
139
|
+
|
140
|
+
- New index format (much smaller) and internal API changes
|
141
|
+
- Move index generation to a builder plugin for the unicoder gem
|
142
|
+
- No public API changes
|
143
|
+
|
144
|
+
## 1.0.3
|
145
|
+
|
146
|
+
- Avoid circular dependency warning
|
147
|
+
|
148
|
+
## 1.0.2
|
149
|
+
|
150
|
+
- Fix error that gemspec might be invalid under some circumstances (see gh#6)
|
151
|
+
|
152
|
+
## 1.0.1
|
153
|
+
|
154
|
+
- Inofficially allow Ruby 1.9
|
155
|
+
|
156
|
+
## 1.0.0
|
157
|
+
|
158
|
+
- Faster than 0.3.1
|
159
|
+
- Advanced determination of character width
|
160
|
+
- This includes: Treat width of most chars of general categories (Mn, Me, Cf) as 0
|
161
|
+
- This includes: Introduce list of characters with special widths
|
162
|
+
- Allow custom overrides for specific codepoints
|
163
|
+
- Set required Ruby version to 2.0
|
164
|
+
- Add NO_STRING_EXT mode to disable monkey patching
|
165
|
+
- Internal API & index format changed drastically
|
166
|
+
- Remove require 'unicode/display_size' (use 'unicode/display_width' instead)
|
167
|
+
|
168
|
+
## 0.3.1
|
169
|
+
|
170
|
+
- Faster than 0.3.0
|
171
|
+
- Deprecate usage of aliases: String#display_size and String#display_length
|
172
|
+
- Eliminate Ruby warnings (@amatsuda)
|
173
|
+
|
174
|
+
## 0.3.0
|
175
|
+
|
176
|
+
- Update EastAsianWidth from 7.0 to 8.0
|
177
|
+
- Add rake task to update EastAsianWidth.txt
|
178
|
+
- Move code to generate index from library to Rakefile
|
179
|
+
- Update project's meta files
|
180
|
+
- Deprecate requiring 'unicode-display_size'
|
181
|
+
|
182
|
+
## 0.2.0
|
183
|
+
|
184
|
+
- Update EastAsianWidth from 6.0 to 7.0
|
185
|
+
- Don't build index table automatically when not available
|
186
|
+
- Don't include EastAsianWidth.txt in gem (only index)
|
187
|
+
|
188
|
+
|
189
|
+
## 0.1.0
|
190
|
+
|
191
|
+
- Fix github issue #1
|
192
|
+
|
193
|
+
|
194
|
+
## 0.1.0
|
195
|
+
|
196
|
+
- Initial release
|
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT LICENSE
|
2
|
+
|
3
|
+
Copyright (c) 2011, 2015-2023 Jan Lelis
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|