ruflet 0.0.8 → 0.0.9

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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/bin/ruflet +6 -0
  3. data/lib/ruflet/cli/build_command.rb +372 -0
  4. data/lib/ruflet/cli/extra_command.rb +146 -0
  5. data/lib/ruflet/cli/flutter_sdk.rb +359 -0
  6. data/lib/ruflet/cli/new_command.rb +221 -0
  7. data/lib/ruflet/cli/run_command.rb +699 -0
  8. data/lib/ruflet/cli/templates.rb +68 -0
  9. data/lib/ruflet/cli/update_command.rb +111 -0
  10. data/lib/ruflet/cli.rb +85 -0
  11. data/lib/ruflet/version.rb +1 -1
  12. data/lib/ruflet_cli.rb +3 -0
  13. metadata +59 -209
  14. data/lib/ruflet.rb +0 -40
  15. data/lib/ruflet_protocol/ruflet/protocol.rb +0 -62
  16. data/lib/ruflet_protocol.rb +0 -4
  17. data/lib/ruflet_ui/ruflet/app.rb +0 -27
  18. data/lib/ruflet_ui/ruflet/colors.rb +0 -234
  19. data/lib/ruflet_ui/ruflet/control.rb +0 -281
  20. data/lib/ruflet_ui/ruflet/dsl.rb +0 -291
  21. data/lib/ruflet_ui/ruflet/event.rb +0 -42
  22. data/lib/ruflet_ui/ruflet/events/gesture_events.rb +0 -552
  23. data/lib/ruflet_ui/ruflet/icon_data.rb +0 -62
  24. data/lib/ruflet_ui/ruflet/icons/cupertino/cupertino_icons.rb +0 -54
  25. data/lib/ruflet_ui/ruflet/icons/cupertino_icon_lookup.rb +0 -112
  26. data/lib/ruflet_ui/ruflet/icons/material_icon_lookup.rb +0 -112
  27. data/lib/ruflet_ui/ruflet/icons/material_icons.rb +0 -55
  28. data/lib/ruflet_ui/ruflet/page.rb +0 -1222
  29. data/lib/ruflet_ui/ruflet/types/geometry.rb +0 -65
  30. data/lib/ruflet_ui/ruflet/types/text_style.rb +0 -191
  31. data/lib/ruflet_ui/ruflet/ui/control_factory.rb +0 -53
  32. data/lib/ruflet_ui/ruflet/ui/control_methods.rb +0 -17
  33. data/lib/ruflet_ui/ruflet/ui/control_registry.rb +0 -33
  34. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactionsheet_control.rb +0 -57
  35. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactionsheetaction_control.rb +0 -58
  36. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactivityindicator_control.rb +0 -57
  37. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoalertdialog_control.rb +0 -39
  38. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoappbar_control.rb +0 -44
  39. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinobottomsheet_control.rb +0 -38
  40. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinobutton_control.rb +0 -73
  41. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocheckbox_control.rb +0 -70
  42. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocontextmenu_control.rb +0 -34
  43. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocontextmenuaction_control.rb +0 -36
  44. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinodatepicker_control.rb +0 -67
  45. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinodialogaction_control.rb +0 -35
  46. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinofilledbutton_control.rb +0 -73
  47. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinolisttile_control.rb +0 -67
  48. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinonavigationbar_control.rb +0 -61
  49. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinopicker_control.rb +0 -66
  50. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoradio_control.rb +0 -66
  51. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinosegmentedbutton_control.rb +0 -63
  52. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoslider_control.rb +0 -64
  53. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoslidingsegmentedbutton_control.rb +0 -60
  54. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoswitch_control.rb +0 -73
  55. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotextfield_control.rb +0 -159
  56. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotimerpicker_control.rb +0 -61
  57. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotintedbutton_control.rb +0 -73
  58. data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/ruflet_controls.rb +0 -89
  59. data/lib/ruflet_ui/ruflet/ui/controls/materials/alertdialog_control.rb +0 -58
  60. data/lib/ruflet_ui/ruflet/ui/controls/materials/appbar_control.rb +0 -53
  61. data/lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb +0 -36
  62. data/lib/ruflet_ui/ruflet/ui/controls/materials/autocomplete_control.rb +0 -58
  63. data/lib/ruflet_ui/ruflet/ui/controls/materials/badge_control.rb +0 -31
  64. data/lib/ruflet_ui/ruflet/ui/controls/materials/banner_control.rb +0 -47
  65. data/lib/ruflet_ui/ruflet/ui/controls/materials/bottomappbar_control.rb +0 -62
  66. data/lib/ruflet_ui/ruflet/ui/controls/materials/bottomsheet_control.rb +0 -48
  67. data/lib/ruflet_ui/ruflet/ui/controls/materials/button_control.rb +0 -69
  68. data/lib/ruflet_ui/ruflet/ui/controls/materials/card_control.rb +0 -63
  69. data/lib/ruflet_ui/ruflet/ui/controls/materials/chart_controls.rb +0 -321
  70. data/lib/ruflet_ui/ruflet/ui/controls/materials/checkbox_control.rb +0 -76
  71. data/lib/ruflet_ui/ruflet/ui/controls/materials/chip_control.rb +0 -88
  72. data/lib/ruflet_ui/ruflet/ui/controls/materials/circleavatar_control.rb +0 -62
  73. data/lib/ruflet_ui/ruflet/ui/controls/materials/container_control.rb +0 -81
  74. data/lib/ruflet_ui/ruflet/ui/controls/materials/contextmenu_control.rb +0 -63
  75. data/lib/ruflet_ui/ruflet/ui/controls/materials/datacell_control.rb +0 -38
  76. data/lib/ruflet_ui/ruflet/ui/controls/materials/datacolumn_control.rb +0 -34
  77. data/lib/ruflet_ui/ruflet/ui/controls/materials/datarow_control.rb +0 -35
  78. data/lib/ruflet_ui/ruflet/ui/controls/materials/datatable_control.rb +0 -78
  79. data/lib/ruflet_ui/ruflet/ui/controls/materials/datepicker_control.rb +0 -55
  80. data/lib/ruflet_ui/ruflet/ui/controls/materials/daterangepicker_control.rb +0 -57
  81. data/lib/ruflet_ui/ruflet/ui/controls/materials/divider_control.rb +0 -36
  82. data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdown_control.rb +0 -99
  83. data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdownm2_control.rb +0 -119
  84. data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdownoption_control.rb +0 -35
  85. data/lib/ruflet_ui/ruflet/ui/controls/materials/expansionpanel_control.rb +0 -61
  86. data/lib/ruflet_ui/ruflet/ui/controls/materials/expansionpanellist_control.rb +0 -60
  87. data/lib/ruflet_ui/ruflet/ui/controls/materials/expansiontile_control.rb +0 -82
  88. data/lib/ruflet_ui/ruflet/ui/controls/materials/filledbutton_control.rb +0 -69
  89. data/lib/ruflet_ui/ruflet/ui/controls/materials/fillediconbutton_control.rb +0 -81
  90. data/lib/ruflet_ui/ruflet/ui/controls/materials/filledtonalbutton_control.rb +0 -69
  91. data/lib/ruflet_ui/ruflet/ui/controls/materials/filledtonaliconbutton_control.rb +0 -81
  92. data/lib/ruflet_ui/ruflet/ui/controls/materials/floatingactionbutton_control.rb +0 -73
  93. data/lib/ruflet_ui/ruflet/ui/controls/materials/iconbutton_control.rb +0 -81
  94. data/lib/ruflet_ui/ruflet/ui/controls/materials/listtile_control.rb +0 -87
  95. data/lib/ruflet_ui/ruflet/ui/controls/materials/menubar_control.rb +0 -33
  96. data/lib/ruflet_ui/ruflet/ui/controls/materials/menuitembutton_control.rb +0 -67
  97. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationbar_control.rb +0 -67
  98. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationbardestination_control.rb +0 -35
  99. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationdrawer_control.rb +0 -41
  100. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationdrawerdestination_control.rb +0 -34
  101. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationrail_control.rb +0 -70
  102. data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationraildestination_control.rb +0 -36
  103. data/lib/ruflet_ui/ruflet/ui/controls/materials/option_control.rb +0 -35
  104. data/lib/ruflet_ui/ruflet/ui/controls/materials/outlinedbutton_control.rb +0 -66
  105. data/lib/ruflet_ui/ruflet/ui/controls/materials/outlinediconbutton_control.rb +0 -81
  106. data/lib/ruflet_ui/ruflet/ui/controls/materials/popupmenubutton_control.rb +0 -74
  107. data/lib/ruflet_ui/ruflet/ui/controls/materials/popupmenuitem_control.rb +0 -38
  108. data/lib/ruflet_ui/ruflet/ui/controls/materials/progressbar_control.rb +0 -64
  109. data/lib/ruflet_ui/ruflet/ui/controls/materials/progressring_control.rb +0 -65
  110. data/lib/ruflet_ui/ruflet/ui/controls/materials/radio_control.rb +0 -70
  111. data/lib/ruflet_ui/ruflet/ui/controls/materials/radiogroup_control.rb +0 -33
  112. data/lib/ruflet_ui/ruflet/ui/controls/materials/rangeslider_control.rb +0 -67
  113. data/lib/ruflet_ui/ruflet/ui/controls/materials/reorderablelistview_control.rb +0 -80
  114. data/lib/ruflet_ui/ruflet/ui/controls/materials/ruflet_controls.rb +0 -252
  115. data/lib/ruflet_ui/ruflet/ui/controls/materials/searchbar_control.rb +0 -94
  116. data/lib/ruflet_ui/ruflet/ui/controls/materials/segment_control.rb +0 -33
  117. data/lib/ruflet_ui/ruflet/ui/controls/materials/segmentedbutton_control.rb +0 -63
  118. data/lib/ruflet_ui/ruflet/ui/controls/materials/selectionarea_control.rb +0 -32
  119. data/lib/ruflet_ui/ruflet/ui/controls/materials/slider_control.rb +0 -76
  120. data/lib/ruflet_ui/ruflet/ui/controls/materials/snackbar_control.rb +0 -51
  121. data/lib/ruflet_ui/ruflet/ui/controls/materials/submenubutton_control.rb +0 -66
  122. data/lib/ruflet_ui/ruflet/ui/controls/materials/switch_control.rb +0 -77
  123. data/lib/ruflet_ui/ruflet/ui/controls/materials/tab_control.rb +0 -35
  124. data/lib/ruflet_ui/ruflet/ui/controls/materials/tabbar_control.rb +0 -77
  125. data/lib/ruflet_ui/ruflet/ui/controls/materials/tabbarview_control.rb +0 -57
  126. data/lib/ruflet_ui/ruflet/ui/controls/materials/tabs_control.rb +0 -59
  127. data/lib/ruflet_ui/ruflet/ui/controls/materials/textbutton_control.rb +0 -66
  128. data/lib/ruflet_ui/ruflet/ui/controls/materials/textfield_control.rb +0 -148
  129. data/lib/ruflet_ui/ruflet/ui/controls/materials/timepicker_control.rb +0 -50
  130. data/lib/ruflet_ui/ruflet/ui/controls/materials/verticaldivider_control.rb +0 -36
  131. data/lib/ruflet_ui/ruflet/ui/controls/materials/video_control.rb +0 -39
  132. data/lib/ruflet_ui/ruflet/ui/controls/materials/webview_control.rb +0 -35
  133. data/lib/ruflet_ui/ruflet/ui/controls/ruflet_controls.rb +0 -447
  134. data/lib/ruflet_ui/ruflet/ui/controls/shared/animatedswitcher_control.rb +0 -59
  135. data/lib/ruflet_ui/ruflet/ui/controls/shared/arc_control.rb +0 -29
  136. data/lib/ruflet_ui/ruflet/ui/controls/shared/autofillgroup_control.rb +0 -32
  137. data/lib/ruflet_ui/ruflet/ui/controls/shared/basepage_control.rb +0 -44
  138. data/lib/ruflet_ui/ruflet/ui/controls/shared/browsercontextmenu_control.rb +0 -21
  139. data/lib/ruflet_ui/ruflet/ui/controls/shared/canvas_control.rb +0 -57
  140. data/lib/ruflet_ui/ruflet/ui/controls/shared/circle_control.rb +0 -25
  141. data/lib/ruflet_ui/ruflet/ui/controls/shared/color_control.rb +0 -23
  142. data/lib/ruflet_ui/ruflet/ui/controls/shared/column_control.rb +0 -67
  143. data/lib/ruflet_ui/ruflet/ui/controls/shared/dialogs_control.rb +0 -22
  144. data/lib/ruflet_ui/ruflet/ui/controls/shared/dismissible_control.rb +0 -66
  145. data/lib/ruflet_ui/ruflet/ui/controls/shared/draggable_control.rb +0 -39
  146. data/lib/ruflet_ui/ruflet/ui/controls/shared/dragtarget_control.rb +0 -36
  147. data/lib/ruflet_ui/ruflet/ui/controls/shared/fill_control.rb +0 -22
  148. data/lib/ruflet_ui/ruflet/ui/controls/shared/fletapp_control.rb +0 -62
  149. data/lib/ruflet_ui/ruflet/ui/controls/shared/gesturedetector_control.rb +0 -129
  150. data/lib/ruflet_ui/ruflet/ui/controls/shared/gridview_control.rb +0 -71
  151. data/lib/ruflet_ui/ruflet/ui/controls/shared/hero_control.rb +0 -56
  152. data/lib/ruflet_ui/ruflet/ui/controls/shared/icon_control.rb +0 -64
  153. data/lib/ruflet_ui/ruflet/ui/controls/shared/image_control.rb +0 -27
  154. data/lib/ruflet_ui/ruflet/ui/controls/shared/interactiveviewer_control.rb +0 -69
  155. data/lib/ruflet_ui/ruflet/ui/controls/shared/keyboardlistener_control.rb +0 -36
  156. data/lib/ruflet_ui/ruflet/ui/controls/shared/line_control.rb +0 -26
  157. data/lib/ruflet_ui/ruflet/ui/controls/shared/listview_control.rb +0 -71
  158. data/lib/ruflet_ui/ruflet/ui/controls/shared/markdown_control.rb +0 -70
  159. data/lib/ruflet_ui/ruflet/ui/controls/shared/mergesemantics_control.rb +0 -31
  160. data/lib/ruflet_ui/ruflet/ui/controls/shared/oval_control.rb +0 -26
  161. data/lib/ruflet_ui/ruflet/ui/controls/shared/overlay_control.rb +0 -22
  162. data/lib/ruflet_ui/ruflet/ui/controls/shared/page_control.rb +0 -74
  163. data/lib/ruflet_ui/ruflet/ui/controls/shared/pagelet_control.rb +0 -64
  164. data/lib/ruflet_ui/ruflet/ui/controls/shared/pageview_control.rb +0 -64
  165. data/lib/ruflet_ui/ruflet/ui/controls/shared/path_control.rb +0 -23
  166. data/lib/ruflet_ui/ruflet/ui/controls/shared/placeholder_control.rb +0 -58
  167. data/lib/ruflet_ui/ruflet/ui/controls/shared/points_control.rb +0 -24
  168. data/lib/ruflet_ui/ruflet/ui/controls/shared/rect_control.rb +0 -27
  169. data/lib/ruflet_ui/ruflet/ui/controls/shared/reorderabledraghandle_control.rb +0 -56
  170. data/lib/ruflet_ui/ruflet/ui/controls/shared/responsiverow_control.rb +0 -61
  171. data/lib/ruflet_ui/ruflet/ui/controls/shared/row_control.rb +0 -67
  172. data/lib/ruflet_ui/ruflet/ui/controls/shared/ruflet_controls.rb +0 -140
  173. data/lib/ruflet_ui/ruflet/ui/controls/shared/safearea_control.rb +0 -61
  174. data/lib/ruflet_ui/ruflet/ui/controls/shared/semantics_control.rb +0 -79
  175. data/lib/ruflet_ui/ruflet/ui/controls/shared/serviceregistry_control.rb +0 -21
  176. data/lib/ruflet_ui/ruflet/ui/controls/shared/shadermask_control.rb +0 -57
  177. data/lib/ruflet_ui/ruflet/ui/controls/shared/shadow_control.rb +0 -25
  178. data/lib/ruflet_ui/ruflet/ui/controls/shared/shimmer_control.rb +0 -60
  179. data/lib/ruflet_ui/ruflet/ui/controls/shared/stack_control.rb +0 -58
  180. data/lib/ruflet_ui/ruflet/ui/controls/shared/text_control.rb +0 -32
  181. data/lib/ruflet_ui/ruflet/ui/controls/shared/textspan_control.rb +0 -39
  182. data/lib/ruflet_ui/ruflet/ui/controls/shared/transparentpointer_control.rb +0 -54
  183. data/lib/ruflet_ui/ruflet/ui/controls/shared/view_control.rb +0 -77
  184. data/lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb +0 -56
  185. data/lib/ruflet_ui/ruflet/ui/controls/shared/windowdragarea_control.rb +0 -58
  186. data/lib/ruflet_ui/ruflet/ui/cupertino_control_factory.rb +0 -13
  187. data/lib/ruflet_ui/ruflet/ui/cupertino_control_methods.rb +0 -26
  188. data/lib/ruflet_ui/ruflet/ui/cupertino_control_registry.rb +0 -49
  189. data/lib/ruflet_ui/ruflet/ui/material_control_factory.rb +0 -13
  190. data/lib/ruflet_ui/ruflet/ui/material_control_methods.rb +0 -170
  191. data/lib/ruflet_ui/ruflet/ui/material_control_registry.rb +0 -168
  192. data/lib/ruflet_ui/ruflet/ui/services/ruflet/accelerometer_control.rb +0 -26
  193. data/lib/ruflet_ui/ruflet/ui/services/ruflet/barometer_control.rb +0 -26
  194. data/lib/ruflet_ui/ruflet/ui/services/ruflet/battery_control.rb +0 -22
  195. data/lib/ruflet_ui/ruflet/ui/services/ruflet/camera_control.rb +0 -58
  196. data/lib/ruflet_ui/ruflet/ui/services/ruflet/clipboard_control.rb +0 -21
  197. data/lib/ruflet_ui/ruflet/ui/services/ruflet/connectivity_control.rb +0 -22
  198. data/lib/ruflet_ui/ruflet/ui/services/ruflet/filepicker_control.rb +0 -23
  199. data/lib/ruflet_ui/ruflet/ui/services/ruflet/flashlight_control.rb +0 -22
  200. data/lib/ruflet_ui/ruflet/ui/services/ruflet/gyroscope_control.rb +0 -26
  201. data/lib/ruflet_ui/ruflet/ui/services/ruflet/hapticfeedback_control.rb +0 -21
  202. data/lib/ruflet_ui/ruflet/ui/services/ruflet/magnetometer_control.rb +0 -26
  203. data/lib/ruflet_ui/ruflet/ui/services/ruflet/screenbrightness_control.rb +0 -23
  204. data/lib/ruflet_ui/ruflet/ui/services/ruflet/screenshot_control.rb +0 -31
  205. data/lib/ruflet_ui/ruflet/ui/services/ruflet/semanticsservice_control.rb +0 -21
  206. data/lib/ruflet_ui/ruflet/ui/services/ruflet/shakedetector_control.rb +0 -26
  207. data/lib/ruflet_ui/ruflet/ui/services/ruflet/share_control.rb +0 -21
  208. data/lib/ruflet_ui/ruflet/ui/services/ruflet/sharedpreferences_control.rb +0 -21
  209. data/lib/ruflet_ui/ruflet/ui/services/ruflet/storagepaths_control.rb +0 -21
  210. data/lib/ruflet_ui/ruflet/ui/services/ruflet/urllauncher_control.rb +0 -21
  211. data/lib/ruflet_ui/ruflet/ui/services/ruflet/useraccelerometer_control.rb +0 -26
  212. data/lib/ruflet_ui/ruflet/ui/services/ruflet/wakelock_control.rb +0 -21
  213. data/lib/ruflet_ui/ruflet/ui/services/ruflet_services.rb +0 -66
  214. data/lib/ruflet_ui/ruflet/ui/shared_control_forwarders.rb +0 -129
  215. data/lib/ruflet_ui/ruflet/ui/widget_builder.rb +0 -64
  216. data/lib/ruflet_ui.rb +0 -124
