module Diffend::LocalContext::Platform

Module responsible for building platform information from local context

Public Class Methods

call() click to toggle source

Build platform information

@return [Hash]

# File lib/diffend/local_context/platform.rb, line 12
def call
  {
    'bundler' => {
      'version' => ::Bundler::VERSION
    },
    'environment' => environment,
    'ruby' => ruby_information,
    'rubygems' => {
      'specification_version' => Gem::Specification::CURRENT_SPECIFICATION_VERSION,
      'version' => Gem::VERSION
    }
  }.freeze
end

Private Class Methods

environment() click to toggle source

Build platform environment information

@return [String]

# File lib/diffend/local_context/platform.rb, line 52
def environment
  ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
end
ruby_information() click to toggle source

Build platform ruby information

@return [Hash]

# File lib/diffend/local_context/platform.rb, line 31
def ruby_information
  if defined?(JRUBY_VERSION)
    revision = JRUBY_REVISION.to_s
    version = JRUBY_VERSION
  else
    revision = RUBY_REVISION.to_s
    version = RUBY_ENGINE_VERSION
  end

  {
    'engine' => RUBY_ENGINE,
    'patchlevel' => RUBY_PATCHLEVEL,
    'release_date' => RUBY_RELEASE_DATE,
    'revision' => revision,
    'version' => version
  }
end