brew vendor-gems: commit updates.
This commit is contained in:
parent
a76aa506f3
commit
00f3475012
@ -7,7 +7,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/concurrent-ruby-1.1.5
|
|||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/i18n-1.7.0/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/i18n-1.7.0/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/minitest-5.13.0/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/minitest-5.13.0/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/thread_safe-0.3.6/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/thread_safe-0.3.6/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/tzinfo-1.2.5/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/tzinfo-1.2.6/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/zeitwerk-2.2.2/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/zeitwerk-2.2.2/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/activesupport-6.0.2.1/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/activesupport-6.0.2.1/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ast-2.4.0/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ast-2.4.0/lib"
|
||||||
|
@ -137,10 +137,40 @@ module TZInfo
|
|||||||
def self.open_file(file_name, mode, opts, &block)
|
def self.open_file(file_name, mode, opts, &block)
|
||||||
File.open(file_name, mode, &block)
|
File.open(file_name, mode, &block)
|
||||||
end
|
end
|
||||||
else
|
elsif RUBY_VERSION =~ /\A1\.9\./
|
||||||
def self.open_file(file_name, mode, opts, &block)
|
def self.open_file(file_name, mode, opts, &block)
|
||||||
File.open(file_name, mode, opts, &block)
|
File.open(file_name, mode, opts, &block)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
# Evaluate method as a string because **opts isn't valid syntax prior to
|
||||||
|
# Ruby 2.0.
|
||||||
|
eval(<<-EOF
|
||||||
|
def self.open_file(file_name, mode, opts, &block)
|
||||||
|
File.open(file_name, mode, **opts, &block)
|
||||||
|
end
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# Object#untaint is a deprecated no-op in Ruby >= 2.7 and will be removed in
|
||||||
|
# 3.0. Add a refinement to either silence the warning, or supply the method
|
||||||
|
# if needed.
|
||||||
|
old_verbose = $VERBOSE
|
||||||
|
$VERBOSE = false
|
||||||
|
begin
|
||||||
|
o = Object.new
|
||||||
|
if [:taint, :untaint, :tainted?].none? {|m| o.respond_to?(m) } || !o.taint.tainted?
|
||||||
|
module UntaintExt
|
||||||
|
refine Object do
|
||||||
|
def untaint
|
||||||
|
self
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
ensure
|
||||||
|
$VERBOSE = old_verbose
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@ -1,4 +1,6 @@
|
|||||||
module TZInfo
|
module TZInfo
|
||||||
|
using RubyCoreSupport::UntaintExt if RubyCoreSupport.const_defined?(:UntaintExt)
|
||||||
|
|
||||||
# A DataSource that loads data from the set of Ruby modules included in the
|
# A DataSource that loads data from the set of Ruby modules included in the
|
||||||
# TZInfo::Data library (tzinfo-data gem).
|
# TZInfo::Data library (tzinfo-data gem).
|
||||||
#
|
#
|
||||||
@ -6,15 +8,30 @@ module TZInfo
|
|||||||
#
|
#
|
||||||
# TZInfo::DataSource.set(:ruby)
|
# TZInfo::DataSource.set(:ruby)
|
||||||
class RubyDataSource < DataSource
|
class RubyDataSource < DataSource
|
||||||
# Base path for require.
|
|
||||||
REQUIRE_PATH = File.join('tzinfo', 'data', 'definitions')
|
|
||||||
|
|
||||||
# Whether the timezone index has been loaded yet.
|
# Whether the timezone index has been loaded yet.
|
||||||
@@timezone_index_loaded = false
|
@@timezone_index_loaded = false
|
||||||
|
|
||||||
# Whether the country index has been loaded yet.
|
# Whether the country index has been loaded yet.
|
||||||
@@country_index_loaded = false
|
@@country_index_loaded = false
|
||||||
|
|
||||||
|
# Initializes a new RubyDataSource instance.
|
||||||
|
def initialize
|
||||||
|
tzinfo_data = File.join('tzinfo', 'data')
|
||||||
|
begin
|
||||||
|
require(tzinfo_data)
|
||||||
|
|
||||||
|
data_file = File.join('', 'tzinfo', 'data.rb')
|
||||||
|
path = $".reverse_each.detect {|p| p.end_with?(data_file) }
|
||||||
|
if path
|
||||||
|
@base_path = File.join(File.dirname(path), 'data').untaint
|
||||||
|
else
|
||||||
|
@base_path = tzinfo_data
|
||||||
|
end
|
||||||
|
rescue LoadError
|
||||||
|
@base_path = tzinfo_data
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Returns a TimezoneInfo instance for a given identifier.
|
# Returns a TimezoneInfo instance for a given identifier.
|
||||||
# Raises InvalidTimezoneIdentifier if the timezone is not found or the
|
# Raises InvalidTimezoneIdentifier if the timezone is not found or the
|
||||||
# identifier is invalid.
|
# identifier is invalid.
|
||||||
@ -93,27 +110,17 @@ module TZInfo
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Requires an index by its name.
|
# Requires an index by its name.
|
||||||
def self.require_index(name)
|
def require_index(name)
|
||||||
require_data(*['indexes', name])
|
require_data(*['indexes', name])
|
||||||
end
|
end
|
||||||
|
|
||||||
# Requires a file from tzinfo/data.
|
# Requires a file from tzinfo/data.
|
||||||
def require_data(*file)
|
def require_data(*file)
|
||||||
self.class.require_data(*file)
|
require(File.join(@base_path, *file))
|
||||||
end
|
|
||||||
|
|
||||||
# Requires a file from tzinfo/data.
|
|
||||||
def self.require_data(*file)
|
|
||||||
require File.join('tzinfo', 'data', *file)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Loads in the index of timezones if it hasn't already been loaded.
|
# Loads in the index of timezones if it hasn't already been loaded.
|
||||||
def load_timezone_index
|
def load_timezone_index
|
||||||
self.class.load_timezone_index
|
|
||||||
end
|
|
||||||
|
|
||||||
# Loads in the index of timezones if it hasn't already been loaded.
|
|
||||||
def self.load_timezone_index
|
|
||||||
unless @@timezone_index_loaded
|
unless @@timezone_index_loaded
|
||||||
require_index('timezones')
|
require_index('timezones')
|
||||||
@@timezone_index_loaded = true
|
@@timezone_index_loaded = true
|
||||||
@ -122,11 +129,6 @@ module TZInfo
|
|||||||
|
|
||||||
# Loads in the index of countries if it hasn't already been loaded.
|
# Loads in the index of countries if it hasn't already been loaded.
|
||||||
def load_country_index
|
def load_country_index
|
||||||
self.class.load_country_index
|
|
||||||
end
|
|
||||||
|
|
||||||
# Loads in the index of countries if it hasn't already been loaded.
|
|
||||||
def self.load_country_index
|
|
||||||
unless @@country_index_loaded
|
unless @@country_index_loaded
|
||||||
require_index('countries')
|
require_index('countries')
|
||||||
@@country_index_loaded = true
|
@@country_index_loaded = true
|
@ -571,17 +571,21 @@ module TZInfo
|
|||||||
# version 2.0.0, %z will be passed to Time#strftime and DateTime#strftime
|
# version 2.0.0, %z will be passed to Time#strftime and DateTime#strftime
|
||||||
# instead. Some of the formatting options may cease to be available
|
# instead. Some of the formatting options may cease to be available
|
||||||
# depending on the version of Ruby in use (for example, %:::z is only
|
# depending on the version of Ruby in use (for example, %:::z is only
|
||||||
# supported by Time#strftime from MRI version 2.0.0 onwards.)
|
# supported by Time#strftime from MRI version 2.0.0 onwards).
|
||||||
def strftime(format, utc = Time.now.utc)
|
def strftime(format, utc = Time.now.utc)
|
||||||
|
utc = TimeOrDateTime.wrap(utc)
|
||||||
period = period_for_utc(utc)
|
period = period_for_utc(utc)
|
||||||
local = period.to_local(utc)
|
local_wrapped = period.to_local(utc)
|
||||||
local = Time.at(local).utc unless local.kind_of?(Time) || local.kind_of?(DateTime)
|
local = local_wrapped.to_orig
|
||||||
|
local = local_wrapped.to_time unless local.kind_of?(Time) || local.kind_of?(DateTime)
|
||||||
abbreviation = period.abbreviation.to_s.gsub(/%/, '%%')
|
abbreviation = period.abbreviation.to_s.gsub(/%/, '%%')
|
||||||
|
|
||||||
format = format.gsub(/%(%*)(Z|:*z)/) do
|
format = format.gsub(/%(%*)([sZ]|:*z)/) do
|
||||||
if $1.length.odd?
|
if $1.length.odd?
|
||||||
# Escaped literal percent or series of percents. Pass on to strftime.
|
# Escaped literal percent or series of percents. Pass on to strftime.
|
||||||
"#$1%#$2"
|
"#$1%#$2"
|
||||||
|
elsif $2 == "s"
|
||||||
|
"#$1#{utc.to_i}"
|
||||||
elsif $2 == "Z"
|
elsif $2 == "Z"
|
||||||
"#$1#{abbreviation}"
|
"#$1#{abbreviation}"
|
||||||
else
|
else
|
@ -1,4 +1,12 @@
|
|||||||
module TZInfo
|
module TZInfo
|
||||||
|
# Use send as a workaround for an issue on JRuby 9.2.9.0 where using the
|
||||||
|
# refinement causes calls to RubyCoreSupport.file_open to fail to pass the
|
||||||
|
# block parameter.
|
||||||
|
#
|
||||||
|
# https://travis-ci.org/tzinfo/tzinfo/jobs/628812051#L1931
|
||||||
|
# https://github.com/jruby/jruby/issues/6009
|
||||||
|
send(:using, TZInfo::RubyCoreSupport::UntaintExt) if TZInfo::RubyCoreSupport.const_defined?(:UntaintExt)
|
||||||
|
|
||||||
# An InvalidZoneinfoDirectory exception is raised if the DataSource is
|
# An InvalidZoneinfoDirectory exception is raised if the DataSource is
|
||||||
# set to a specific zoneinfo path, which is not a valid zoneinfo directory
|
# set to a specific zoneinfo path, which is not a valid zoneinfo directory
|
||||||
# (i.e. a directory containing index files named iso3166.tab and zone.tab
|
# (i.e. a directory containing index files named iso3166.tab and zone.tab
|
@ -1,4 +1,6 @@
|
|||||||
module TZInfo
|
module TZInfo
|
||||||
|
using RubyCoreSupport::UntaintExt if RubyCoreSupport.const_defined?(:UntaintExt)
|
||||||
|
|
||||||
# An InvalidZoneinfoFile exception is raised if an attempt is made to load an
|
# An InvalidZoneinfoFile exception is raised if an attempt is made to load an
|
||||||
# invalid zoneinfo file.
|
# invalid zoneinfo file.
|
||||||
class InvalidZoneinfoFile < StandardError
|
class InvalidZoneinfoFile < StandardError
|
Loading…
x
Reference in New Issue
Block a user