chemicalml 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +7 -1
  3. data/CLAUDE.md +48 -41
  4. data/TODO.align/36-molecular-convention-coverage.md +46 -0
  5. data/TODO.align/37-compchem-convention-coverage.md +55 -0
  6. data/TODO.align/38-dictionary-convention-coverage.md +34 -0
  7. data/TODO.align/39-unit-dictionary-convention-coverage.md +33 -0
  8. data/TODO.align/40-unit-type-dictionary-convention-coverage.md +28 -0
  9. data/TODO.align/41-expand-canonical-model-layer.md +43 -0
  10. data/TODO.align/42-translator-wire-new-models.md +31 -0
  11. data/TODO.align/43-dictionary-model-no-to-h.md +39 -0
  12. data/TODO.align/44-schema3-only-and-schema24-module.md +44 -0
  13. data/TODO.align/45-documentation-and-final-verification.md +23 -0
  14. data/TODO.align/46-lattice-vector-content.md +24 -0
  15. data/TODO.align/47-molecule-crystal-spectra-property-lists.md +23 -0
  16. data/TODO.align/48-model-list-and-module-lists.md +21 -0
  17. data/TODO.align/49-more-chemistry-models.md +34 -0
  18. data/TODO.align/50-validation-report.md +29 -0
  19. data/TODO.align/51-convention-auto-detection.md +30 -0
  20. data/TODO.align/52-schema24-legacy-elements.md +28 -0
  21. data/TODO.align/53-round-trip-integration-specs.md +30 -0
  22. data/TODO.align/54-document-versioned-parser-shim.md +38 -0
  23. data/TODO.align/55-molecule-missing-attributes.md +20 -0
  24. data/TODO.align/56-geometry-models.md +24 -0
  25. data/TODO.align/57-compchem-models.md +26 -0
  26. data/TODO.align/58-remaining-models.md +24 -0
  27. data/TODO.align/59-wire-new-models-translator.md +18 -0
  28. data/TODO.align/60-docs-and-final-verification.md +19 -0
  29. data/lib/chemicalml/cml/base/abundance.rb +6 -0
  30. data/lib/chemicalml/cml/base/action.rb +20 -0
  31. data/lib/chemicalml/cml/base/action_list.rb +18 -0
  32. data/lib/chemicalml/cml/base/alternative.rb +28 -0
  33. data/lib/chemicalml/cml/base/amount.rb +2 -0
  34. data/lib/chemicalml/cml/base/angle.rb +12 -0
  35. data/lib/chemicalml/cml/base/annotation.rb +30 -0
  36. data/lib/chemicalml/cml/base/appinfo.rb +32 -0
  37. data/lib/chemicalml/cml/base/arg.rb +46 -0
  38. data/lib/chemicalml/cml/base/array.rb +22 -0
  39. data/lib/chemicalml/cml/base/array_list.rb +2 -0
  40. data/lib/chemicalml/cml/base/atom.rb +18 -0
  41. data/lib/chemicalml/cml/base/atom_array.rb +38 -0
  42. data/lib/chemicalml/cml/base/atom_parity.rb +8 -0
  43. data/lib/chemicalml/cml/base/atom_set.rb +2 -0
  44. data/lib/chemicalml/cml/base/atom_type.rb +4 -0
  45. data/lib/chemicalml/cml/base/atom_type_list.rb +2 -0
  46. data/lib/chemicalml/cml/base/atomic_basis_function.rb +4 -0
  47. data/lib/chemicalml/cml/base/band.rb +2 -0
  48. data/lib/chemicalml/cml/base/basis_set.rb +4 -0
  49. data/lib/chemicalml/cml/base/bond.rb +6 -0
  50. data/lib/chemicalml/cml/base/bond_array.rb +16 -0
  51. data/lib/chemicalml/cml/base/bond_set.rb +2 -0
  52. data/lib/chemicalml/cml/base/bond_stereo.rb +10 -0
  53. data/lib/chemicalml/cml/base/bond_type.rb +2 -0
  54. data/lib/chemicalml/cml/base/bond_type_list.rb +2 -0
  55. data/lib/chemicalml/cml/base/cell_parameter.rb +4 -0
  56. data/lib/chemicalml/cml/base/complex_object.rb +30 -0
  57. data/lib/chemicalml/cml/base/condition_list.rb +4 -0
  58. data/lib/chemicalml/cml/base/crystal.rb +2 -0
  59. data/lib/chemicalml/cml/base/description.rb +2 -0
  60. data/lib/chemicalml/cml/base/dictionary.rb +6 -0
  61. data/lib/chemicalml/cml/base/dimension.rb +10 -0
  62. data/lib/chemicalml/cml/base/eigen.rb +2 -0
  63. data/lib/chemicalml/cml/base/electron.rb +6 -0
  64. data/lib/chemicalml/cml/base/enumeration.rb +32 -0
  65. data/lib/chemicalml/cml/base/expression.rb +32 -0
  66. data/lib/chemicalml/cml/base/float.rb +40 -0
  67. data/lib/chemicalml/cml/base/float_array.rb +42 -0
  68. data/lib/chemicalml/cml/base/fragment.rb +6 -0
  69. data/lib/chemicalml/cml/base/fragment_list.rb +4 -0
  70. data/lib/chemicalml/cml/base/identifier.rb +8 -0
  71. data/lib/chemicalml/cml/base/integer.rb +40 -0
  72. data/lib/chemicalml/cml/base/integer_array.rb +42 -0
  73. data/lib/chemicalml/cml/base/isotope.rb +2 -0
  74. data/lib/chemicalml/cml/base/isotope_list.rb +2 -0
  75. data/lib/chemicalml/cml/base/join.rb +6 -0
  76. data/lib/chemicalml/cml/base/kpoint.rb +2 -0
  77. data/lib/chemicalml/cml/base/label.rb +2 -0
  78. data/lib/chemicalml/cml/base/lattice.rb +2 -0
  79. data/lib/chemicalml/cml/base/lattice_vector.rb +2 -0
  80. data/lib/chemicalml/cml/base/length.rb +10 -0
  81. data/lib/chemicalml/cml/base/line3.rb +6 -0
  82. data/lib/chemicalml/cml/base/link.rb +20 -0
  83. data/lib/chemicalml/cml/base/list.rb +2 -0
  84. data/lib/chemicalml/cml/base/map.rb +12 -0
  85. data/lib/chemicalml/cml/base/matrix.rb +12 -0
  86. data/lib/chemicalml/cml/base/metadata.rb +4 -0
  87. data/lib/chemicalml/cml/base/metadata_list.rb +6 -0
  88. data/lib/chemicalml/cml/base/molecule.rb +10 -0
  89. data/lib/chemicalml/cml/base/molecule_list.rb +2 -0
  90. data/lib/chemicalml/cml/base/name.rb +2 -0
  91. data/lib/chemicalml/cml/base/object.rb +4 -0
  92. data/lib/chemicalml/cml/base/observation.rb +4 -0
  93. data/lib/chemicalml/cml/base/operator.rb +32 -0
  94. data/lib/chemicalml/cml/base/parameter.rb +10 -0
  95. data/lib/chemicalml/cml/base/parameter_list.rb +6 -0
  96. data/lib/chemicalml/cml/base/particle.rb +6 -0
  97. data/lib/chemicalml/cml/base/peak.rb +30 -0
  98. data/lib/chemicalml/cml/base/peak_group.rb +38 -0
  99. data/lib/chemicalml/cml/base/peak_list.rb +2 -0
  100. data/lib/chemicalml/cml/base/peak_structure.rb +14 -0
  101. data/lib/chemicalml/cml/base/plane3.rb +2 -0
  102. data/lib/chemicalml/cml/base/point3.rb +2 -0
  103. data/lib/chemicalml/cml/base/potential_form.rb +2 -0
  104. data/lib/chemicalml/cml/base/product.rb +16 -0
  105. data/lib/chemicalml/cml/base/product_list.rb +14 -0
  106. data/lib/chemicalml/cml/base/property.rb +6 -0
  107. data/lib/chemicalml/cml/base/property_list.rb +6 -0
  108. data/lib/chemicalml/cml/base/reactant.rb +16 -0
  109. data/lib/chemicalml/cml/base/reactant_list.rb +14 -0
  110. data/lib/chemicalml/cml/base/reaction.rb +16 -0
  111. data/lib/chemicalml/cml/base/reaction_list.rb +12 -0
  112. data/lib/chemicalml/cml/base/reaction_scheme.rb +10 -0
  113. data/lib/chemicalml/cml/base/reaction_step.rb +6 -0
  114. data/lib/chemicalml/cml/base/reaction_step_list.rb +8 -0
  115. data/lib/chemicalml/cml/base/region.rb +8 -0
  116. data/lib/chemicalml/cml/base/related_entry.rb +26 -0
  117. data/lib/chemicalml/cml/base/sample.rb +4 -0
  118. data/lib/chemicalml/cml/base/scalar.rb +18 -0
  119. data/lib/chemicalml/cml/base/spectator.rb +2 -0
  120. data/lib/chemicalml/cml/base/spectrum.rb +12 -0
  121. data/lib/chemicalml/cml/base/spectrum_data.rb +2 -0
  122. data/lib/chemicalml/cml/base/spectrum_list.rb +4 -0
  123. data/lib/chemicalml/cml/base/sphere3.rb +2 -0
  124. data/lib/chemicalml/cml/base/string.rb +32 -0
  125. data/lib/chemicalml/cml/base/string_array.rb +40 -0
  126. data/lib/chemicalml/cml/base/substance.rb +12 -0
  127. data/lib/chemicalml/cml/base/substance_list.rb +6 -0
  128. data/lib/chemicalml/cml/base/symmetry.rb +4 -0
  129. data/lib/chemicalml/cml/base/system.rb +4 -0
  130. data/lib/chemicalml/cml/base/table.rb +10 -0
  131. data/lib/chemicalml/cml/base/table_content.rb +2 -0
  132. data/lib/chemicalml/cml/base/table_header_cell.rb +10 -0
  133. data/lib/chemicalml/cml/base/tcell.rb +34 -0
  134. data/lib/chemicalml/cml/base/torsion.rb +12 -0
  135. data/lib/chemicalml/cml/base/trow.rb +32 -0
  136. data/lib/chemicalml/cml/base/unit.rb +12 -0
  137. data/lib/chemicalml/cml/base/unit_list.rb +12 -0
  138. data/lib/chemicalml/cml/base/unit_type.rb +10 -0
  139. data/lib/chemicalml/cml/base/unit_type_list.rb +10 -0
  140. data/lib/chemicalml/cml/base/vector3.rb +2 -0
  141. data/lib/chemicalml/cml/base/xaxis.rb +6 -0
  142. data/lib/chemicalml/cml/base/yaxis.rb +6 -0
  143. data/lib/chemicalml/cml/base.rb +17 -0
  144. data/lib/chemicalml/cml/elements.rb +39 -4
  145. data/lib/chemicalml/cml/role/alternative.rb +10 -0
  146. data/lib/chemicalml/cml/role/annotation.rb +10 -0
  147. data/lib/chemicalml/cml/role/appinfo.rb +10 -0
  148. data/lib/chemicalml/cml/role/arg.rb +10 -0
  149. data/lib/chemicalml/cml/role/cml_module.rb +2 -3
  150. data/lib/chemicalml/cml/role/complex_object.rb +10 -0
  151. data/lib/chemicalml/cml/role/enumeration.rb +10 -0
  152. data/lib/chemicalml/cml/role/expression.rb +10 -0
  153. data/lib/chemicalml/cml/role/float.rb +10 -0
  154. data/lib/chemicalml/cml/role/float_array.rb +10 -0
  155. data/lib/chemicalml/cml/role/integer.rb +10 -0
  156. data/lib/chemicalml/cml/role/integer_array.rb +10 -0
  157. data/lib/chemicalml/cml/role/operator.rb +10 -0
  158. data/lib/chemicalml/cml/role/related_entry.rb +10 -0
  159. data/lib/chemicalml/cml/role/string.rb +10 -0
  160. data/lib/chemicalml/cml/role/string_array.rb +10 -0
  161. data/lib/chemicalml/cml/role/tcell.rb +10 -0
  162. data/lib/chemicalml/cml/role/trow.rb +10 -0
  163. data/lib/chemicalml/cml/role.rb +17 -0
  164. data/lib/chemicalml/cml/schema24/alternative.rb +14 -0
  165. data/lib/chemicalml/cml/schema24/annotation.rb +15 -0
  166. data/lib/chemicalml/cml/schema24/appinfo.rb +15 -0
  167. data/lib/chemicalml/cml/schema24/arg.rb +14 -0
  168. data/lib/chemicalml/cml/schema24/cml_module.rb +18 -0
  169. data/lib/chemicalml/cml/schema24/complex_object.rb +14 -0
  170. data/lib/chemicalml/cml/schema24/configuration.rb +5 -2
  171. data/lib/chemicalml/cml/schema24/enumeration.rb +16 -0
  172. data/lib/chemicalml/cml/schema24/expression.rb +14 -0
  173. data/lib/chemicalml/cml/schema24/float.rb +14 -0
  174. data/lib/chemicalml/cml/schema24/float_array.rb +14 -0
  175. data/lib/chemicalml/cml/schema24/integer.rb +14 -0
  176. data/lib/chemicalml/cml/schema24/integer_array.rb +14 -0
  177. data/lib/chemicalml/cml/schema24/operator.rb +14 -0
  178. data/lib/chemicalml/cml/schema24/related_entry.rb +14 -0
  179. data/lib/chemicalml/cml/schema24/string.rb +14 -0
  180. data/lib/chemicalml/cml/schema24/string_array.rb +14 -0
  181. data/lib/chemicalml/cml/schema24/tcell.rb +14 -0
  182. data/lib/chemicalml/cml/schema24/trow.rb +14 -0
  183. data/lib/chemicalml/cml/schema24.rb +33 -5
  184. data/lib/chemicalml/cml.rb +1 -3
  185. data/lib/chemicalml/context_configuration.rb +8 -2
  186. data/lib/chemicalml/convention/base.rb +17 -3
  187. data/lib/chemicalml/convention/compchem/constraints/array_rules.rb +44 -0
  188. data/lib/chemicalml/convention/compchem/constraints/calculation_requires_finalization.rb +28 -0
  189. data/lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb +4 -4
  190. data/lib/chemicalml/convention/compchem/constraints/environment_at_most_one_property_list.rb +26 -0
  191. data/lib/chemicalml/convention/compchem/constraints/environment_must_not_contain_parameter.rb +28 -0
  192. data/lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_molecule.rb +26 -0
  193. data/lib/chemicalml/convention/compchem/constraints/finalization_at_most_one_property_list.rb +26 -0
  194. data/lib/chemicalml/convention/compchem/constraints/finalization_must_not_contain_parameter.rb +27 -0
  195. data/lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_molecule.rb +26 -0
  196. data/lib/chemicalml/convention/compchem/constraints/initialization_at_most_one_parameter_list.rb +26 -0
  197. data/lib/chemicalml/convention/compchem/constraints/initialization_must_not_contain_property.rb +28 -0
  198. data/lib/chemicalml/convention/compchem/constraints/job_list_module_must_have_id.rb +24 -0
  199. data/lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_environment.rb +25 -0
  200. data/lib/chemicalml/convention/compchem/constraints/job_module_at_most_one_finalization.rb +25 -0
  201. data/lib/chemicalml/convention/compchem/constraints/job_module_must_have_id.rb +24 -0
  202. data/lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb +6 -9
  203. data/lib/chemicalml/convention/compchem/constraints/matrix_rules.rb +48 -0
  204. data/lib/chemicalml/convention/compchem/constraints/module_predicates.rb +50 -0
  205. data/lib/chemicalml/convention/compchem/constraints/scalar_units.rb +42 -0
  206. data/lib/chemicalml/convention/compchem/constraints.rb +36 -2
  207. data/lib/chemicalml/convention/compchem.rb +16 -0
  208. data/lib/chemicalml/convention/constraint.rb +31 -18
  209. data/lib/chemicalml/convention/coordinator.rb +89 -0
  210. data/lib/chemicalml/convention/detection.rb +33 -0
  211. data/lib/chemicalml/convention/dictionary/constraints/dictionary_must_have_namespace.rb +28 -0
  212. data/lib/chemicalml/convention/dictionary/constraints/dictionary_namespace_should_end_with_slash_or_hash.rb +32 -0
  213. data/lib/chemicalml/convention/dictionary/constraints/entry_id_must_match_pattern.rb +33 -0
  214. data/lib/chemicalml/convention/dictionary/constraints/entry_ids_unique_within_dictionary.rb +3 -3
  215. data/lib/chemicalml/convention/dictionary/constraints/entry_must_contain_definition.rb +28 -0
  216. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_id_and_term.rb +5 -5
  217. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_unit_type.rb +30 -0
  218. data/lib/chemicalml/convention/dictionary/constraints/entry_units_co_constraints.rb +44 -0
  219. data/lib/chemicalml/convention/dictionary/constraints.rb +12 -0
  220. data/lib/chemicalml/convention/dictionary.rb +6 -0
  221. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_be_child_of_molecule_or_formula.rb +40 -0
  222. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_contain_atoms.rb +3 -3
  223. data/lib/chemicalml/convention/molecular/constraints/atom_coordinates_must_be_paired.rb +5 -5
  224. data/lib/chemicalml/convention/molecular/constraints/atom_id_must_match_pattern.rb +4 -4
  225. data/lib/chemicalml/convention/molecular/constraints/atom_ids_unique_within_molecule.rb +2 -2
  226. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_element_type.rb +3 -3
  227. data/lib/chemicalml/convention/molecular/constraints/atom_must_have_id.rb +3 -3
  228. data/lib/chemicalml/convention/molecular/constraints/bond_array_must_be_child_of_molecule.rb +36 -0
  229. data/lib/chemicalml/convention/molecular/constraints/bond_ids_unique_within_molecule.rb +43 -0
  230. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_atom_refs2.rb +3 -3
  231. data/lib/chemicalml/convention/molecular/constraints/bond_must_have_order.rb +3 -3
  232. data/lib/chemicalml/convention/molecular/constraints/bond_must_reference_atoms_in_same_molecule.rb +3 -3
  233. data/lib/chemicalml/convention/molecular/constraints/bond_order_other_must_have_dict_ref.rb +33 -0
  234. data/lib/chemicalml/convention/molecular/constraints/bond_order_should_not_be_numeric.rb +2 -2
  235. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_cis_trans_must_have_atom_refs4.rb +45 -0
  236. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_other_must_have_dict_ref.rb +32 -0
  237. data/lib/chemicalml/convention/molecular/constraints/bond_stereo_wedge_hash_must_have_atom_refs2.rb +45 -0
  238. data/lib/chemicalml/convention/molecular/constraints/molecule_atom_array_mutually_exclusive_with_children.rb +32 -0
  239. data/lib/chemicalml/convention/molecular/constraints/molecule_bond_array_mutually_exclusive_with_children.rb +31 -0
  240. data/lib/chemicalml/convention/molecular/constraints/molecule_count_must_not_appear_on_top_level.rb +34 -0
  241. data/lib/chemicalml/convention/molecular/constraints/molecule_must_have_id.rb +3 -3
  242. data/lib/chemicalml/convention/molecular/constraints/property_must_have_dict_ref.rb +3 -3
  243. data/lib/chemicalml/convention/molecular/constraints/scalar_must_have_data_type.rb +3 -3
  244. data/lib/chemicalml/convention/molecular/constraints.rb +20 -0
  245. data/lib/chemicalml/convention/molecular.rb +10 -0
  246. data/lib/chemicalml/convention/registry.rb +17 -0
  247. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_contain_at_least_one_unit.rb +28 -0
  248. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_list_must_have_namespace.rb +36 -0
  249. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_contain_definition.rb +27 -0
  250. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_id.rb +27 -0
  251. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_symbol_and_unit_type.rb +3 -3
  252. data/lib/chemicalml/convention/unit_dictionary/constraints.rb +9 -1
  253. data/lib/chemicalml/convention/unit_dictionary.rb +4 -0
  254. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_id_must_match_pattern.rb +31 -0
  255. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_contain_at_least_one_unit_type.rb +27 -0
  256. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_list_must_have_namespace.rb +35 -0
  257. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_contain_definition.rb +27 -0
  258. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_have_id_and_name.rb +5 -5
  259. data/lib/chemicalml/convention/unit_type_dictionary/constraints.rb +9 -1
  260. data/lib/chemicalml/convention/unit_type_dictionary.rb +4 -0
  261. data/lib/chemicalml/convention/validation_report.rb +63 -0
  262. data/lib/chemicalml/convention.rb +11 -0
  263. data/lib/chemicalml/dictionary/entry.rb +6 -6
  264. data/lib/chemicalml/dictionary/enum.rb +1 -1
  265. data/lib/chemicalml/dictionary/link.rb +3 -3
  266. data/lib/chemicalml/dictionary/loader.rb +19 -19
  267. data/lib/chemicalml/dictionary/model.rb +5 -5
  268. data/lib/chemicalml/dictionary/registry.rb +9 -9
  269. data/lib/chemicalml/version.rb +1 -1
  270. data/lib/chemicalml/versioned_parser.rb +18 -0
  271. data/lib/chemicalml.rb +1 -2
  272. metadata +123 -34
  273. data/lib/chemicalml/cml/child_mappings.rb +0 -168
  274. data/lib/chemicalml/cml/translator/value_translations.rb +0 -270
  275. data/lib/chemicalml/cml/translator.rb +0 -484
  276. data/lib/chemicalml/model/atom.rb +0 -64
  277. data/lib/chemicalml/model/atom_parity.rb +0 -21
  278. data/lib/chemicalml/model/bond.rb +0 -39
  279. data/lib/chemicalml/model/bond_stereo.rb +0 -29
  280. data/lib/chemicalml/model/cml_array.rb +0 -27
  281. data/lib/chemicalml/model/cml_module.rb +0 -45
  282. data/lib/chemicalml/model/document.rb +0 -29
  283. data/lib/chemicalml/model/formula.rb +0 -34
  284. data/lib/chemicalml/model/identifier.rb +0 -21
  285. data/lib/chemicalml/model/label.rb +0 -21
  286. data/lib/chemicalml/model/matrix.rb +0 -29
  287. data/lib/chemicalml/model/metadata.rb +0 -23
  288. data/lib/chemicalml/model/metadata_list.rb +0 -25
  289. data/lib/chemicalml/model/molecule.rb +0 -45
  290. data/lib/chemicalml/model/name.rb +0 -21
  291. data/lib/chemicalml/model/node.rb +0 -45
  292. data/lib/chemicalml/model/parameter.rb +0 -27
  293. data/lib/chemicalml/model/parameter_list.rb +0 -25
  294. data/lib/chemicalml/model/product.rb +0 -21
  295. data/lib/chemicalml/model/product_list.rb +0 -21
  296. data/lib/chemicalml/model/property.rb +0 -28
  297. data/lib/chemicalml/model/property_list.rb +0 -25
  298. data/lib/chemicalml/model/reactant.rb +0 -21
  299. data/lib/chemicalml/model/reactant_list.rb +0 -21
  300. data/lib/chemicalml/model/reaction.rb +0 -41
  301. data/lib/chemicalml/model/reaction_list.rb +0 -23
  302. data/lib/chemicalml/model/scalar.rb +0 -25
  303. data/lib/chemicalml/model/substance.rb +0 -25
  304. data/lib/chemicalml/model.rb +0 -40
