omml 0.2.1 → 0.2.2

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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/CLAUDE.md +19 -9
  3. data/TODO.uniwordfix/00-overview.md +29 -0
  4. data/TODO.uniwordfix/01-revert-contributor-changes.md +25 -0
  5. data/TODO.uniwordfix/02-models-base.md +55 -0
  6. data/TODO.uniwordfix/03-migrate-models.md +38 -0
  7. data/TODO.uniwordfix/04-autoload-conversion.md +52 -0
  8. data/TODO.uniwordfix/05-encapsulation-cleanup.md +67 -0
  9. data/TODO.uniwordfix/06-register-in-api.md +44 -0
  10. data/TODO.uniwordfix/07-spec-coverage.md +43 -0
  11. data/TODO.uniwordfix/08-spec-cross-context.md +63 -0
  12. data/TODO.uniwordfix/09-spec-cleanup.md +37 -0
  13. data/TODO.uniwordfix/10-claude-md-stale.md +34 -0
  14. data/lib/omml/configuration/context_registry.rb +36 -2
  15. data/lib/omml/configuration/model_registry.rb +6 -2
  16. data/lib/omml/configuration/type_resolver.rb +0 -2
  17. data/lib/omml/configuration.rb +5 -5
  18. data/lib/omml/models/base.rb +16 -0
  19. data/lib/omml/models/ct_acc.rb +1 -3
  20. data/lib/omml/models/ct_acc_pr.rb +1 -3
  21. data/lib/omml/models/ct_anchor.rb +1 -3
  22. data/lib/omml/models/ct_attr.rb +1 -3
  23. data/lib/omml/models/ct_bar.rb +1 -3
  24. data/lib/omml/models/ct_bar_pr.rb +1 -3
  25. data/lib/omml/models/ct_bookmark.rb +0 -2
  26. data/lib/omml/models/ct_bookmark_range.rb +0 -2
  27. data/lib/omml/models/ct_border.rb +1 -3
  28. data/lib/omml/models/ct_border_box.rb +1 -3
  29. data/lib/omml/models/ct_border_box_pr.rb +1 -3
  30. data/lib/omml/models/ct_box.rb +1 -3
  31. data/lib/omml/models/ct_box_pr.rb +1 -3
  32. data/lib/omml/models/ct_br.rb +1 -3
  33. data/lib/omml/models/ct_break_bin.rb +1 -3
  34. data/lib/omml/models/ct_break_bin_sub.rb +1 -3
  35. data/lib/omml/models/ct_calendar_type.rb +1 -3
  36. data/lib/omml/models/ct_char.rb +1 -3
  37. data/lib/omml/models/ct_color.rb +1 -3
  38. data/lib/omml/models/ct_control.rb +1 -3
  39. data/lib/omml/models/ct_ctrl_pr.rb +1 -3
  40. data/lib/omml/models/ct_custom_xml_pr.rb +1 -3
  41. data/lib/omml/models/ct_custom_xml_run.rb +1 -3
  42. data/lib/omml/models/ct_d.rb +1 -3
  43. data/lib/omml/models/ct_d_pr.rb +1 -3
  44. data/lib/omml/models/ct_data_binding.rb +1 -3
  45. data/lib/omml/models/ct_decimal_number.rb +1 -3
  46. data/lib/omml/models/ct_drawing.rb +1 -3
  47. data/lib/omml/models/ct_east_asian_layout.rb +1 -3
  48. data/lib/omml/models/ct_effect_extent.rb +1 -3
  49. data/lib/omml/models/ct_em.rb +1 -3
  50. data/lib/omml/models/ct_empty.rb +1 -3
  51. data/lib/omml/models/ct_eq_arr.rb +1 -3
  52. data/lib/omml/models/ct_eq_arr_pr.rb +1 -3
  53. data/lib/omml/models/ct_f.rb +1 -3
  54. data/lib/omml/models/ct_f_pr.rb +1 -3
  55. data/lib/omml/models/ct_f_type.rb +1 -3
  56. data/lib/omml/models/ct_ff_check_box.rb +1 -3
  57. data/lib/omml/models/ct_ff_data.rb +1 -3
  58. data/lib/omml/models/ct_ff_help_text.rb +1 -3
  59. data/lib/omml/models/ct_ff_name.rb +1 -3
  60. data/lib/omml/models/ct_ff_status_text.rb +1 -3
  61. data/lib/omml/models/ct_ff_text_input.rb +1 -3
  62. data/lib/omml/models/ct_ff_text_type.rb +1 -3
  63. data/lib/omml/models/ct_ffdd_list.rb +1 -3
  64. data/lib/omml/models/ct_fit_text.rb +1 -3
  65. data/lib/omml/models/ct_fld_char.rb +1 -3
  66. data/lib/omml/models/ct_fonts.rb +1 -3
  67. data/lib/omml/models/ct_ftn_edn_ref.rb +1 -3
  68. data/lib/omml/models/ct_func.rb +1 -3
  69. data/lib/omml/models/ct_func_pr.rb +1 -3
  70. data/lib/omml/models/ct_graphical_object.rb +1 -3
  71. data/lib/omml/models/ct_graphical_object_data.rb +1 -3
  72. data/lib/omml/models/ct_graphical_object_frame_locking.rb +1 -3
  73. data/lib/omml/models/ct_group_chr.rb +1 -3
  74. data/lib/omml/models/ct_group_chr_pr.rb +1 -3
  75. data/lib/omml/models/ct_highlight.rb +1 -3
  76. data/lib/omml/models/ct_hps_measure.rb +1 -3
  77. data/lib/omml/models/ct_hyperlink.rb +1 -3
  78. data/lib/omml/models/ct_inline.rb +1 -3
  79. data/lib/omml/models/ct_integer2.rb +1 -3
  80. data/lib/omml/models/ct_integer255.rb +1 -3
  81. data/lib/omml/models/ct_lang.rb +1 -3
  82. data/lib/omml/models/ct_language.rb +1 -3
  83. data/lib/omml/models/ct_lim_loc.rb +1 -3
  84. data/lib/omml/models/ct_lim_low.rb +1 -3
  85. data/lib/omml/models/ct_lim_low_pr.rb +1 -3
  86. data/lib/omml/models/ct_lim_upp.rb +1 -3
  87. data/lib/omml/models/ct_lim_upp_pr.rb +1 -3
  88. data/lib/omml/models/ct_lock.rb +1 -3
  89. data/lib/omml/models/ct_m.rb +1 -3
  90. data/lib/omml/models/ct_m_pr.rb +1 -3
  91. data/lib/omml/models/ct_macro_name.rb +1 -3
  92. data/lib/omml/models/ct_manual_break.rb +1 -3
  93. data/lib/omml/models/ct_markup.rb +1 -3
  94. data/lib/omml/models/ct_markup_range.rb +0 -2
  95. data/lib/omml/models/ct_math_pr.rb +1 -3
  96. data/lib/omml/models/ct_mc.rb +1 -3
  97. data/lib/omml/models/ct_mc_pr.rb +1 -3
  98. data/lib/omml/models/ct_mcs.rb +1 -3
  99. data/lib/omml/models/ct_move_bookmark.rb +0 -2
  100. data/lib/omml/models/ct_mr.rb +1 -3
  101. data/lib/omml/models/ct_nary.rb +1 -3
  102. data/lib/omml/models/ct_nary_pr.rb +1 -3
  103. data/lib/omml/models/ct_non_visual_drawing_props.rb +1 -3
  104. data/lib/omml/models/ct_non_visual_graphic_frame_properties.rb +1 -3
  105. data/lib/omml/models/ct_o_math.rb +1 -3
  106. data/lib/omml/models/ct_o_math_arg.rb +1 -3
  107. data/lib/omml/models/ct_o_math_arg_pr.rb +1 -3
  108. data/lib/omml/models/ct_o_math_jc.rb +1 -3
  109. data/lib/omml/models/ct_o_math_para.rb +1 -3
  110. data/lib/omml/models/ct_o_math_para_pr.rb +1 -3
  111. data/lib/omml/models/ct_object.rb +0 -2
  112. data/lib/omml/models/ct_office_art_extension.rb +1 -3
  113. data/lib/omml/models/ct_office_art_extension_list.rb +1 -3
  114. data/lib/omml/models/ct_on_off.rb +1 -3
  115. data/lib/omml/models/ct_p_tab.rb +1 -3
  116. data/lib/omml/models/ct_perm.rb +1 -3
  117. data/lib/omml/models/ct_perm_start.rb +0 -2
  118. data/lib/omml/models/ct_phant.rb +1 -3
  119. data/lib/omml/models/ct_phant_pr.rb +1 -3
  120. data/lib/omml/models/ct_picture.rb +0 -2
  121. data/lib/omml/models/ct_picture_base.rb +1 -3
  122. data/lib/omml/models/ct_placeholder.rb +1 -3
  123. data/lib/omml/models/ct_point2_d.rb +1 -3
  124. data/lib/omml/models/ct_pos_h.rb +1 -3
  125. data/lib/omml/models/ct_pos_v.rb +1 -3
  126. data/lib/omml/models/ct_positive_size2_d.rb +1 -3
  127. data/lib/omml/models/ct_proof_err.rb +1 -3
  128. data/lib/omml/models/ct_r.rb +1 -3
  129. data/lib/omml/models/ct_r_pr.rb +1 -3
  130. data/lib/omml/models/ct_r_pr_change.rb +0 -2
  131. data/lib/omml/models/ct_r_pr_original.rb +1 -3
  132. data/lib/omml/models/ct_rad.rb +1 -3
  133. data/lib/omml/models/ct_rad_pr.rb +1 -3
  134. data/lib/omml/models/ct_rel.rb +1 -3
  135. data/lib/omml/models/ct_rpr.rb +1 -3
  136. data/lib/omml/models/ct_ruby.rb +1 -3
  137. data/lib/omml/models/ct_ruby_align.rb +1 -3
  138. data/lib/omml/models/ct_ruby_content.rb +1 -3
  139. data/lib/omml/models/ct_ruby_pr.rb +1 -3
  140. data/lib/omml/models/ct_run_track_change.rb +0 -2
  141. data/lib/omml/models/ct_s_pre.rb +1 -3
  142. data/lib/omml/models/ct_s_pre_pr.rb +1 -3
  143. data/lib/omml/models/ct_s_sub.rb +1 -3
  144. data/lib/omml/models/ct_s_sub_pr.rb +1 -3
  145. data/lib/omml/models/ct_s_sub_sup.rb +1 -3
  146. data/lib/omml/models/ct_s_sub_sup_pr.rb +1 -3
  147. data/lib/omml/models/ct_s_sup.rb +1 -3
  148. data/lib/omml/models/ct_s_sup_pr.rb +1 -3
  149. data/lib/omml/models/ct_script.rb +1 -3
  150. data/lib/omml/models/ct_sdt_combo_box.rb +1 -3
  151. data/lib/omml/models/ct_sdt_content_run.rb +1 -3
  152. data/lib/omml/models/ct_sdt_date.rb +1 -3
  153. data/lib/omml/models/ct_sdt_date_mapping_type.rb +1 -3
  154. data/lib/omml/models/ct_sdt_doc_part.rb +1 -3
  155. data/lib/omml/models/ct_sdt_drop_down_list.rb +1 -3
  156. data/lib/omml/models/ct_sdt_end_pr.rb +1 -3
  157. data/lib/omml/models/ct_sdt_list_item.rb +1 -3
  158. data/lib/omml/models/ct_sdt_pr.rb +1 -3
  159. data/lib/omml/models/ct_sdt_run.rb +1 -3
  160. data/lib/omml/models/ct_sdt_text.rb +1 -3
  161. data/lib/omml/models/ct_shd.rb +1 -3
  162. data/lib/omml/models/ct_shp.rb +1 -3
  163. data/lib/omml/models/ct_signed_hps_measure.rb +1 -3
  164. data/lib/omml/models/ct_signed_twips_measure.rb +1 -3
  165. data/lib/omml/models/ct_simple_field.rb +1 -3
  166. data/lib/omml/models/ct_smart_tag_pr.rb +1 -3
  167. data/lib/omml/models/ct_smart_tag_run.rb +1 -3
  168. data/lib/omml/models/ct_spacing_rule.rb +1 -3
  169. data/lib/omml/models/ct_string.rb +1 -3
  170. data/lib/omml/models/ct_style.rb +1 -3
  171. data/lib/omml/models/ct_sym.rb +1 -3
  172. data/lib/omml/models/ct_text.rb +1 -3
  173. data/lib/omml/models/ct_text_effect.rb +1 -3
  174. data/lib/omml/models/ct_text_scale.rb +1 -3
  175. data/lib/omml/models/ct_top_bot.rb +1 -3
  176. data/lib/omml/models/ct_track_change.rb +0 -2
  177. data/lib/omml/models/ct_track_change_numbering.rb +0 -2
  178. data/lib/omml/models/ct_twips_measure.rb +1 -3
  179. data/lib/omml/models/ct_un_signed_integer.rb +1 -3
  180. data/lib/omml/models/ct_underline.rb +1 -3
  181. data/lib/omml/models/ct_vertical_align_run.rb +1 -3
  182. data/lib/omml/models/ct_wordprocessing_on_off.rb +1 -3
  183. data/lib/omml/models/ct_wrap_none.rb +1 -3
  184. data/lib/omml/models/ct_wrap_path.rb +1 -3
  185. data/lib/omml/models/ct_wrap_square.rb +1 -3
  186. data/lib/omml/models/ct_wrap_through.rb +1 -3
  187. data/lib/omml/models/ct_wrap_tight.rb +1 -3
  188. data/lib/omml/models/ct_wrap_top_bottom.rb +1 -3
  189. data/lib/omml/models/ct_x_align.rb +1 -3
  190. data/lib/omml/models/ct_y_align.rb +1 -3
  191. data/lib/omml/models/groups/eg_content_run_content.rb +1 -3
  192. data/lib/omml/models/groups/eg_math_content.rb +1 -3
  193. data/lib/omml/models/groups/eg_o_math_elements.rb +1 -3
  194. data/lib/omml/models/groups/eg_o_math_math_elements.rb +1 -3
  195. data/lib/omml/models/groups/eg_office_art_extension_list.rb +1 -3
  196. data/lib/omml/models/groups/eg_p_content.rb +1 -3
  197. data/lib/omml/models/groups/eg_r_pr.rb +1 -3
  198. data/lib/omml/models/groups/eg_r_pr_base.rb +1 -3
  199. data/lib/omml/models/groups/eg_r_pr_content.rb +1 -3
  200. data/lib/omml/models/groups/eg_r_pr_math.rb +1 -3
  201. data/lib/omml/models/groups/eg_range_markup_elements.rb +1 -3
  202. data/lib/omml/models/groups/eg_ruby_content.rb +1 -3
  203. data/lib/omml/models/groups/eg_run_inner_content.rb +1 -3
  204. data/lib/omml/models/groups/eg_run_level_elts.rb +1 -3
  205. data/lib/omml/models/groups/eg_script_style.rb +1 -3
  206. data/lib/omml/models/groups/eg_word_r_pr.rb +1 -3
  207. data/lib/omml/models/groups/eg_wrap_type.rb +1 -3
  208. data/lib/omml/models/groups.rb +0 -18
  209. data/lib/omml/models/o_math.rb +1 -3
  210. data/lib/omml/models/o_math_para.rb +1 -3
  211. data/lib/omml/models/registerable.rb +22 -0
  212. data/lib/omml/models/simple_types/enum_string.rb +5 -0
  213. data/lib/omml/models/simple_types/hex_binary.rb +0 -1
  214. data/lib/omml/models/simple_types/st_adj_coordinate.rb +2 -1
  215. data/lib/omml/models/simple_types/st_align_h.rb +0 -2
  216. data/lib/omml/models/simple_types/st_align_v.rb +0 -2
  217. data/lib/omml/models/simple_types/st_border.rb +0 -2
  218. data/lib/omml/models/simple_types/st_br_clear.rb +0 -2
  219. data/lib/omml/models/simple_types/st_br_type.rb +0 -2
  220. data/lib/omml/models/simple_types/st_break_bin.rb +0 -2
  221. data/lib/omml/models/simple_types/st_break_bin_sub.rb +0 -2
  222. data/lib/omml/models/simple_types/st_calendar_type.rb +0 -2
  223. data/lib/omml/models/simple_types/st_combine_brackets.rb +0 -2
  224. data/lib/omml/models/simple_types/st_coordinate.rb +0 -1
  225. data/lib/omml/models/simple_types/st_displaced_by_custom_xml.rb +0 -2
  226. data/lib/omml/models/simple_types/st_ed_grp.rb +0 -2
  227. data/lib/omml/models/simple_types/st_em.rb +0 -2
  228. data/lib/omml/models/simple_types/st_f_type.rb +0 -2
  229. data/lib/omml/models/simple_types/st_ff_text_type.rb +0 -2
  230. data/lib/omml/models/simple_types/st_fld_char_type.rb +0 -2
  231. data/lib/omml/models/simple_types/st_geom_guide_name.rb +0 -2
  232. data/lib/omml/models/simple_types/st_hex_color.rb +2 -1
  233. data/lib/omml/models/simple_types/st_highlight_color.rb +0 -2
  234. data/lib/omml/models/simple_types/st_hint.rb +0 -2
  235. data/lib/omml/models/simple_types/st_info_text_type.rb +0 -2
  236. data/lib/omml/models/simple_types/st_integer2.rb +0 -1
  237. data/lib/omml/models/simple_types/st_integer255.rb +0 -1
  238. data/lib/omml/models/simple_types/st_jc.rb +0 -2
  239. data/lib/omml/models/simple_types/st_lang.rb +2 -1
  240. data/lib/omml/models/simple_types/st_lim_loc.rb +0 -2
  241. data/lib/omml/models/simple_types/st_lock.rb +0 -2
  242. data/lib/omml/models/simple_types/st_on_off.rb +0 -2
  243. data/lib/omml/models/simple_types/st_p_tab_alignment.rb +0 -2
  244. data/lib/omml/models/simple_types/st_p_tab_leader.rb +0 -2
  245. data/lib/omml/models/simple_types/st_p_tab_relative_to.rb +0 -2
  246. data/lib/omml/models/simple_types/st_positive_coordinate.rb +0 -1
  247. data/lib/omml/models/simple_types/st_proof_err.rb +0 -2
  248. data/lib/omml/models/simple_types/st_rel_from_h.rb +0 -2
  249. data/lib/omml/models/simple_types/st_rel_from_v.rb +0 -2
  250. data/lib/omml/models/simple_types/st_ruby_align.rb +0 -2
  251. data/lib/omml/models/simple_types/st_script.rb +0 -2
  252. data/lib/omml/models/simple_types/st_sdt_date_mapping_type.rb +0 -2
  253. data/lib/omml/models/simple_types/st_shd.rb +0 -2
  254. data/lib/omml/models/simple_types/st_shp.rb +0 -2
  255. data/lib/omml/models/simple_types/st_spacing_rule.rb +0 -1
  256. data/lib/omml/models/simple_types/st_style.rb +0 -2
  257. data/lib/omml/models/simple_types/st_text_effect.rb +0 -2
  258. data/lib/omml/models/simple_types/st_text_scale.rb +0 -1
  259. data/lib/omml/models/simple_types/st_theme.rb +0 -2
  260. data/lib/omml/models/simple_types/st_theme_color.rb +0 -2
  261. data/lib/omml/models/simple_types/st_top_bot.rb +0 -2
  262. data/lib/omml/models/simple_types/st_underline.rb +0 -2
  263. data/lib/omml/models/simple_types/st_vertical_align_run.rb +0 -2
  264. data/lib/omml/models/simple_types/st_wrap_text.rb +0 -2
  265. data/lib/omml/models/simple_types/st_x_align.rb +0 -2
  266. data/lib/omml/models/simple_types/st_y_align.rb +0 -2
  267. data/lib/omml/models/simple_types/token.rb +5 -0
  268. data/lib/omml/models/simple_types/unsigned_int.rb +0 -1
  269. data/lib/omml/models/simple_types/unsigned_long.rb +0 -1
  270. data/lib/omml/models/simple_types.rb +0 -59
  271. data/lib/omml/models.rb +269 -177
  272. data/lib/omml/version.rb +1 -1
  273. metadata +15 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTTwipsMeasure < Lutaml::Model::Serializable
