Top Level Namespace

Defined Under Namespace

Modules: NRSER Classes: Wrapper

Instance Method Summary collapse

Methods included from NRSER::RSpex::ExampleGroup

#context_where, #describe_attribute, #describe_called_with, #describe_class, #describe_file, #describe_group, #describe_instance, #describe_message, #describe_method, #describe_module, #describe_return_value, #describe_section, #describe_sent_to, #describe_spec_file, #describe_x_type, #described_class

Instance Method Details

#Args(*args) ⇒ Object



91
92
93
# File 'lib/nrser/rspex.rb', line 91

def Args *args
  NRSER::RSpex::Args.new args
end

#List(*args) ⇒ Object



87
88
89
# File 'lib/nrser/rspex.rb', line 87

def List *args
  NRSER::RSpex::List.new args
end

#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