@@ -14,6 +14,25 @@ module Chemicalml
14
14
 
15
15
  attribute :peaks, :peak, collection: true
16
16
 
17
+ attribute :ref, :string
18
+ attribute :peak_height, :string
19
+ attribute :peak_multiplicity, :string
20
+ attribute :peak_shape, :string
21
+ attribute :integral, :string
22
+ attribute :peak_units, :string
23
+ attribute :x_min, :string
24
+ attribute :x_max, :string
25
+ attribute :x_value, :string
26
+ attribute :x_width, :string
27
+ attribute :x_units, :string
28
+ attribute :y_min, :string
29
+ attribute :y_max, :string
30
+ attribute :y_value, :string
31
+ attribute :y_width, :string
32
+ attribute :y_units, :string
33
+ attribute :atom_refs, :string
34
+ attribute :bond_refs, :string
35
+ attribute :molecule_refs, :string
17
36
  xml do
18
37
  namespace Chemicalml::Cml::Namespace
19
38
  map_element "peak", to: :peaks
@@ -22,6 +41,25 @@ module Chemicalml
22
41
  map_attribute "title", to: :title
23
42
  map_attribute "dictRef", to: :dict_ref
24
43
  map_attribute "convention", to: :convention
44
+ map_attribute "ref", to: :ref
45
+ map_attribute "peakHeight", to: :peak_height
46
+ map_attribute "peakMultiplicity", to: :peak_multiplicity
47
+ map_attribute "peakShape", to: :peak_shape
48
+ map_attribute "integral", to: :integral
49
+ map_attribute "peakUnits", to: :peak_units
50
+ map_attribute "xMin", to: :x_min
51
+ map_attribute "xMax", to: :x_max
52
+ map_attribute "xValue", to: :x_value
53
+ map_attribute "xWidth", to: :x_width
54
+ map_attribute "xUnits", to: :x_units
55
+ map_attribute "yMin", to: :y_min
56
+ map_attribute "yMax", to: :y_max
57
+ map_attribute "yValue", to: :y_value
58
+ map_attribute "yWidth", to: :y_width
59
+ map_attribute "yUnits", to: :y_units
60
+ map_attribute "atomRefs", to: :atom_refs
61
+ map_attribute "bondRefs", to: :bond_refs
62
+ map_attribute "moleculeRefs", to: :molecule_refs
25
63
  end