5
+ class CTTwipsMeasure < Base
6
6
  attribute :val, :st_twips_measure
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTTwipsMeasure)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTUnSignedInteger < Lutaml::Model::Serializable
5
+ class CTUnSignedInteger < Base
6
6
  attribute :val, :st_un_signed_integer
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTUnSignedInteger)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTUnderline < Lutaml::Model::Serializable
5
+ class CTUnderline < Base
6
6
  attribute :val, :st_underline
7
7
  attribute :color, :st_hex_color
8
8
  attribute :theme_color, :st_theme_color
@@ -21,7 +21,5 @@ module Omml
21
21
  map_attribute :themeShade, to: :theme_shade
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(CTUnderline)
26
24
  end
27
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTVerticalAlignRun < Lutaml::Model::Serializable
5
+ class CTVerticalAlignRun < Base
6
6
  attribute :val, :st_vertical_align_run
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTVerticalAlignRun)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWordprocessingOnOff < Lutaml::Model::Serializable
5
+ class CTWordprocessingOnOff < Base
6
6
  attribute :val, :st_on_off, default: -> { "on" }
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTWordprocessingOnOff)
18
16
  end
19
17
  end
@@ -2,14 +2,12 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapNone < Lutaml::Model::Serializable
5
+ class CTWrapNone < Base
6
6
  xml do
