Module: Crabfarm::Assertion::Fields::ClassMethods
- Defined in:
- lib/crabfarm/assertion/fields.rb
Instance Method Summary collapse
- #field_defaults ⇒ Object
- #fields ⇒ Object
- #has_array(_name) ⇒ Object
- #has_asserted_field(_name, _assertion, _options = {}) ⇒ Object
- #has_boolean(_name, _options = {}) ⇒ Object
- #has_field(_name, _options = {}) ⇒ Object
- #has_float(_name, _options = {}) ⇒ Object
- #has_integer(_name, _options = {}) ⇒ Object
- #has_string(_name, _options = {}) ⇒ Object
- #has_word(_name, _options = {}) ⇒ Object
Instance Method Details
#field_defaults ⇒ Object
59 60 61 |
# File 'lib/crabfarm/assertion/fields.rb', line 59 def field_defaults @field_defaults ||= {} end |
#fields ⇒ Object
55 56 57 |
# File 'lib/crabfarm/assertion/fields.rb', line 55 def fields @fields ||= [] end |
#has_array(_name) ⇒ Object
31 32 33 |
# File 'lib/crabfarm/assertion/fields.rb', line 31 def has_array(_name) has_field(_name, field_default: [], field_readonly: true) end |
#has_asserted_field(_name, _assertion, _options = {}) ⇒ Object
27 28 29 |
# File 'lib/crabfarm/assertion/fields.rb', line 27 def has_asserted_field(_name, _assertion, ={}) has_field(_name, .merge(field_assertion: _assertion)) end |
#has_boolean(_name, _options = {}) ⇒ Object
51 52 53 |
# File 'lib/crabfarm/assertion/fields.rb', line 51 def has_boolean(_name, ={}) has_asserted_field _name, :is_boolean, end |
#has_field(_name, _options = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/crabfarm/assertion/fields.rb', line 11 def has_field(_name, ={}) name = _name.to_sym fields << name field_defaults[name] = .delete :field_default assertion = .delete :field_assertion if assertion define_method("#{name}=") { |v| field_hash[name] = assert(v).send(assertion, ) } elsif not [:field_readonly] define_method("#{name}=") { |v| field_hash[name] = v } end define_method(name) { field_hash[name] } end |
#has_float(_name, _options = {}) ⇒ Object
39 40 41 |
# File 'lib/crabfarm/assertion/fields.rb', line 39 def has_float(_name, ={}) has_asserted_field _name, :is_float, end |
#has_integer(_name, _options = {}) ⇒ Object
35 36 37 |
# File 'lib/crabfarm/assertion/fields.rb', line 35 def has_integer(_name, ={}) has_asserted_field _name, :is_integer, end |
#has_string(_name, _options = {}) ⇒ Object
43 44 45 |
# File 'lib/crabfarm/assertion/fields.rb', line 43 def has_string(_name, ={}) has_asserted_field _name, :is_string, end |
#has_word(_name, _options = {}) ⇒ Object
47 48 49 |
# File 'lib/crabfarm/assertion/fields.rb', line 47 def has_word(_name, ={}) has_asserted_field _name, :is_word, end |