class Shokkenki::Provider::Model::Provider
Attributes
fixtures[R]
http_client[RW]
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/shokkenki/provider/model/provider.rb, line 12 def initialize name @name = name @fixtures = [] end
Public Instance Methods
add_fixture(name_pattern, fixture)
click to toggle source
# File lib/shokkenki/provider/model/provider.rb, line 17 def add_fixture name_pattern, fixture @fixtures << Fixture.new(name_pattern, fixture) end
establish(required_fixtures)
click to toggle source
# File lib/shokkenki/provider/model/provider.rb, line 21 def establish required_fixtures required_fixtures.each do |required_fixture| fixtures = @fixtures.select {|f| f.matches?(required_fixture) } assert_single_match! required_fixture, fixtures fixtures.first.establish required_fixture end end
Private Instance Methods
assert_single_match!(required_fixture, fixtures)
click to toggle source
# File lib/shokkenki/provider/model/provider.rb, line 31 def assert_single_match! required_fixture, fixtures if fixtures.length > 1 fixture_names = fixtures.map(&:name).join(', ') raise "Multiple fixtures found to match '#{required_fixture.name}' (#{fixture_names}): Do you need to make your fixture matchers stricter?" end if fixtures.length == 0 raise "No fixture found to match '#{required_fixture.name}': Did you define one in the provider configuration?" end end