7
7
  element "CT_WrapNone"
8
8
 
9
9
  namespace Omml::Namespace
10
10
  end
11
11
  end
12
-
13
- Omml::Configuration.register_model(CTWrapNone)
14
12
  end
15
13
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapPath < Lutaml::Model::Serializable
5
+ class CTWrapPath < Base
6
6
  attribute :start, :ct_point2_d, collection: 1..1
7
7
  attribute :line_to, :ct_point2_d, collection: 2..Float::INFINITY
8
8
  attribute :edited, :boolean
@@ -19,7 +19,5 @@ module Omml
19
19
  map_attribute :edited, to: :edited
20
20
  end
21
21
  end
22
-
23
- Omml::Configuration.register_model(CTWrapPath)
24
22
  end
25
23
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapSquare < Lutaml::Model::Serializable
5
+ class CTWrapSquare < Base
6
6
  attribute :effect_extent, :ct_effect_extent, collection: 0..1
7
7
  attribute :wrap_text, :st_wrap_text
8
8
  attribute :dist_t, :st_wrap_distance
@@ -25,7 +25,5 @@ module Omml
25
25
  map_attribute :distR, to: :dist_r
26
26
  end
27
27
  end
28
-
29
- Omml::Configuration.register_model(CTWrapSquare)
30
28
  end