26
64
  end
27
65
  end
@@ -15,6 +15,7 @@ module Chemicalml
15
15
  attribute :peaks, :peak, collection: true
16
16
  attribute :peak_groups, :peakGroup, collection: true
17
17
 
18
+ attribute :ref, :string
18
19
  xml do
19
20
  namespace Chemicalml::Cml::Namespace
20
21
  map_element "peak", to: :peaks
@@ -24,6 +25,7 @@ module Chemicalml
24
25
  map_attribute "title", to: :title
25
26
  map_attribute "dictRef", to: :dict_ref
26
27
  map_attribute "convention", to: :convention
28
+ map_attribute "ref", to: :ref
27
29
  end
28
30
  end
29
31
  end
@@ -13,6 +13,13 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :peakShape, :string
15
15
 
16
+ attribute :ref, :string
17
+ attribute :peak_multiplicity, :string
18
+ attribute :peak_structure_type, :string
19
+ attribute :value, :string
20
+ attribute :units, :string
21
+ attribute :atom_refs, :string
22
+ attribute :bond_refs, :string
16
23
  xml do
17
24
  namespace Chemicalml::Cml::Namespace
18
25
  root "peakStructure"
@@ -21,6 +28,13 @@ module Chemicalml
21
28
  map_attribute "dictRef", to: :dict_ref
