Method: Fauxsql::DSL#map
- Defined in:
- lib/fauxsql/dsl.rb
#map(attribute_name, options = {}) ⇒ Object
DSL method to define a named Fauxsql map
calling with ‘mitigates’ is like writing:
def mitigates
get_fauxsql_map(:mitigates)
end
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/fauxsql/dsl.rb', line 71 def map(attribute_name, ={}) [attribute_name] = () class_eval " def \#{attribute_name}\n get_fauxsql_map(:\#{attribute_name})\n end\n", __FILE__, __LINE__ if [:nest] class_eval " def \#{attribute_name}=(attrs)\n deletes = []\n attrs.each do |index, vals|\n vals = Fauxsql::DSL.normalize_nested_vals!(vals)\n key = \#{attribute_name}.get_nested_record(vals)\n \#{attribute_name}[key] = vals[:value]\n deletes << key if vals[:_delete]\n end\n deletes.each{ |key| \#{attribute_name}.delete(key) }\n end\n", __FILE__, __LINE__ end end |