31
29
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapThrough < Lutaml::Model::Serializable
5
+ class CTWrapThrough < Base
6
6
  attribute :wrap_polygon, :ct_wrap_path, collection: 1..1
7
7
  attribute :wrap_text, :st_wrap_text
8
8
  attribute :dist_l, :st_wrap_distance
@@ -21,7 +21,5 @@ module Omml
21
21
  map_attribute :distR, to: :dist_r
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(CTWrapThrough)
26
24
  end
27
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapTight < Lutaml::Model::Serializable
5
+ class CTWrapTight < Base
6
6
  attribute :wrap_polygon, :ct_wrap_path, collection: 1..1
7
7
  attribute :wrap_text, :st_wrap_text
8
8
  attribute :dist_l, :st_wrap_distance
@@ -21,7 +21,5 @@ module Omml
21
21
  map_attribute :distR, to: :dist_r
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(CTWrapTight)
26
24
  end
27
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapTopBottom < Lutaml::Model::Serializable
5
+ class CTWrapTopBottom < Base
6
6
  attribute :effect_extent, :ct_effect_extent, collection: 0..1
7
7
  attribute :dist_t, :st_wrap_distance
8
8
  attribute :dist_b, :st_wrap_distance
@@ -19,7 +19,5 @@ module Omml
19
19
  map_attribute :distB, to: :dist_b