22
29
  map_attribute "convention", to: :convention
23
30
  map_attribute "peakShape", to: :peakShape
31
+ map_attribute "ref", to: :ref
32
+ map_attribute "peakMultiplicity", to: :peak_multiplicity
33
+ map_attribute "peakStructureType", to: :peak_structure_type
34
+ map_attribute "value", to: :value
35
+ map_attribute "units", to: :units
36
+ map_attribute "atomRefs", to: :atom_refs
37
+ map_attribute "bondRefs", to: :bond_refs
24
38
  end
25
39
  end
26
40
  end
@@ -13,6 +13,7 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :content, :string
15
15
 
16
+ attribute :units, :string
16
17
  xml do
17
18
  namespace Chemicalml::Cml::Namespace
18
19
  root "plane3"
@@ -21,6 +22,7 @@ module Chemicalml
21
22
  map_attribute "dictRef", to: :dict_ref
22
23
  map_attribute "convention", to: :convention
23
24
  map_content to: :content
25
+ map_attribute "units", to: :units
24
26
  end
25
27
  end
26
28
  end
@@ -13,6 +13,7 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :content, :string
15
15
 
16
+ attribute :units, :string
16
17
  xml do
17
18
  namespace Chemicalml::Cml::Namespace
18
19
  root "point3"
