Module: MR::ReadModel::Fields::ClassMethods
- Defined in:
- lib/mr/read_model/fields.rb
Instance Method Summary collapse
- #field(name, type) ⇒ Object
- #fields ⇒ Object
- #json_struct_list(name, struct_class) ⇒ Object
- #json_struct_lists ⇒ Object
- #json_struct_obj(name, struct_class) ⇒ Object
- #json_struct_objs ⇒ Object
Instance Method Details
#field(name, type) ⇒ Object
24 25 26 27 28 |
# File 'lib/mr/read_model/fields.rb', line 24 def field(name, type) fields.add(name, type, self) rescue InvalidFieldTypeError => exception raise ArgumentError, exception., caller end |
#fields ⇒ Object
20 21 22 |
# File 'lib/mr/read_model/fields.rb', line 20 def fields @fields ||= MR::ReadModel::FieldSet.new end |
#json_struct_list(name, struct_class) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mr/read_model/fields.rb', line 30 def json_struct_list(name, struct_class) field = JsonStructListField.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_lists << field).uniq! end |
#json_struct_lists ⇒ Object
47 48 49 |
# File 'lib/mr/read_model/fields.rb', line 47 def json_struct_lists @json_struct_lists ||= [] end |
#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 |
#json_struct_objs ⇒ Object
68 69 70 |
# File 'lib/mr/read_model/fields.rb', line 68 def json_struct_objs @json_struct_objs ||= [] end |