20
20
  end
21
21
  end
22
-
23
- Omml::Configuration.register_model(CTWrapTopBottom)
24
22
  end
25
23
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTXAlign < Lutaml::Model::Serializable
5
+ class CTXAlign < Base
6
6
  attribute :val, :st_x_align
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTXAlign)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTYAlign < Lutaml::Model::Serializable
5
+ class CTYAlign < Base
6
6
  attribute :val, :st_y_align
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTYAlign)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGContentRunContent < Lutaml::Model::Serializable
5
+ class EGContentRunContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :custom_xml, :ct_custom_xml_run
8
8
  attribute :smart_tag, :ct_smart_tag_run
@@ -20,7 +20,5 @@ module Omml
20
20
  import_model_mappings :eg_run_level_elts
21
21
  end
22
22
  end
23
-
24
- Omml::Configuration.register_model(EGContentRunContent)
25
23
  end
26
24
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGMathContent < Lutaml::Model::Serializable
5
+ class EGMathContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :o_math_para, :ct_o_math_para
8
8
  attribute :o_math, :ct_o_math
@@ -14,7 +14,5 @@ module Omml
14
14
  map_element :oMath, to: :o_math, render_empty: true
15
15
  end
16
16
  end
17
-
18
- Omml::Configuration.register_model(EGMathContent)
19
17
  end