@@ -1,112 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module CupertinoIconLookup
5
- module_function
6
-
7
- def codepoint_for(value)
8
- return value if value.is_a?(Integer)
9
-
10
- text = value.to_s.strip
11
- return nil if text.empty?
12
-
13
- numeric = parse_numeric(text)
14
- return numeric unless numeric.nil?
15
-
16
- icons = icon_map
17
- candidate_names(text).each do |name|
18
- codepoint = icons[name]
19
- return codepoint unless codepoint.nil?
20
- end
21
-
22
- nil
23
- end
24
-
25
- def fallback_codepoint
26
- icons = icon_map
27
- icons["QUESTION_CIRCLE"] || icons["QUESTION"] || 0
28
- end
29
-
30
- def icon_map
31
- @icon_map ||= load_icon_map
32
- end
33
-
34
- def candidate_names(name)
35
- raw = name.to_s.strip
36
- return [] if raw.empty?
37
-
38
- underscored = raw.gsub(/\s+|-/, "_").downcase
39
- stripped = underscored.sub(/\Acupertinoicons\./i, "")
40
- upper = stripped.upcase
41
-
42
- [raw, raw.upcase, underscored, stripped, upper].uniq
43
- end
44
-
45
- def parse_numeric(text)
46
- return text.to_i(16) if text.match?(/\A0x[0-9a-fA-F]+\z/)
47
- return text.to_i if text.match?(/\A\d+\z/)
48
-
49
- nil
50
- end
51
-
52
- def load_icon_map
53
- path = flet_cupertino_icons_json_file
54
- if path && File.file?(path)
55
- return parse_icons_json(path)
56
- end
57
-
58
- dart_list = flet_cupertino_icons_dart_file
59
- if dart_list && File.file?(dart_list)
60
- return parse_flet_icons_dart(dart_list, icon_prefix: "CupertinoIcons.", set_id: 2)
61
- end
62
-
63
- {}
64
- end
65
-
66
- def flet_cupertino_icons_json_file
67
- candidate_from_flet_checkout("sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_icons.json")
68
- end
69
-
70
- def flet_cupertino_icons_dart_file
71
- candidate_from_flet_checkout("packages/flet/lib/src/utils/cupertino_icons.dart")
72
- end
73
-
74
- def candidate_from_flet_checkout(relative_path)
75
- flet_root = File.join(Dir.home, ".pub-cache", "git")
76
- return nil unless Dir.exist?(flet_root)
77
-
78
- entries = Dir.children(flet_root).select { |e| e.start_with?("flet-") }
79
- return nil if entries.empty?
80
-
81
- candidates = entries.map { |e| File.join(flet_root, e, relative_path) }.select { |p| File.file?(p) }
82
- return nil if candidates.empty?
83
-
84
- candidates.max_by { |p| File.mtime(p) rescue Time.at(0) }
85
- end
86
-
87
- def parse_icons_json(path)
88
- require "json"
89
- parsed = JSON.parse(File.read(path))
90
- parsed.each_with_object({}) do |(k, v), out|
91
- out[k.to_s.upcase] = v.to_i
92
- end
93
- end
94
-
95
- def parse_flet_icons_dart(path, icon_prefix:, set_id:)
96
- mapping = {}
97
- index = 0
98
- pattern = /^\s*#{Regexp.escape(icon_prefix)}([a-zA-Z0-9_]+),/
99
-
100
- File.foreach(path) do |line|
101
- next unless (match = line.match(pattern))
102
-
103
- encoded = (set_id << 16) | index
104
- mapping[match[1].upcase] = encoded
105
- index += 1
106
- end
107
-
108
- mapping
109
- end
110
-
111
- end
112
- end
@@ -1,112 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ruflet
4
- module MaterialIconLookup
5
- module_function
6
-
7
- def codepoint_for(value)
8
- return value if value.is_a?(Integer)
9
-
10
- text = value.to_s.strip
11
- return nil if text.empty?
12
-
13
- numeric = parse_numeric(text)
14
- return numeric unless numeric.nil?
15
-
16
- icons = icon_map
17
- candidate_names(text).each do |name|
18
- codepoint = icons[name]
19
- return codepoint unless codepoint.nil?
20
- end
21
-
22
- nil
23
- end
24
-
25
- def fallback_codepoint
26
- icons = icon_map
27
- icons["HELP_OUTLINE"] || icons["HELP"] || icons["QUESTION_MARK"] || 0
28
- end
29
-
30
- def icon_map
31
- @icon_map ||= load_icon_map
32
- end
33
-
34
- def candidate_names(name)
35
- raw = name.to_s.strip
36
- return [] if raw.empty?
37
-
38
- underscored = raw.gsub(/\s+|-/, "_").downcase
39
- stripped = underscored.sub(/\Aicons\./, "")
40
- upper = stripped.upcase
41
-
42
- [raw, raw.upcase, underscored, stripped, upper].uniq
43
- end
44
-
45
- def parse_numeric(text)
46
- return text.to_i(16) if text.match?(/\A0x[0-9a-fA-F]+\z/)
47
- return text.to_i if text.match?(/\A\d+\z/)
48
-
49
- nil
50
- end
51
-
52
- def load_icon_map
53
- path = flet_material_icons_json_file
54
- if path && File.file?(path)
55
- return parse_icons_json(path)
56
- end
57
-
58
- dart_list = flet_material_icons_dart_file
59
- if dart_list && File.file?(dart_list)
60
- return parse_flet_icons_dart(dart_list, icon_prefix: "Icons.", set_id: 1)
61
- end
62
-
63
- {}
64
- end
65
-
66
- def flet_material_icons_json_file
67
- candidate_from_flet_checkout("sdk/python/packages/flet/src/flet/controls/material/icons.json")
68
- end
69
-
70
- def flet_material_icons_dart_file
71
- candidate_from_flet_checkout("packages/flet/lib/src/utils/material_icons.dart")
72
- end
73
-
74
- def candidate_from_flet_checkout(relative_path)
75
- flet_root = File.join(Dir.home, ".pub-cache", "git")
76
- return nil unless Dir.exist?(flet_root)
77
-
78
- entries = Dir.children(flet_root).select { |e| e.start_with?("flet-") }
79
- return nil if entries.empty?
80
-
81
- candidates = entries.map { |e| File.join(flet_root, e, relative_path) }.select { |p| File.file?(p) }
82
- return nil if candidates.empty?
83
-
84
- candidates.max_by { |p| File.mtime(p) rescue Time.at(0) }
85
- end
86
-
87
- def parse_icons_json(path)
88
- require "json"
89
- parsed = JSON.parse(File.read(path))
90
- parsed.each_with_object({}) do |(k, v), out|
91
- out[k.to_s.upcase] = v.to_i
92
- end
93
- end
94
-
95
- def parse_flet_icons_dart(path, icon_prefix:, set_id:)
96
- mapping = {}
97
- index = 0
98
- pattern = /^\s*#{Regexp.escape(icon_prefix)}([a-zA-Z0-9_]+),/
99
-
100
- File.foreach(path) do |line|
101
- next unless (match = line.match(pattern))
102
-
103
- encoded = (set_id << 16) | index
104
- mapping[match[1].upcase] = encoded
105
- index += 1
106
- end
107
-
108
- mapping
109
- end
110
-
111
- end
112
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../icon_data"
4
- require_relative "material_icon_lookup"
5
-
6
- module Ruflet
7
- module MaterialIcons
8
- module_function
9
-
10
- ICONS = begin
11
- source = Ruflet::MaterialIconLookup.icon_map
12
- if source.empty?
13
- {
14
- HOME: "home",
15
- SETTINGS: "settings",
16
- SEARCH: "search",
17
- ADD: "add",
18
- CLOSE: "close"
19
- }
20
- else
21
- source.keys.each_with_object({}) do |name, result|
22
- text = name.to_s.gsub(/[^a-zA-Z0-9]/, "_").gsub(/_+/, "_").sub(/\A_/, "").sub(/_\z/, "")
23
- text = "ICON_#{text}" if text.match?(/\A\d/)
24
- result[text.upcase.to_sym] = name
25
- end
26
- end.freeze
27
- end
28
-
29
- ICONS.each do |const_name, icon_name|
30
- next if const_defined?(const_name, false)
31
-
32
- const_set(const_name, Ruflet::IconData.new(icon_name))
33
- end
34
-
35
- def [](name)
36
- key = name.to_s.upcase.to_sym
37
- return const_get(key) if const_defined?(key, false)
38
-
39
- Ruflet::IconData.new(name.to_s)
40
- end
41
-
42
- def all
43
- ICONS.keys.map { |k| const_get(k) }
44
- end
45
-
46
- def random
47
- all.sample || Ruflet::IconData.new(Ruflet::MaterialIconLookup.fallback_codepoint)
48
- end
49
-
50
- def names
51
- ICONS.values
52
- end
53
-
54
- end
55
- end