Class: WebMock::Resources::Stubber

Inherits:
Object
  • Object
show all
Includes:
API
Defined in:
lib/webmock-resources/stubber.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.instanceObject



5
6
7
# File 'lib/webmock-resources/stubber.rb', line 5

def self.instance
  @instance ||= new
end

Instance Method Details

#stub(url, value = nil, &block) ⇒ Object



9
10
11
12
13
# File 'lib/webmock-resources/stubber.rb', line 9

def stub url, value = nil, &block
  stub_request(:get, url).to_return(status: 200, headers: {'Content-Type' => 'application/json'}) do
    { body: JSON.dump(value || block.call) }
  end
end

#stub_index(resource_type) ⇒ Object



15
16
17
18
19
# File 'lib/webmock-resources/stubber.rb', line 15

def stub_index resource_type
  stub("webmock/api/#{resource_type}") do
    ResourceStorages.instance[resource_type].map(&:to_hash)
  end
end

#stub_resource(resource_type, resource_id) ⇒ Object



21
22
23
# File 'lib/webmock-resources/stubber.rb', line 21

def stub_resource resource_type, resource_id
  stub("webmock/api/#{resource_type}/#{resource_id}", ResourceStorages.instance[resource_type].find(resource_id).to_hash)
end