class Shokkenki::Provider::Model::Fixture
Public Class Methods
new(name_pattern, establisher)
click to toggle source
# File lib/shokkenki/provider/model/fixture.rb, line 6 def initialize name_pattern, establisher @name_pattern = name_pattern @establisher = establisher validate! end
Public Instance Methods
establish(required_fixture)
click to toggle source
# File lib/shokkenki/provider/model/fixture.rb, line 20 def establish required_fixture match = match(required_fixture) if match arguments = { :arguments => required_fixture.arguments, :match => match } @establisher.call arguments end end
matches?(required_fixture)
click to toggle source
# File lib/shokkenki/provider/model/fixture.rb, line 16 def matches? required_fixture !match(required_fixture).nil? end
name()
click to toggle source
# File lib/shokkenki/provider/model/fixture.rb, line 12 def name @name_pattern.inspect end
Private Instance Methods
match(required_fixture)
click to toggle source
# File lib/shokkenki/provider/model/fixture.rb, line 33 def match required_fixture @name_pattern.match required_fixture.name end
validate!()
click to toggle source
# File lib/shokkenki/provider/model/fixture.rb, line 37 def validate! message = "Fixture establisher for name pattern #{@name_pattern.inspect} must only accept zero or one argument." raise message unless @establisher.arity <= 1 end