@@ -21,6 +22,7 @@ module Chemicalml
21
22
  map_attribute "dictRef", to: :dict_ref
22
23
  map_attribute "convention", to: :convention
23
24
  map_content to: :content
25
+ map_attribute "units", to: :units
24
26
  end
25
27
  end
26
28
  end
@@ -13,6 +13,7 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :type, :string
15
15
 
16
+ attribute :name, :string
16
17
  xml do
17
18
  namespace Chemicalml::Cml::Namespace
18
19
  root "potentialForm"
@@ -21,6 +22,7 @@ module Chemicalml
21
22
  map_attribute "dictRef", to: :dict_ref
22
23
  map_attribute "convention", to: :convention
23
24
  map_attribute "type", to: :type
25
+ map_attribute "name", to: :name
24
26
  end
25
27
  end
26
28
  end
@@ -9,10 +9,26 @@ module Chemicalml
9
9
  include Chemicalml::Cml::Role::Product
10
10
  attribute :substance, :substance
11
11
 
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :title, :string
15
+ attribute :id, :string
16
+ attribute :ref, :string
17
+ attribute :role, :string
18
+ attribute :count, :string
19
+ attribute :state, :string
12
20
  xml do
13
21
  namespace Chemicalml::Cml::Namespace
14
22
  root "product"
