module I18n::JS::Dependencies
When using `safe_gem_check` to check for a pre-release version of gem, we need to specify pre-release version suffix in version constraint
Public Class Methods
rails?()
click to toggle source
# File lib/i18n/js/dependencies.rb, line 7 def rails? defined?(Rails) && Rails.respond_to?(:version) end
sprockets_rails_v2_plus?()
click to toggle source
# File lib/i18n/js/dependencies.rb, line 11 def sprockets_rails_v2_plus? safe_gem_check("sprockets-rails", ">= 2") end
using_asset_pipeline?()
click to toggle source
This cannot be called at class definition time Since not all libraries are loaded
Call this in an initializer
# File lib/i18n/js/dependencies.rb, line 19 def using_asset_pipeline? assets_pipeline_available = (rails3? || rails4? || rails5? || rails6?) && Rails.respond_to?(:application) && Rails.application.config.respond_to?(:assets) rails3_assets_enabled = rails3? && assets_pipeline_available && Rails.application.config.assets.enabled != false assets_pipeline_available && (rails4? || rails5? || rails6? || rails3_assets_enabled) end
Private Class Methods
rails3?()
click to toggle source
# File lib/i18n/js/dependencies.rb, line 34 def rails3? rails? && Rails.version.to_i == 3 end
rails4?()
click to toggle source
# File lib/i18n/js/dependencies.rb, line 38 def rails4? rails? && Rails.version.to_i == 4 end
rails5?()
click to toggle source
# File lib/i18n/js/dependencies.rb, line 42 def rails5? rails? && Rails.version.to_i == 5 end
rails6?()
click to toggle source
# File lib/i18n/js/dependencies.rb, line 46 def rails6? rails? && Rails.version.to_i == 6 end
safe_gem_check(*args)
click to toggle source
# File lib/i18n/js/dependencies.rb, line 50 def safe_gem_check(*args) if Gem::Specification.respond_to?(:find_by_name) Gem::Specification.find_by_name(*args) elsif Gem.respond_to?(:available?) Gem.available?(*args) end rescue Gem::LoadError false end