20
18
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGOMathElements < Lutaml::Model::Serializable
5
+ class EGOMathElements < Base
6
6
  choice(min: 1, max: 1) do
7
7
  import_model_attributes :eg_o_math_math_elements
8
8
  import_model_attributes :eg_run_level_elts
@@ -14,7 +14,5 @@ module Omml
14
14
  import_model_mappings :eg_run_level_elts
15
15
  end
16
16
  end
17
-
18
- Omml::Configuration.register_model(EGOMathElements)
19
17
  end
20
18
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGOMathMathElements < Lutaml::Model::Serializable
5
+ class EGOMathMathElements < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :acc, :ct_acc, collection: 0..Float::INFINITY
8
8
  attribute :bar, :ct_bar, collection: 0..Float::INFINITY
@@ -50,7 +50,5 @@ module Omml
50
50
  map_element :r, to: :r, render_empty: true
51
51
  end
52
52
  end
53
-
54
- Omml::Configuration.register_model(EGOMathMathElements)
55
53
  end
56
54
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGOfficeArtExtensionList < Lutaml::Model::Serializable
5
+ class EGOfficeArtExtensionList < Base
6
6
  attribute :ext, :ct_office_art_extension, collection: 0..Float::INFINITY
7
7
 
8
8
  xml do
@@ -10,7 +10,5 @@ module Omml
10
10
  map_element :ext, to: :ext
11
11
  end
12
12
  end
13
-
14
- Omml::Configuration.register_model(EGOfficeArtExtensionList)
15
13
  end
16
14
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGPContent < Lutaml::Model::Serializable
5
+ class EGPContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  import_model_attributes :eg_content_run_content
8
8
  attribute :fld_simple, :ct_simple_field, collection: 0..Float::INFINITY
@@ -18,7 +18,5 @@ module Omml
18
18
  map_element :subDoc, to: :sub_doc, render_empty: true
19
19
  end
20
20
  end
21
-
22
- Omml::Configuration.register_model(EGPContent)
23
21
  end
24
22
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPr < Lutaml::Model::Serializable
5
+ class EGRPr < Base
6
6
  attribute :r_pr, :ct_r_pr, collection: 0..1
7
7
 
8
8
  xml do
@@ -11,7 +11,5 @@ module Omml
11
11
  map_element :rPr, to: :r_pr
12
12
  end
13
13
  end