15
23
  map_element "substance", to: :substance
24
+ map_attribute "dictRef", to: :dict_ref
25
+ map_attribute "convention", to: :convention
26
+ map_attribute "title", to: :title
27
+ map_attribute "id", to: :id
28
+ map_attribute "ref", to: :ref
29
+ map_attribute "role", to: :role
30
+ map_attribute "count", to: :count
31
+ map_attribute "state", to: :state
16
32
  end
17
33
  end
18
34
  end
@@ -9,10 +9,24 @@ module Chemicalml
9
9
  include Chemicalml::Cml::Role::ProductList
10
10
  attribute :products, :product, collection: true
11
11
 
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :title, :string
15
+ attribute :id, :string
16
+ attribute :ref, :string
17
+ attribute :role, :string
18
+ attribute :count, :string
12
19
  xml do
13
20
  namespace Chemicalml::Cml::Namespace
14
21
  root "productList"
15
22
  map_element "product", to: :products
23
+ map_attribute "dictRef", to: :dict_ref
24
+ map_attribute "convention", to: :convention
25
+ map_attribute "title", to: :title
26
+ map_attribute "id", to: :id
27
+ map_attribute "ref", to: :ref
28
+ map_attribute "role", to: :role
29
+ map_attribute "count", to: :count
16
30
  end
17
31
  end
18
32
  end
@@ -15,6 +15,9 @@ module Chemicalml
15
15
  attribute :array, :array
16
16
  attribute :matrix, :matrix
17
17
 
18
+ attribute :ref, :string
19
+ attribute :role, :string
20
+ attribute :state, :string
18
21
  xml do
19
22
  namespace Chemicalml::Cml::Namespace
20
23
  root "property"
@@ -25,6 +28,9 @@ module Chemicalml
25
28
  map_element "scalar", to: :scalar
26
29
  map_element "array", to: :array
27
30
  map_element "matrix", to: :matrix
31
+ map_attribute "ref", to: :ref
32
+ map_attribute "role", to: :role
33
+ map_attribute "state", to: :state
28
34
  end
29
35
  end
30
36
  end
@@ -12,6 +12,9 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :properties, :property, collection: true
14
14
 
15
+ attribute :convention, :string
16
+ attribute :ref, :string
17
+ attribute :role, :string
15
18
  xml do
16
19
  namespace Chemicalml::Cml::Namespace
17
20
  root "propertyList"
@@ -19,6 +22,9 @@ module Chemicalml
19
22
  map_attribute "title", to: :title
20
23
  map_attribute "dictRef", to: :dict_ref
21
24
  map_element "property", to: :properties
25
+ map_attribute "convention", to: :convention
26
+ map_attribute "ref", to: :ref
27
+ map_attribute "role", to: :role
22
28
  end
23
29
  end
24
30
  end
@@ -9,10 +9,26 @@ module Chemicalml
9
9
  include Chemicalml::Cml::Role::Reactant
10
10
  attribute :substance, :substance
11
11
 
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :title, :string
15
+ attribute :id, :string
16
+ attribute :ref, :string
17
+ attribute :role, :string
18
+ attribute :count, :string
19
+ attribute :state, :string
12
20
  xml do
13
21
  namespace Chemicalml::Cml::Namespace
14
22
  root "reactant"
15
23
  map_element "substance", to: :substance
24
+ map_attribute "dictRef", to: :dict_ref
25
+ map_attribute "convention", to: :convention
26
+ map_attribute "title", to: :title
27
+ map_attribute "id", to: :id
28
+ map_attribute "ref", to: :ref
29
+ map_attribute "role", to: :role
30
+ map_attribute "count", to: :count
31
+ map_attribute "state", to: :state
16
32
  end
17
33
  end
18
34
  end
@@ -9,10 +9,24 @@ module Chemicalml
9
9
  include Chemicalml::Cml::Role::ReactantList
10
10
  attribute :reactants, :reactant, collection: true
11
11
 
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :title, :string
15
+ attribute :id, :string
16
+ attribute :ref, :string
17
+ attribute :role, :string
18
+ attribute :count, :string
12
19
  xml do
13
20
  namespace Chemicalml::Cml::Namespace
14
21
  root "reactantList"
15
22
  map_element "reactant", to: :reactants
23
+ map_attribute "dictRef", to: :dict_ref
24
+ map_attribute "convention", to: :convention
25
+ map_attribute "title", to: :title
26
+ map_attribute "id", to: :id
27
+ map_attribute "ref", to: :ref
28
+ map_attribute "role", to: :role
29
+ map_attribute "count", to: :count
16
30
  end
17
31
  end
18
32
  end
@@ -20,6 +20,14 @@ module Chemicalml
20
20
  attribute :condition_list, :conditionList
21
21
  attribute :metadata_lists, :metadataList, collection: true
22
22
 
23
+ attribute :reaction_format, :string
24
+ attribute :ref, :string
25
+ attribute :reaction_role, :string
26
+ attribute :reaction_type, :string
27
+ attribute :atom_map, :string
28
+ attribute :electron_map, :string
29
+ attribute :bond_map, :string
30
+ attribute :yield, :string
23
31
  xml do
24
32
  namespace Chemicalml::Cml::Namespace
25
33
  root "reaction"
@@ -31,6 +39,14 @@ module Chemicalml
31
39
  map_attribute "convention", to: :convention
32
40
  map_element "reactantList", to: :reactant_list
33
41
  map_element "productList", to: :product_list
