Module: Propr
- Defined in:
- lib/propr.rb,
lib/propr/dsl.rb,
lib/propr/rspec.rb,
lib/propr/random.rb,
lib/propr/runner.rb,
lib/propr/property.rb,
lib/propr/dsl/check.rb,
lib/propr/dsl/property.rb
Defined Under Namespace
Modules: Dsl
Classes: Failure, Falsifiable, GuardFailure, NoMoreTries, Property, RSpecAdapter, Random, Runner
Constant Summary
collapse
- RSpec =
RSpec(nil, nil)
Class Method Summary
collapse
Class Method Details
.RSpec(checkdsl, propdsl) ⇒ Object
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/propr.rb', line 106
def self.RSpec(checkdsl, propdsl)
Module.new.tap do |m|
m.send(:define_method, :property) { raise }
m.send(:define_singleton_method, :rand) { rand }
m.send(:define_singleton_method, :included) do |scope|
scope.send(:define_singleton_method, :property) do |name, options = {}, &body|
q = Dsl::Property.wrap(body)
p = Property.new(name, q)
RSpecAdapter.new(self, options, p)
end
end
end
end
|
.wrap(object) ⇒ Object
11
12
13
14
15
16
17
18
19
|
# File 'lib/propr.rb', line 11
def self.wrap(object)
if object.nil?
[]
elsif object.respond_to?(:to_ary)
object.to_ary || [object]
else
[object]
end
end
|