Class: Harper::MockFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/harper/mock_filter.rb

Instance Method Summary collapse

Constructor Details

#initialize(mocks) ⇒ MockFilter

Returns a new instance of MockFilter.



4
5
6
# File 'lib/harper/mock_filter.rb', line 4

def initialize(mocks)
  @mocks = mocks
end

Instance Method Details

#allObject



12
13
14
# File 'lib/harper/mock_filter.rb', line 12

def all
  @mocks
end

#by_body(actual) ⇒ Object



20
21
22
# File 'lib/harper/mock_filter.rb', line 20

def by_body(actual)
  MockFilter.new(@mocks.select { |m| !m['request_body'] || actual =~ /#{m["request_body"]}/ })
end

#by_cookies(actual) ⇒ Object



24
25
26
# File 'lib/harper/mock_filter.rb', line 24

def by_cookies(actual)
  MockFilter.new(@mocks.select { |m| !m['request_cookies'] || contains_all(m['request_cookies'], actual)})
end

#by_method(actual) ⇒ Object



16
17
18
# File 'lib/harper/mock_filter.rb', line 16

def by_method(actual)
  MockFilter.new(@mocks.select { |m| m['method'] == actual })
end

#contains_all(sub, full) ⇒ Object



28
29
30
# File 'lib/harper/mock_filter.rb', line 28

def contains_all(sub, full)
  (sub.to_a - full.to_a).empty?
end

#valueObject



8
9
10
# File 'lib/harper/mock_filter.rb', line 8

def value
  @mocks.first
end