Top Level Namespace

Defined Under Namespace

Modules: NRSER Classes: Wrapper

Instance Method Summary collapse

Methods included from NRSER::RSpex::ExampleGroup

#context_where, #describe_called_with, #describe_message, #describe_method, #describe_module, #describe_section, #describe_sent_to

Instance Method Details

#merge_expectations(*expectations) ⇒ Object

Merge “expectation” hashes by appending all clauses for each state.

Parameters:

  • *expectations (Array<Hash>)

    Splat of “expectation” hashes - see the examples.



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/nrser/rspex.rb', line 39

def merge_expectations *expectations
  Hash.new { |result, state|
    result[state] = []
  }.tap { |result| 
    expectations.each { |ex|
      ex.each { |state, clauses|
        result[state] += clauses.to_a
      }
    }
  }
end

#unwrap(obj, context: nil) ⇒ Object



78
79
80
81
82
83
84
# File 'lib/nrser/rspex.rb', line 78

def unwrap obj, context: nil
  if obj.is_a? Wrapper
    obj.unwrap context: context
  else
    obj
  end
end

#wrap(description = nil, &block) ⇒ Object



74
75
76
# File 'lib/nrser/rspex.rb', line 74

def wrap description = nil, &block
  Wrapper.new description: description, &block
end