Class: Rspec::PendingFor::Build

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/pending_for/build.rb

Overview

SRP: Describe the RubyEngine and/or RubyVersion(s) that will be pended or skipped and with what message

Constant Summary collapse

INTERPRETER_MATRIX =

Keys are the

{
    "unknown"   => "MRI < 1.9 (probably)",
    "ruby"      => "MRI >= 1.9",
    "ree"       => "Ruby Enterprise Edition",
    "jruby"     => "JRuby",
    "macruby"   => "MacRuby",
    "rbx"       => "Rubinius",
    "maglev"    => "MagLev",
    "ironruby"  => "IronRuby",
    "cardinal"  => "Cardinal"
}
BROKEN_STRING =
"Behavior is broken"
BUG_STRING =
"due to a bug in the Ruby engine"
VERSIONS_STRING =
"in Ruby versions"
"https://github.com/pboling/rspec-pending_for/issues"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Build

Returns a new instance of Build.



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/rspec/pending_for/build.rb', line 39

def initialize(options = {})
  @relevant_versions = Array(options[:versions]) # cast to array
  @relevant_engine = options[:engine].nil? ? nil : options[:engine].to_s
  @reason = options[:reason]
  warn_about_unrecognized_engine
  # If engine is nil, then any matching versions should be pended
  @message =  if @relevant_engine.nil?
                no_engine_specified
              elsif RubyEngine.is? @relevant_engine
                engine_specified_and_relevant
              end
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



37
38
39
# File 'lib/rspec/pending_for/build.rb', line 37

def message
  @message
end

#reasonObject (readonly)

Returns the value of attribute reason.



37
38
39
# File 'lib/rspec/pending_for/build.rb', line 37

def reason
  @reason
end

#relevant_engineObject (readonly)

Returns the value of attribute relevant_engine.



37
38
39
# File 'lib/rspec/pending_for/build.rb', line 37

def relevant_engine
  @relevant_engine
end

#relevant_versionsObject (readonly)

Returns the value of attribute relevant_versions.



37
38
39
# File 'lib/rspec/pending_for/build.rb', line 37

def relevant_versions
  @relevant_versions
end

Instance Method Details

#current_matches_specified?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/rspec/pending_for/build.rb', line 52

def current_matches_specified?
  !message.nil?
end