Specs driven social meta-programming
Prototype¶ ↑
Spectro
will fetch an algorithm to cover the given spec form its DB and will then define the #hello
method using it.
require 'spectro' class Sample include Spectro implements \ hello: [:name] end __END__
sample = Sample.new sample.hello 'Eddie' #=> 'Say Hello to Eddie'
Working with Mocks¶ ↑
Scenarios¶ ↑
-
Keep coding while waiting for an algorithm that covers your specs
-
Using Spectro just to mock stuff
require 'spectro' class EmailValidator include Spectro implements \ valid?: [:email] end __END__
require 'email_validator' #=> Spectro::Exception::UndefinedMethodDefinition
Spectro.configure do |config| config.enable_mocks! end require 'email_validator' email_validator = EmailValidator.new email_validator.valid?("valid@email.com") #=> true email_validator.valid?("invalidATemail.com") #=> false email_validator.valid?("unknown_param@email.com") #=> raise Spectro::Exception::UnkwnonMockResponse