module MetricFu::Environment
Public Class Methods
ruby_strangely_makes_accessors_private?()
click to toggle source
# File lib/metric_fu/environment.rb, line 124 def ruby_strangely_makes_accessors_private? @private_accessors ||= ruby192? || jruby? end
Public Instance Methods
debug_info()
click to toggle source
# File lib/metric_fu/environment.rb, line 112 def debug_info @debug_info ||= { "Ruby" => ruby_details, "Environment" => environment_details, "MetricFu" => library_details, } end
environment_details()
click to toggle source
# File lib/metric_fu/environment.rb, line 78 def environment_details @environment_details ||= { "VERBOSE" => $VERBOSE.inspect, "External Encoding" => Encoding.default_external.to_s, "Internal Encoding" => Encoding.default_internal.to_s, "Host Architecture" => RbConfig::CONFIG["build"], "Ruby Prefix" => RbConfig::CONFIG["prefix"], "Ruby Options" => ENV.keys.grep(/RUBYOPT/).map { |key| "#{key}=#{ENV[key]}" }.join(", "), } end
is_cruise_control_rb?()
click to toggle source
# File lib/metric_fu/environment.rb, line 29 def is_cruise_control_rb? !!ENV["CC_BUILD_ARTIFACTS"] end
jruby?()
click to toggle source
# File lib/metric_fu/environment.rb, line 33 def jruby? @jruby ||= !!RedCard.check(:jruby) end
library_details()
click to toggle source
# File lib/metric_fu/environment.rb, line 103 def library_details @library_details ||= { "Version" => version, "Verbose Mode" => verbose, "Enabled Metrics" => MetricFu::Metric.enabled_metrics.map(&:name), "Dependencies" => MetricFu::GemVersion.dependencies_summary, } end
mri?()
click to toggle source
# File lib/metric_fu/environment.rb, line 37 def mri? @mri ||= !!RedCard.check(:ruby) end
osx?()
click to toggle source
# File lib/metric_fu/environment.rb, line 120 def osx? @osx ||= platform.include?("darwin") end
rails?()
click to toggle source
Perform a simple check to try and guess if we're running against a rails app.
TODO This should probably be made a bit more robust.
# File lib/metric_fu/environment.rb, line 19 def rails? @rails ||= begin exists = File.exist?("config/environment.rb") def MetricFu.rails? exists end exists end end
rubinius?()
click to toggle source
# File lib/metric_fu/environment.rb, line 57 def rubinius? @rubinius ||= !!RedCard.check(:rubinius) end
ruby18?()
click to toggle source
# File lib/metric_fu/environment.rb, line 49 def ruby18? @ruby18 ||= mri? && !!RedCard.check("1.8"..."1.9") end
ruby192?()
click to toggle source
# File lib/metric_fu/environment.rb, line 53 def ruby192? @ruby192 ||= mri? && ruby_version == "1.9.2" end
ruby_details()
click to toggle source
To consider $LOADED_FEATURES $LOAD_PATH
# File lib/metric_fu/environment.rb, line 92 def ruby_details @ruby_details ||= { "Engine" => ruby_flavor, "Version" => ruby_version, "Patchlevel" => (defined?(RUBY_PATCHLEVEL) && RUBY_PATCHLEVEL), "Ripper Support" => supports_ripper?, "Rubygems Version" => Gem::VERSION, "Long Description" => (defined?(RUBY_DESCRIPTION) ? RUBY_DESCRIPTION : platform), } end
ruby_flavor()
click to toggle source
# File lib/metric_fu/environment.rb, line 41 def ruby_flavor @ruby_flavor ||= RedCard.engine end
ruby_version()
click to toggle source
# File lib/metric_fu/environment.rb, line 45 def ruby_version @ruby_version ||= RedCard.engine_version end
supports_ripper?()
click to toggle source
# File lib/metric_fu/environment.rb, line 61 def supports_ripper? @supports_ripper ||= begin require "ripper" true rescue LoadError false end end
verbose()
click to toggle source
TODO: Set log_level here, instead
# File lib/metric_fu/environment.rb, line 7 def verbose MetricFu.logger.debug_on end
verbose=(toggle)
click to toggle source
# File lib/metric_fu/environment.rb, line 11 def verbose=(toggle) MetricFu.logger.debug_on = toggle end
version()
click to toggle source
# File lib/metric_fu/environment.rb, line 74 def version MetricFu::VERSION end
Private Instance Methods
ruby_strangely_makes_accessors_private?()
click to toggle source
# File lib/metric_fu/environment.rb, line 124 def ruby_strangely_makes_accessors_private? @private_accessors ||= ruby192? || jruby? end