Class: Warner

Inherits:
Object
  • Object
show all
Defined in:
lib/warner.rb,
lib/warner/version.rb

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.colored_warning(message, callstack = nil) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/warner.rb', line 16

def self.colored_warning(message, callstack = nil)
  if Object.const_defined?('ActiveSupport')
    # callstack ||= caller_locations(2)
    ActiveSupport::Deprecation.warn message, callstack
  else
    warn "\e[41;37;1m[DEPRECATION WARNING]: #{message}\e[0m"
  end
end

.gem_version_warning(gem_name, version, message) ⇒ Object



35
36
37
38
39
# File 'lib/warner.rb', line 35

def self.gem_version_warning(gem_name, version, message)
  if Gem.loaded_specs[gem_name].version > Gem::Version.new(version)
    colored_warning "[gem:%s] %s > %s : %s" % [gem_name, Gem.loaded_specs[gem_name].version, version, message], caller
  end
end

.rails_version_warning(version, message) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/warner.rb', line 25

def self.rails_version_warning(version, message)
  if Object.const_defined?('Rails')
    if Gem::Version.new(Rails.version) > Gem::Version.new(version)
      colored_warning "[RAILS] %s > %s : %s" % [Rails.version, version, message], caller
    end
  else
    raise "Rails not loaded"
  end
end