Method: Exchange#method_missing
- Defined in:
- lib/soaspec/exchange.rb
#method_missing(method_name, *args, &block) ⇒ Object
Implement undefined setter with []= for FactoryBot to use without needing to define params to set
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/soaspec/exchange.rb', line 185 def method_missing(method_name, *args, &block) set_value = args.first if method_name[-1] == '=' # A setter method getter_name = method_name[0..-2] if set_value.class < Exchange # This would be prerequisite exchange define_singleton_method(getter_name) do set_value end self[getter_name] = set_value.id if set_value.respond_to?(:id) else self[getter_name] = set_value end else super end end |