42
+ map_attribute "reactionFormat", to: :reaction_format
43
+ map_attribute "ref", to: :ref
44
+ map_attribute "reactionRole", to: :reaction_role
45
+ map_attribute "reactionType", to: :reaction_type
46
+ map_attribute "atomMap", to: :atom_map
47
+ map_attribute "electronMap", to: :electron_map
48
+ map_attribute "bondMap", to: :bond_map
49
+ map_attribute "yield", to: :yield
34
50
  end
35
51
  end
36
52
  end
@@ -9,10 +9,22 @@ module Chemicalml
9
9
  include Chemicalml::Cml::Role::ReactionList
10
10
  attribute :reactions, :reaction, collection: true
11
11
 
12
+ attribute :dict_ref, :string
13
+ attribute :convention, :string
14
+ attribute :title, :string
15
+ attribute :id, :string
16
+ attribute :name, :string
17
+ attribute :ref, :string
12
18
  xml do
13
19
  namespace Chemicalml::Cml::Namespace
14
20
  root "reactionList"
15
21
  map_element "reaction", to: :reactions
22
+ map_attribute "dictRef", to: :dict_ref
23
+ map_attribute "convention", to: :convention
24
+ map_attribute "title", to: :title
25
+ map_attribute "id", to: :id
26
+ map_attribute "name", to: :name
27
+ map_attribute "ref", to: :ref
16
28
  end
17
29
  end
18
30
  end
@@ -15,6 +15,11 @@ module Chemicalml
15
15
  attribute :reaction_step_lists, :reactionStepList, collection: true
16
16
  attribute :reactions, :reaction, collection: true
17
17
 
18
+ attribute :ref, :string
19
+ attribute :reaction_role, :string
20
+ attribute :reaction_type, :string
21
+ attribute :state, :string
22
+ attribute :reaction_format, :string
18
23
  xml do
19
24
  namespace Chemicalml::Cml::Namespace
20
25
  map_element "reactionStepList", to: :reaction_step_lists
@@ -24,6 +29,11 @@ module Chemicalml
24
29
  map_attribute "title", to: :title
25
30
  map_attribute "dictRef", to: :dict_ref
26
31
  map_attribute "convention", to: :convention
32
+ map_attribute "ref", to: :ref
33
+ map_attribute "reactionRole", to: :reaction_role
34
+ map_attribute "reactionType", to: :reaction_type
35
+ map_attribute "state", to: :state
36
+ map_attribute "reactionFormat", to: :reaction_format
27
37
  end
28
38
  end
29
39
  end
@@ -16,6 +16,9 @@ module Chemicalml
16
16
  attribute :reactant_list, :reactantList
17
17
  attribute :product_list, :productList
18
18
 
19
+ attribute :ref, :string
20
+ attribute :yield, :string
21
+ attribute :ratio, :string
19
22
  xml do
20
23
  namespace Chemicalml::Cml::Namespace
21
24
  map_element "reaction", to: :reaction
@@ -26,6 +29,9 @@ module Chemicalml
26
29
  map_attribute "title", to: :title
27
30
  map_attribute "dictRef", to: :dict_ref
28
31
  map_attribute "convention", to: :convention
32
+ map_attribute "ref", to: :ref
33
+ map_attribute "yield", to: :yield
34
+ map_attribute "ratio", to: :ratio
29
35
  end
30
36
  end
31
37
  end
@@ -14,6 +14,10 @@ module Chemicalml
14
14
 
15
15
  attribute :reaction_steps, :reactionStep, collection: true
16
16
 
17
+ attribute :ref, :string
18
+ attribute :reaction_step_list_type, :string
19
+ attribute :reaction_format, :string
20
+ attribute :type, :string
17
21
  xml do
18
22
  namespace Chemicalml::Cml::Namespace
19
23
  map_element "reactionStep", to: :reaction_steps
@@ -22,6 +26,10 @@ module Chemicalml
22
26
  map_attribute "title", to: :title
23
27
  map_attribute "dictRef", to: :dict_ref
24
28
  map_attribute "convention", to: :convention
29
+ map_attribute "ref", to: :ref
30
+ map_attribute "reactionStepListType", to: :reaction_step_list_type
31
+ map_attribute "reactionFormat", to: :reaction_format
32
+ map_attribute "type", to: :type
25
33
  end
26
34
  end
27
35
  end
@@ -12,6 +12,10 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :convention, :string
14
14
 
15
+ attribute :sphere3, :string
16
+ attribute :box3, :string
17
+ attribute :atom_set_ref, :string
18
+ attribute :region_refs, :string
15
19
  xml do
16
20
  namespace Chemicalml::Cml::Namespace
17
21
  root "region"
@@ -19,6 +23,10 @@ module Chemicalml
19
23
  map_attribute "title", to: :title
20
24
  map_attribute "dictRef", to: :dict_ref
21
25
  map_attribute "convention", to: :convention
26
+ map_attribute "sphere3", to: :sphere3
27
+ map_attribute "box3", to: :box3
28
+ map_attribute "atomSetRef", to: :atom_set_ref
29
+ map_attribute "regionRefs", to: :region_refs
22
30
  end
23
31
  end
24
32
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module RelatedEntry
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::RelatedEntry
10
+ attribute :related_entry_type, :string
11
+ attribute :href, :string
12
+ attribute :content, :string
13
+
14
+ xml do
15
+ namespace Chemicalml::Cml::Namespace
16
+ root "relatedEntry"
17
+ map_attribute "relatedEntryType", to: :related_entry_type
18
+ map_attribute "href", to: :href
19
+ map_content to: :content
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -12,6 +12,8 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :convention, :string
14
14
 
15
+ attribute :ref, :string
16
+ attribute :state, :string
15
17
  xml do
16
18
  namespace Chemicalml::Cml::Namespace
17
19
  root "sample"
@@ -19,6 +21,8 @@ module Chemicalml
19
21
  map_attribute "title", to: :title
20
22
  map_attribute "dictRef", to: :dict_ref