14
-
15
- Omml::Configuration.register_model(EGRPr)
16
14
  end
17
15
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPrBase < Lutaml::Model::Serializable
5
+ class EGRPrBase < Base
6
6
  attribute :r_style, :ct_string, collection: 0..1
7
7
  attribute :r_fonts, :ct_fonts, collection: 0..1
8
8
  attribute :b, :ct_wordprocessing_on_off, collection: 0..1
@@ -87,7 +87,5 @@ module Omml
87
87
  map_element :oMath, to: :o_math, render_empty: true
88
88
  end
89
89
  end
90
-
91
- Omml::Configuration.register_model(EGRPrBase)
92
90
  end
93
91
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPrContent < Lutaml::Model::Serializable
5
+ class EGRPrContent < Base
6
6
  import_model_attributes :eg_r_pr_base
7
7
  attribute :r_pr_change, :ct_r_pr_change, collection: 0..1
8
8
 
@@ -13,7 +13,5 @@ module Omml
13
13
  map_element :rPrChange, to: :r_pr_change
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(EGRPrContent)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPrMath < Lutaml::Model::Serializable
5
+ class EGRPrMath < Base
6
6
  choice(min: 1, max: 1) do
7
7
  import_model_attributes :eg_r_pr
8
8
  attribute :ins, :ct_r_pr_change
@@ -17,7 +17,5 @@ module Omml
17
17
  map_element :del, to: :del, render_empty: true
18
18
  end
19
19
  end
20
-
21
- Omml::Configuration.register_model(EGRPrMath)
22
20
  end
23
21
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRangeMarkupElements < Lutaml::Model::Serializable
5
+ class EGRangeMarkupElements < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :bookmark_start, :ct_bookmark
8
8
  attribute :bookmark_end, :ct_markup_range
@@ -54,7 +54,5 @@ module Omml
54
54
  to: :custom_xml_move_to_range_end, render_empty: true
55
55
  end
56
56
  end
57
-
58
- Omml::Configuration.register_model(EGRangeMarkupElements)
59
57
  end
60
58
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRubyContent < Lutaml::Model::Serializable
5
+ class EGRubyContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :r, :ct_r
8
8
  import_model_attributes :eg_run_level_elts
@@ -14,7 +14,5 @@ module Omml
14
14
  import_model_mappings :eg_run_level_elts
15
15
  end
16
16
  end
17
-
18
- Omml::Configuration.register_model(EGRubyContent)
19
17
  end
20
18
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRunInnerContent < Lutaml::Model::Serializable
5
+ class EGRunInnerContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :br, :string
8
8
  attribute :t, :ct_text
@@ -77,7 +77,5 @@ module Omml
77
77
  map_element :lastRenderedPageBreak, to: :last_rendered_page_break
78
78
  end
79
79
  end
80
-
81
- Omml::Configuration.register_model(EGRunInnerContent)
82
80
  end
83
81
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRunLevelElts < Lutaml::Model::Serializable
5
+ class EGRunLevelElts < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :proof_err, :ct_proof_err, collection: 0..1
8
8
  attribute :perm_start, :ct_perm_start, collection: 0..1
@@ -28,7 +28,5 @@ module Omml
28
28
  import_model_mappings :eg_math_content
29
29
  end
30
30
  end
31
-
32
- Omml::Configuration.register_model(EGRunLevelElts)
33
31
  end
34
32
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGScriptStyle < Lutaml::Model::Serializable
5
+ class EGScriptStyle < Base
6
6
  attribute :scr, :ct_script, collection: 0..1
7
7
  attribute :sty, :ct_style, collection: 0..1
8
8
 
@@ -12,7 +12,5 @@ module Omml
12
12
  map_element :sty, to: :sty
13
13
  end
14
14
  end
15
-
16
- Omml::Configuration.register_model(EGScriptStyle)
17
15
  end
18
16
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGWordRPr < Lutaml::Model::Serializable
5
+ class EGWordRPr < Base
6
6
  attribute :word_r_pr, :ct_r_pr, collection: 0..1
7
7
 
8
8
  xml do
@@ -11,7 +11,5 @@ module Omml
11
11
  map_element :rPr, to: :word_r_pr
12
12
  end
13
13
  end
14
-
15
- Omml::Configuration.register_model(EGWordRPr)
16
14
  end
17
15
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGWrapType < Lutaml::Model::Serializable
5
+ class EGWrapType < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :wrap_none, :ct_wrap_none, collection: 1..1
8
8
  attribute :wrap_square, :ct_wrap_square, collection: 1..1
@@ -21,7 +21,5 @@ module Omml
21
21
  render_empty: true
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(EGWrapType)
26
24
  end
27
25
  end
@@ -1,19 +1 @@
1
1
  # frozen_string_literal: true
