lib/blood_contracts/suite.rb in blood_contracts-0.2.0 vs lib/blood_contracts/suite.rb in blood_contracts-0.2.1
- old
+ new
@@ -1,44 +1,41 @@
module BloodContracts
class Suite
extend Dry::Initializer
+ option :contract, ->(v) { Hashie::Mash.new(v) }
option :data_generator, optional: true
- option :contract, ->(v) { Hashie::Mash.new(v) }, default: -> { Hash.new }
option :input_writer, optional: true
option :output_writer, optional: true
- option :input_serializer, ->(v) { parse_serializer(v) }, optional: true
- option :output_serializer, ->(v) { parse_serializer(v) }, optional: true
+ option :input_serializer, optional: true
+ option :output_serializer, optional: true
+ option :meta_serializer, optional: true
option :storage_backend, optional: true
option :storage, default: -> { default_storage }
def data_generator=(generator)
raise ArgumentError unless generator.respond_to?(:call)
@data_generator = generator
end
- def contract=(contract)
- raise ArgumentError unless contract.respond_to?(:to_h)
- @contract = Hashie::Mash.new(contract.to_h)
- end
-
def input_writer=(writer)
storage.input_writer = writer
end
def output_writer=(writer)
storage.output_writer = writer
end
def default_storage
Storage.new(
- input_writer: input_writer,
+ input_writer: input_writer,
output_writer: output_writer,
- input_serializer: input_serializer,
+ input_serializer: input_serializer,
output_serializer: output_serializer,
+ meta_serializer: meta_serializer,
)
end
end
end