21
23
  map_attribute "convention", to: :convention
24
+ map_attribute "ref", to: :ref
25
+ map_attribute "state", to: :state
22
26
  end
23
27
  end
24
28
  end
@@ -14,6 +14,15 @@ module Chemicalml
14
14
  attribute :units, :string
15
15
  attribute :content, :string
16
16
 
17
+ attribute :convention, :string
18
+ attribute :error_value, :string
19
+ attribute :error_basis, :string
20
+ attribute :min, :string
21
+ attribute :max, :string
22
+ attribute :ref, :string
23
+ attribute :constant_to_s_i, :string
24
+ attribute :multiplier_to_s_i, :string
25
+ attribute :unit_type, :string
17
26
  xml do
18
27
  namespace Chemicalml::Cml::Namespace
19
28
  root "scalar"
@@ -23,6 +32,15 @@ module Chemicalml
23
32
  map_attribute "dataType", to: :data_type
24
33
  map_attribute "units", to: :units
25
34
  map_content to: :content
35
+ map_attribute "convention", to: :convention
36
+ map_attribute "errorValue", to: :error_value
37
+ map_attribute "errorBasis", to: :error_basis
38
+ map_attribute "min", to: :min
39
+ map_attribute "max", to: :max
40
+ map_attribute "ref", to: :ref
41
+ map_attribute "constantToSI", to: :constant_to_s_i
42
+ map_attribute "multiplierToSI", to: :multiplier_to_s_i
43
+ map_attribute "unitType", to: :unit_type
26
44
  end
27
45
  end
28
46
  end
@@ -12,6 +12,7 @@ module Chemicalml
12
12
  attribute :dict_ref, :string
13
13
  attribute :convention, :string
14
14
 
15
+ attribute :role, :string
15
16
  xml do
16
17
  namespace Chemicalml::Cml::Namespace
17
18
  root "spectator"
@@ -19,6 +20,7 @@ module Chemicalml
19
20
  map_attribute "title", to: :title
20
21
  map_attribute "dictRef", to: :dict_ref
21
22
  map_attribute "convention", to: :convention
23
+ map_attribute "role", to: :role
22
24
  end
23
25
  end
24
26
  end
@@ -19,6 +19,12 @@ module Chemicalml
19
19
  attribute :peak_list, :peakList
20
20
  attribute :condition_list, :conditionList
21
21
 
22
+ attribute :ref, :string
23
+ attribute :molecule_ref, :string
24
+ attribute :spectrum_type, :string
25
+ attribute :measurement, :string
26
+ attribute :ft, :string
27
+ attribute :state, :string
22
28
  xml do
23
29
  namespace Chemicalml::Cml::Namespace
24
30
  map_element "xaxis", to: :xaxis
@@ -32,6 +38,12 @@ module Chemicalml
32
38
  map_attribute "convention", to: :convention
33
39
  map_attribute "format", to: :format
34
40
  map_attribute "condition", to: :condition
41
+ map_attribute "ref", to: :ref
42
+ map_attribute "moleculeRef", to: :molecule_ref
43
+ map_attribute "spectrumType", to: :spectrum_type
44
+ map_attribute "measurement", to: :measurement
45
+ map_attribute "ft", to: :ft
46
+ map_attribute "state", to: :state
35
47
  end
36
48
  end
37
49
  end
@@ -15,6 +15,7 @@ module Chemicalml
15
15
  attribute :xaxis, :xaxis
16
16
  attribute :yaxis, :yaxis
17
17
 
18
+ attribute :ref, :string
18
19
  xml do
19
20
  namespace Chemicalml::Cml::Namespace
20
21
  map_element "xaxis", to: :xaxis
@@ -24,6 +25,7 @@ module Chemicalml
24
25
  map_attribute "title", to: :title
25
26
  map_attribute "dictRef", to: :dict_ref
26
27
  map_attribute "convention", to: :convention
28
+ map_attribute "ref", to: :ref
27
29
  end
28
30
  end
29
31
  end
@@ -14,6 +14,8 @@ module Chemicalml
14
14
 
15
15
  attribute :spectra, :spectrum
16
16
 
17
+ attribute :ref, :string
18
+ attribute :molecule_ref, :string
17
19
  xml do
18
20
  namespace Chemicalml::Cml::Namespace
19
21
  map_element "spectrum", to: :spectra
@@ -22,6 +24,8 @@ module Chemicalml
22
24
  map_attribute "title", to: :title
23
25
  map_attribute "dictRef", to: :dict_ref
24
26
  map_attribute "convention", to: :convention
27
+ map_attribute "ref", to: :ref
28
+ map_attribute "moleculeRef", to: :molecule_ref
25
29
  end
26
30
  end
27
31
  end
@@ -13,6 +13,7 @@ module Chemicalml
13
13
  attribute :convention, :string
14
14
  attribute :content, :string
15
15
 
16
+ attribute :units, :string
16
17
  xml do
17
18
  namespace Chemicalml::Cml::Namespace
18
19
  root "sphere3"
@@ -21,6 +22,7 @@ module Chemicalml
21
22
  map_attribute "dictRef", to: :dict_ref
22
23
  map_attribute "convention", to: :convention
23
24
  map_content to: :content
25
+ map_attribute "units", to: :units
24
26
  end
25
27
  end
26
28
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Base
6
+ module String
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ include Chemicalml::Cml::Role::String
10
+ attribute :builtin, :string
11
+ attribute :convention, :string
12
+ attribute :dict_ref, :string
13
+ attribute :id, :string
14
+ attribute :title, :string
15
+ attribute :content, :string
16
+
17
+ xml do
18
+ namespace Chemicalml::Cml::Namespace
19
+ root "string"
20
+ map_attribute "builtin", to: :builtin
21
+ map_attribute "convention", to: :convention
22
+ map_attribute "dictRef", to: :dict_ref
23
+ map_attribute "id", to: :id
24
+ map_attribute "title", to: :title
25
+ map_content to: :content
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end