2
-
3
- require_relative "groups/eg_math_content"
4
- require_relative "groups/eg_o_math_math_elements"
5
- require_relative "groups/eg_office_art_extension_list"
6
- require_relative "groups/eg_r_pr"
7
- require_relative "groups/eg_r_pr_base"
8
- require_relative "groups/eg_range_markup_elements"
9
- require_relative "groups/eg_run_inner_content"
10
- require_relative "groups/eg_script_style"
11
- require_relative "groups/eg_word_r_pr"
12
- require_relative "groups/eg_wrap_type"
13
- require_relative "groups/eg_r_pr_content"
14
- require_relative "groups/eg_r_pr_math"
15
- require_relative "groups/eg_run_level_elts"
16
- require_relative "groups/eg_content_run_content"
17
- require_relative "groups/eg_o_math_elements"
18
- require_relative "groups/eg_p_content"
19
- require_relative "groups/eg_ruby_content"
@@ -3,7 +3,7 @@
3
3
  module Omml
4
4
  module Models
5
5
  # Root element wrapper for the generated CTOMath content model.
6
- class OMath < Lutaml::Model::Serializable
6
+ class OMath < Base
7
7
  import_model_attributes :eg_o_math_elements
8
8
 
9
9
  xml do
@@ -15,7 +15,5 @@ module Omml
15
15
  end
16
16
  end
17
17
  end
18
-
19
- Omml::Configuration.register_model(OMath, id: :o_math)
20
18
  end
21
19
  end
@@ -3,7 +3,7 @@
3
3
  module Omml
4
4
  module Models
5
5
  # Root element wrapper for the generated CTOMathPara content model.
6
- class OMathPara < Lutaml::Model::Serializable
6
+ class OMathPara < Base
7
7
  attribute :o_math_para_pr, :ct_o_math_para_pr, collection: 0..1
8
8
  attribute :o_math, :ct_o_math, collection: 1..Float::INFINITY
9
9
  attribute :r, :ct_r, collection: 0..Float::INFINITY
@@ -19,7 +19,5 @@ module Omml
19
19
  end
20
20
  end
21
21
  end
22
-
23
- Omml::Configuration.register_model(OMathPara, id: :o_math_para)
24
22
  end
25
23
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ # Mixed into simple-type classes that need to know their active register
6
+ # when resolving dependent types (e.g. `STAdjCoordinate` delegates to
7
+ # either `STCoordinate` or `STGeomGuideName` depending on the value).
8
+ #
9
+ # `Omml::Configuration.register_model` calls `register=` on classes that
10
+ # include this module, mirroring the role of upstream's
11
+ # `set_register_context` on `Lutaml::Model::Serializable`.
12
+ module Registerable
13
+ def self.included(base)
14
+ base.extend(ClassMethods)
15
+ end
16
+
17
+ module ClassMethods
18
+ attr_accessor :register
19
+ end
20
+ end
21
+ end
22
+ end
@@ -3,6 +3,11 @@
3
3
  module Omml
4
4
  module Models
5
5
  class EnumString < Lutaml::Model::Type::String
6
+ def self.inherited(subclass)
7
+ super
8
+ Omml::Configuration.register_model(subclass)
9
+ end
10
+
6
11
  def self.cast(value, options = {})
7
12
  return if value.nil?
8
13
 
@@ -9,7 +9,6 @@ module Omml
9
9
  super(value, options.merge(pattern: /(?-mix:([0-9a-fA-F]{2})*)/))
10
10
  end
11
11
  end
12
-
13
12
  Omml::Configuration.register_model(HexBinary)
14
13
  end
15
14
  end
@@ -3,6 +3,8 @@
3
3
  module Omml
4
4
  module Models
5
5
  class STAdjCoordinate < Lutaml::Model::Type::Value
6
+ include Registerable
7
+
6
8
  def self.cast(value, options = {})
7
9
  return if value.nil?
8
10
 
@@ -18,7 +20,6 @@ module Omml
18
20
 
19
21
  private_class_method :cast_value
20
22
  end
21
-
22
23
  Omml::Configuration.register_model(STAdjCoordinate)
23
24
  end
24
25
  end
@@ -11,7 +11,5 @@ module Omml
11
11
  outside
12
12
  ].freeze
13
13
  end
14
-
15
- Omml::Configuration.register_model(STAlignH)
16
14
  end
17
15
  end
@@ -11,7 +11,5 @@ module Omml
11
11
  outside
12
12
  ].freeze
13
13
  end
14
-
15
- Omml::Configuration.register_model(STAlignV)
16
14
  end
17
15
  end
@@ -197,7 +197,5 @@ module Omml
197
197
  zigZagStitch
198
198
  ].freeze
199
199
  end
200
-
201
- Omml::Configuration.register_model(STBorder)
202
200
  end
203
201
  end