Module: TestAbstractions::Form::ClassMethods

Defined in:
lib/test_abstractions/form.rb

Instance Method Summary collapse

Instance Method Details

#actuator_macro(selector) ⇒ Object Also known as: actuator



86
87
88
# File 'lib/test_abstractions/form.rb', line 86

def actuator_macro(selector)
  ActuatorMacro.define self, selector
end

#build(evidence_class: nil, fields_class: nil, client: nil) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/test_abstractions/form.rb', line 32

def build(evidence_class: nil, fields_class: nil, client: nil)
  client ||= Client.instance
  instance = new
  instance.client = client
  instance.fields = fields(fields_class, client)
  instance.evidence = evidence(evidence_class, client)
  instance
end

#evidence(evidence_class, client) ⇒ Object



63
64
65
66
67
68
69
# File 'lib/test_abstractions/form.rb', line 63

def evidence(evidence_class, client)
  evidence_class ||= self.evidence_class

  evidence = nil
  evidence = evidence_class.build client if evidence_class
  evidence
end

#evidence_classObject



71
72
73
74
75
# File 'lib/test_abstractions/form.rb', line 71

def evidence_class
  cls = nil
  cls = Object.const_get evidence_class_name if evidence_class?
  cls
end

#evidence_class?Boolean



77
78
79
# File 'lib/test_abstractions/form.rb', line 77

def evidence_class?
  Object.const_defined? evidence_class_name
end

#evidence_class_nameObject



81
82
83
84
# File 'lib/test_abstractions/form.rb', line 81

def evidence_class_name
  class_name = self.name
  class_name.gsub! '::Form', '::Evidence'
end

#fields(fields_class, client) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/test_abstractions/form.rb', line 41

def fields(fields_class, client)
  fields_class ||= self.fields_class

  fields = nil
  fields = fields_class.build client if fields_class
  fields
end

#fields_classObject



49
50
51
52
53
# File 'lib/test_abstractions/form.rb', line 49

def fields_class
  cls = nil
  cls = Object.const_get fields_class_name if fields_class?
  cls
end

#fields_class?Boolean



55
56
57
# File 'lib/test_abstractions/form.rb', line 55

def fields_class?
  Object.const_defined? fields_class_name
end

#fields_class_nameObject



59
60
61
# File 'lib/test_abstractions/form.rb', line 59

def fields_class_name
  "#{self.name}::Fields"
end

#uri_macro(uri) ⇒ Object Also known as: uri



91
92
93
# File 'lib/test_abstractions/form.rb', line 91

def uri_macro(uri)
  URIMacro.define self, uri
end