brew vendor-gems: commit updates.
This commit is contained in:
parent
f287c3240e
commit
0204a38f0c
@ -4,7 +4,7 @@ ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'
|
||||
ruby_version = RbConfig::CONFIG["ruby_version"]
|
||||
path = File.expand_path('..', __FILE__)
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/concurrent-ruby-1.1.4/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/i18n-1.2.0/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/i18n-1.3.0/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/minitest-5.11.3/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"
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
class Hash
|
||||
def slice(*keep_keys)
|
||||
h = {}
|
||||
keep_keys.each { |key| h[key] = fetch(key) if has_key?(key) }
|
||||
h
|
||||
end unless Hash.method_defined?(:slice)
|
||||
|
||||
def except(*less_keys)
|
||||
slice(*keys - less_keys)
|
||||
end unless Hash.method_defined?(:except)
|
||||
|
||||
def deep_symbolize_keys
|
||||
inject({}) { |result, (key, value)|
|
||||
value = value.deep_symbolize_keys if value.is_a?(Hash)
|
||||
result[(key.to_sym rescue key) || key] = value
|
||||
result
|
||||
}
|
||||
end unless Hash.method_defined?(:deep_symbolize_keys)
|
||||
|
||||
def deep_stringify_keys
|
||||
inject({}) { |result, (key, value)|
|
||||
value = value.deep_stringify_keys if value.is_a?(Hash)
|
||||
result[key.to_s] = value
|
||||
result
|
||||
}
|
||||
end unless Hash.method_defined?(:deep_stringify_keys)
|
||||
|
||||
# deep_merge_hash! by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
|
||||
MERGER = proc do |key, v1, v2|
|
||||
Hash === v1 && Hash === v2 ? v1.merge(v2, &MERGER) : v2
|
||||
end
|
||||
|
||||
def deep_merge!(data)
|
||||
merge!(data, &MERGER)
|
||||
end unless Hash.method_defined?(:deep_merge!)
|
||||
end
|
||||
|
||||
@ -362,7 +362,18 @@ module I18n
|
||||
else
|
||||
keys = key.to_s.split(separator)
|
||||
keys.delete('')
|
||||
keys.map! { |k| k.to_sym }
|
||||
keys.map! do |k|
|
||||
case k
|
||||
when /\A[-+]?\d+\z/ # integer
|
||||
k.to_i
|
||||
when 'true'
|
||||
true
|
||||
when 'false'
|
||||
false
|
||||
else
|
||||
k.to_sym
|
||||
end
|
||||
end
|
||||
keys
|
||||
end
|
||||
end
|
||||
@ -7,6 +7,7 @@ require 'i18n/core_ext/hash'
|
||||
module I18n
|
||||
module Backend
|
||||
module Base
|
||||
using I18n::HashRefinements
|
||||
include I18n::Backend::Transliterator
|
||||
|
||||
# Accepts a list of paths to translation files. Loads translations from
|
||||
@ -17,6 +17,8 @@ module I18n
|
||||
# The implementation assumes that all backends added to the Chain implement
|
||||
# a lookup method with the same API as Simple backend does.
|
||||
class Chain
|
||||
using I18n::HashRefinements
|
||||
|
||||
module Implementation
|
||||
include Base
|
||||
|
||||
@ -34,7 +36,7 @@ module I18n
|
||||
end
|
||||
true
|
||||
end
|
||||
|
||||
|
||||
def reload!
|
||||
backends.each { |backend| backend.reload! }
|
||||
end
|
||||
@ -94,7 +96,7 @@ module I18n
|
||||
init_translations unless initialized?
|
||||
translations
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def namespace_lookup?(result, options)
|
||||
result.is_a?(Hash) && !options.has_key?(:count)
|
||||
@ -31,6 +31,8 @@ module I18n
|
||||
# Without it strings containing periods (".") will not be translated.
|
||||
|
||||
module Gettext
|
||||
using I18n::HashRefinements
|
||||
|
||||
class PoData < Hash
|
||||
def set_comment(msgid_or_sym, comment)
|
||||
# ignore
|
||||
@ -67,6 +67,8 @@ module I18n
|
||||
#
|
||||
# This is useful if you are using a KeyValue backend chained to a Simple backend.
|
||||
class KeyValue
|
||||
using I18n::HashRefinements
|
||||
|
||||
module Implementation
|
||||
attr_accessor :store
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'i18n/backend/base'
|
||||
|
||||
module I18n
|
||||
module Backend
|
||||
# A simple backend that reads translations from YAML files and stores them in
|
||||
@ -17,6 +19,8 @@ module I18n
|
||||
#
|
||||
# I18n::Backend::Simple.include(I18n::Backend::Pluralization)
|
||||
class Simple
|
||||
using I18n::HashRefinements
|
||||
|
||||
(class << self; self; end).class_eval { public :include }
|
||||
|
||||
module Implementation
|
||||
@ -39,7 +43,7 @@ module I18n
|
||||
end
|
||||
locale = locale.to_sym
|
||||
translations[locale] ||= {}
|
||||
data = data.deep_stringify_keys.deep_symbolize_keys
|
||||
data = data.deep_symbolize_keys
|
||||
translations[locale].deep_merge!(data)
|
||||
end
|
||||
|
||||
@ -84,8 +88,11 @@ module I18n
|
||||
keys = I18n.normalize_keys(locale, key, scope, options[:separator])
|
||||
|
||||
keys.inject(translations) do |result, _key|
|
||||
_key = _key.to_sym
|
||||
return nil unless result.is_a?(Hash) && result.has_key?(_key)
|
||||
return nil unless result.is_a?(Hash)
|
||||
unless result.has_key?(_key)
|
||||
_key = _key.to_s.to_sym
|
||||
return nil unless result.has_key?(_key)
|
||||
end
|
||||
result = result[_key]
|
||||
result = resolve(locale, _key, result, options.merge(:scope => nil)) if result.is_a?(Symbol)
|
||||
result
|
||||
37
Library/Homebrew/vendor/bundle-standalone/ruby/2.3.0/gems/i18n-1.3.0/lib/i18n/core_ext/hash.rb
vendored
Normal file
37
Library/Homebrew/vendor/bundle-standalone/ruby/2.3.0/gems/i18n-1.3.0/lib/i18n/core_ext/hash.rb
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
module I18n
|
||||
module HashRefinements
|
||||
refine Hash do
|
||||
def slice(*keep_keys)
|
||||
h = {}
|
||||
keep_keys.each { |key| h[key] = fetch(key) if has_key?(key) }
|
||||
h
|
||||
end
|
||||
|
||||
def except(*less_keys)
|
||||
slice(*keys - less_keys)
|
||||
end
|
||||
|
||||
def deep_symbolize_keys
|
||||
each_with_object({}) do |(key, value), result|
|
||||
value = value.deep_symbolize_keys if value.is_a?(Hash)
|
||||
result[symbolize_key(key)] = value
|
||||
result
|
||||
end
|
||||
end
|
||||
|
||||
# deep_merge_hash! by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
|
||||
def deep_merge!(data)
|
||||
merger = lambda do |_key, v1, v2|
|
||||
Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2
|
||||
end
|
||||
merge!(data, &merger)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def symbolize_key(key)
|
||||
key.respond_to?(:to_sym) ? key.to_sym : key
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,5 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module I18n
|
||||
VERSION = "1.2.0"
|
||||
VERSION = "1.3.0"
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user