Method: MR::ReadModel::Fields::ClassMethods#json_struct_obj
- Defined in:
- lib/mr/read_model/fields.rb
#json_struct_obj(name, struct_class) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/mr/read_model/fields.rb', line 51 def json_struct_obj(name, struct_class) field = JsonStructObjField.new(self, name.to_s, struct_class) ivar_name = "@#{name}" define_method(name) do begin instance_variable_get(ivar_name) || instance_variable_set(ivar_name, field.reader(self.read_model_data)) rescue StandardError => exception exception.set_backtrace(caller) raise exception end end (self.json_struct_objs << field).uniq! end |