atome 0.4.7.0 → 0.5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +7 -4
  4. data/Rakefile +22 -13
  5. data/app_builder_helpers/Rakefile +63 -21
  6. data/exe/atome +91 -45
  7. data/lib/atome/atome_meta_engine.rb +132 -0
  8. data/lib/atome/extensions/atome.rb +41 -0
  9. data/lib/atome/{kernel/helpers → extensions}/geolocation.rb +0 -0
  10. data/lib/atome/{kernel/helpers → extensions}/ping.rb +0 -0
  11. data/lib/atome/{kernel/helpers → extensions}/sha.rb +3 -1
  12. data/lib/atome/genesis/generators/atome.rb +13 -0
  13. data/lib/atome/{renderers/headless/properties/generator.rb → genesis/generators/communication.rb} +2 -0
  14. data/lib/atome/genesis/generators/effect.rb +6 -0
  15. data/lib/atome/genesis/generators/event.rb +5 -0
  16. data/lib/atome/genesis/generators/geometry.rb +6 -0
  17. data/lib/atome/genesis/generators/identity.rb +15 -0
  18. data/lib/atome/genesis/generators/material.rb +10 -0
  19. data/lib/atome/genesis/generators/spatial.rb +12 -0
  20. data/lib/atome/genesis/generators/utility.rb +14 -0
  21. data/lib/atome/genesis/genesis.rb +51 -0
  22. data/lib/atome/genesis/sparkle.rb +58 -0
  23. data/lib/atome/helpers/color_helper/color/cmyk.rb +263 -0
  24. data/lib/atome/helpers/color_helper/color/css.rb +7 -0
  25. data/lib/atome/helpers/color_helper/color/grayscale.rb +197 -0
  26. data/lib/atome/helpers/color_helper/color/hsl.rb +240 -0
  27. data/lib/atome/helpers/color_helper/color/palette/adobecolor.rb +260 -0
  28. data/lib/atome/helpers/color_helper/color/palette/gimp.rb +104 -0
  29. data/lib/atome/helpers/color_helper/color/palette/monocontrast.rb +164 -0
  30. data/lib/atome/helpers/color_helper/color/palette.rb +4 -0
  31. data/lib/atome/helpers/color_helper/color/rgb/colors.rb +167 -0
  32. data/lib/atome/helpers/color_helper/color/rgb/contrast.rb +57 -0
  33. data/lib/atome/helpers/color_helper/color/rgb/metallic.rb +28 -0
  34. data/lib/atome/helpers/color_helper/color/rgb.rb +715 -0
  35. data/lib/atome/helpers/color_helper/color/yiq.rb +62 -0
  36. data/lib/atome/helpers/color_helper/color.rb +196 -0
  37. data/lib/atome/helpers/essentials.rb +42 -0
  38. data/lib/atome/helpers/sanitizer.rb +42 -0
  39. data/lib/atome/helpers/utilities.rb +57 -0
  40. data/lib/atome/kernel/essentials.rb +30 -0
  41. data/lib/atome/kernel/universe.rb +75 -26
  42. data/lib/atome/presets/atome.rb +66 -0
  43. data/lib/atome/processors/utilities.rb +10 -0
  44. data/lib/atome/renderers/browser/atome.rb +95 -0
  45. data/lib/atome/renderers/browser/browser.rb +158 -0
  46. data/lib/atome/renderers/browser/effect.rb +23 -0
  47. data/lib/atome/renderers/browser/event.rb +9 -0
  48. data/lib/atome/renderers/browser/geometry.rb +11 -0
  49. data/lib/atome/renderers/browser/identity.rb +20 -0
  50. data/lib/atome/renderers/browser/material.rb +43 -0
  51. data/lib/atome/renderers/{opal → browser}/opal_browser.rb +0 -2
  52. data/lib/atome/renderers/browser/spatial.rb +22 -0
  53. data/lib/atome/renderers/browser/utility.rb +26 -0
  54. data/lib/atome/renderers/html/atome.rb +47 -0
  55. data/lib/atome/renderers/html/effect.rb +19 -0
  56. data/lib/atome/renderers/html/event.rb +9 -0
  57. data/lib/atome/renderers/html/geometry.rb +11 -0
  58. data/lib/atome/renderers/html/html.rb +42 -0
  59. data/lib/atome/renderers/html/identity.rb +14 -0
  60. data/lib/atome/renderers/html/opal_browser.rb +6 -0
  61. data/lib/atome/renderers/html/spatial.rb +28 -0
  62. data/lib/atome/renderers/html/utility.rb +15 -0
  63. data/lib/atome/renderers/opal/atome_opal_extensions.rb +1 -1
  64. data/lib/atome/renderers/opal/extensions/atome.rb +29 -0
  65. data/lib/atome/renderers/opal/opal.rb +4 -0
  66. data/lib/atome/version.rb +1 -2
  67. data/lib/atome.rb +22 -45
  68. data/vendor/assets/application/index.rb +3 -1
  69. data/vendor/assets/application/required_example.rb +1 -0
  70. data/{lib/atome/renderers/headless/headless.rb → vendor/assets/aui.rb} +0 -0
  71. data/vendor/assets/build/css/style.css +51 -0
  72. data/vendor/assets/build/index.html +10 -7
  73. data/vendor/assets/build/js/atome/atome.js +61 -61
  74. data/{lib/atome/renderers/server/server.rb → vendor/assets/build/medias/rubies/examples/_animation.rb} +0 -0
  75. data/vendor/assets/build/medias/rubies/examples/_code.rb +12 -0
  76. data/vendor/assets/build/medias/rubies/examples/_id.rb +14 -0
  77. data/vendor/assets/build/medias/rubies/examples/_link.rb +17 -0
  78. data/vendor/assets/build/medias/rubies/examples/{on.rb → _on.rb} +3 -1
  79. data/vendor/assets/build/medias/rubies/examples/{read.rb → _read.rb} +2 -0
  80. data/vendor/assets/build/medias/rubies/examples/_refresh.rb +9 -0
  81. data/vendor/assets/build/medias/rubies/examples/atome.new.rb +13 -10
  82. data/vendor/assets/build/medias/rubies/examples/auto_height.rb +2 -0
  83. data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
  84. data/vendor/assets/build/medias/rubies/examples/blur.rb +4 -0
  85. data/vendor/assets/build/medias/rubies/examples/bottom.rb +3 -1
  86. data/vendor/assets/build/medias/rubies/examples/box.rb +15 -8
  87. data/vendor/assets/build/medias/rubies/examples/circle.rb +2 -0
  88. data/vendor/assets/build/medias/rubies/examples/clear.rb +2 -1
  89. data/vendor/assets/build/medias/rubies/examples/color.rb +47 -8
  90. data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +2 -0
  91. data/vendor/assets/build/medias/rubies/examples/delete.rb +7 -0
  92. data/vendor/assets/build/medias/rubies/examples/drag.rb +1 -0
  93. data/vendor/assets/build/medias/rubies/examples/element.rb +6 -0
  94. data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +3 -1
  95. data/vendor/assets/build/medias/rubies/examples/grab.rb +2 -0
  96. data/vendor/assets/build/medias/rubies/examples/height.rb +2 -0
  97. data/vendor/assets/build/medias/rubies/examples/image.rb +6 -2
  98. data/vendor/assets/build/medias/rubies/examples/left.rb +2 -0
  99. data/vendor/assets/build/medias/rubies/examples/monitoring.rb +20 -0
  100. data/vendor/assets/build/medias/rubies/examples/parent.rb +7 -5
  101. data/vendor/assets/build/medias/rubies/examples/repeat.rb +2 -0
  102. data/vendor/assets/build/medias/rubies/examples/right.rb +3 -1
  103. data/vendor/assets/build/medias/rubies/examples/schedule.rb +0 -4
  104. data/vendor/assets/build/medias/rubies/examples/shadow.rb +30 -0
  105. data/vendor/assets/build/medias/rubies/examples/text.rb +21 -7
  106. data/vendor/assets/build/medias/rubies/examples/touch.rb +2 -0
  107. data/vendor/assets/build/medias/rubies/examples/video.rb +2 -2
  108. data/vendor/assets/build/medias/rubies/examples/web.rb +2 -2
  109. data/vendor/assets/server/atome_server.rb +3 -5
  110. metadata +74 -174
  111. data/lib/atome/atome_native_extensions.rb +0 -5
  112. data/lib/atome/extensions/helper.rb +0 -112
  113. data/lib/atome/kernel/atome.rb +0 -99
  114. data/lib/atome/kernel/generators/generator.rb +0 -517
  115. data/lib/atome/kernel/generators/genesis.rb +0 -277
  116. data/lib/atome/kernel/generators/sanitizer.rb +0 -73
  117. data/lib/atome/kernel/generators/shapes.rb +0 -55
  118. data/lib/atome/kernel/helpers/internal_methods.rb +0 -173
  119. data/lib/atome/kernel/helpers/utilities.rb +0 -39
  120. data/lib/atome/kernel/properties/essential.rb +0 -77
  121. data/lib/atome/kernel/sparkle.rb +0 -38
  122. data/lib/atome/renderers/opal/properties/generator.rb +0 -1
  123. data/lib/atome/renderers/renderer.rb +0 -13
  124. data/lib/atome/renderers/server/properties/generator.rb +0 -9
  125. data/vendor/assets/build/js/application.js +0 -0
  126. data/vendor/assets/build/medias/audios/guitar.wav +0 -0
  127. data/vendor/assets/build/medias/images/beach.jpg +0 -0
  128. data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +0 -111
  129. data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +0 -12
  130. data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +0 -26
  131. data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +0 -27
  132. data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +0 -92
  133. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +0 -20
  134. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +0 -4
  135. data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +0 -17
  136. data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +0 -13
  137. data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +0 -22
  138. data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +0 -6
  139. data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +0 -15
  140. data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +0 -9
  141. data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +0 -9
  142. data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +0 -5
  143. data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +0 -57
  144. data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +0 -21
  145. data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +0 -18
  146. data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +0 -21
  147. data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +0 -11
  148. data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +0 -7
  149. data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +0 -26
  150. data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +0 -115
  151. data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +0 -14
  152. data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +0 -35
  153. data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +0 -14
  154. data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +0 -3
  155. data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +0 -11
  156. data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +0 -29
  157. data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +0 -12
  158. data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +0 -19
  159. data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +0 -10
  160. data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +0 -23
  161. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +0 -61
  162. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +0 -1
  163. data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +0 -23
  164. data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +0 -11
  165. data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +0 -6
  166. data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +0 -9
  167. data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +0 -23
  168. data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +0 -10
  169. data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +0 -37
  170. data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +0 -44
  171. data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +0 -28
  172. data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +0 -7
  173. data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +0 -24
  174. data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +0 -21
  175. data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +0 -64
  176. data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +0 -7
  177. data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +0 -10
  178. data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +0 -54
  179. data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +0 -13
  180. data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +0 -10
  181. data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +0 -19
  182. data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +0 -69
  183. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +0 -4
  184. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +0 -4
  185. data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +0 -47
  186. data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +0 -9
  187. data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +0 -6
  188. data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +0 -15
  189. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +0 -24
  190. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +0 -41
  191. data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +0 -41
  192. data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +0 -8
  193. data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +0 -37
  194. data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +0 -47
  195. data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +0 -7
  196. data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +0 -26
  197. data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +0 -9
  198. data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +0 -13
  199. data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +0 -12
  200. data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +0 -15
  201. data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +0 -22
  202. data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +0 -14
  203. data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +0 -19
  204. data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +0 -15
  205. data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +0 -7
  206. data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +0 -7
  207. data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +0 -24
  208. data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +0 -6
  209. data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +0 -7
  210. data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +0 -9
  211. data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +0 -15
  212. data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +0 -17
  213. data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +0 -31
  214. data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +0 -17
  215. data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +0 -19
  216. data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +0 -3
  217. data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +0 -11
  218. data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +0 -30
  219. data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +0 -1
  220. data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +0 -3
  221. data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +0 -41
  222. data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +0 -39
  223. data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +0 -9
  224. data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +0 -32
  225. data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +0 -6
  226. data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +0 -30
  227. data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +0 -7
  228. data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +0 -109
  229. data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +0 -5
  230. data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +0 -5
  231. data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +0 -6
  232. data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +0 -3
  233. data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +0 -18
  234. data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +0 -33
  235. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +0 -33
  236. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +0 -22
  237. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +0 -23
  238. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +0 -27
  239. data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +0 -26
  240. data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +0 -27
  241. data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +0 -46
  242. data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +0 -29
  243. data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +0 -17
  244. data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +0 -23
  245. data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +0 -5
  246. data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +0 -21
  247. data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +0 -10
  248. data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +0 -14
  249. data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +0 -16
  250. data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +0 -10
  251. data/vendor/assets/build/medias/rubies/examples/animation.rb +0 -0
  252. data/vendor/assets/build/medias/rubies/examples/code.rb +0 -5
  253. data/vendor/assets/build/medias/rubies/examples/link.rb +0 -11
  254. data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
  255. data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
  256. data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
  257. data/vendor/assets/build/medias/videos/starwars.mov +0 -0
  258. data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c05926a443ccc93706250a217fe46a42d571f0c97cb9549fd445036b8cb0ff93
4
- data.tar.gz: f9c922aaab0da02ff843af4f721f7370b538d39a4afd238338e9a6ad7071c34d
3
+ metadata.gz: 62c07cd1f5c087a9dfe4e36b06cf4422e614657aa98cfee2e419f794e51f2eeb
4
+ data.tar.gz: b2d2eb46ba7599080b0f2d515a62659696375514579ce007721d8a012de15e18
5
5
  SHA512:
6
- metadata.gz: 6067a7cc1206d75a5245c3098976993745d17bf296ae6931ed3a3eda13d885389c89e7f47af061a506092866ec7a637e4e848089caefc74595693f90b18dd46d
7
- data.tar.gz: 02a14025506b36a050d885fb5b09be305f011a3f2a067561994608a7e77fa236d18a62f3d92293b311459418fd384645b9f3447fc462881da2c77e3db3e27c09
6
+ metadata.gz: ddd934acb39f162de762e634e3cc7f81cee597ccdba358cef0b294ace259b4766a9257c84704232447a85bf36cb4bbd331db9d486d979b5319ff4bdf6343c210
7
+ data.tar.gz: 38ce69c494f2b55e667329e72c2e87bf80ac1b8a8787cea5d3c378f7c46cd7814fbfd6b3ac868d428deeaa07b594cb64ac1482f23817122e3a236f8c7cc3bc2f
data/Gemfile CHANGED
@@ -8,5 +8,5 @@ gemspec
8
8
  gem "rake", "~> 13.0"
9
9
 
10
10
  gem "minitest", "~> 5.0"
11
- gem 'rubocop', group: 'development'
12
11
 
12
+ gem 'rubocop', group: 'development'
data/README.md CHANGED
@@ -2,9 +2,10 @@ Atome
2
2
  -
3
3
 
4
4
  <img src="./documentation/images/3.png" width="666" />
5
- -
6
5
 
7
6
 
7
+ Atome is powerful engine dedicated to the creation of cross-platform applications, web application and digital medias.
8
+
8
9
  Cross platform ecosystem
9
10
  -
10
11
 
@@ -47,7 +48,7 @@ Open source technology included
47
48
 
48
49
  [comment]: <> (<img src="https://github.com/atomecorp/atome/raw/master/documentation/images/logos/freebsd.png" width="100" />)
49
50
 
50
- - Tauri : Build smaller, faster, and more secure desktop applications with a web frontend.(https://github.com/tauri-apps/tauri)
51
+ [//]: # (- Tauri : Build smaller, faster, and more secure desktop applications with a web frontend.&#40;https://github.com/tauri-apps/tauri&#41;)
51
52
 
52
53
  [comment]: <> (<img src="https://avatars.githubusercontent.com/u/54536011?s=200&v=4" width="100" />)
53
54
 
@@ -58,7 +59,8 @@ Open source technology included
58
59
  <img src="./documentation/images/logos/roda.svg" width="100" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
59
60
  <img src="./documentation/images/logos/freebsd.png" width="100" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
60
61
  <img src="./documentation/images/logos/puma.png" width="100" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
61
- <img src="./documentation/images/logos/tauri.png" width="100" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
62
+
63
+ [//]: # (<img src="./documentation/images/logos/tauri.png" width="100" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)
62
64
 
63
65
  ## Installation
64
66
 
@@ -78,7 +80,8 @@ If bundler is not being used to manage dependencies, install the gem by executin
78
80
 
79
81
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
80
82
 
81
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
83
+ To install this gem onto your local machine, run `bundle exec rake install`.
84
+ To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
82
85
 
83
86
  ## Contributing
84
87
 
data/Rakefile CHANGED
@@ -1,21 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- #old code below
4
- # require "bundler/gem_tasks"
5
- # require "rake/testtask"
6
- #
7
- # Rake::TestTask.new(:test) do |t|
8
- # t.libs << "test"
9
- # t.libs << "lib"
10
- # t.test_files = FileList["test/**/test_*.rb"]
11
- # end
12
- #
13
- # task default: :test
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
14
5
 
15
- task :test do
16
- FileUtils.copy_entry('vendor/assets/build/js/atome/', 'test/test_app/build/js/atome/')
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << "test"
8
+ t.libs << "lib"
9
+ t.test_files = FileList["test/**/test_*.rb"]
10
+ end
11
+
12
+ task default: :test
13
+
14
+ task :test_browser do
15
+ FileUtils.copy_entry('vendor/assets/build/js/', 'test/test_app/build/js/')
16
+ FileUtils.copy_entry('vendor/assets/build/css/', 'test/test_app/build/css/')
17
+ FileUtils.copy_entry('vendor/assets/build/css/', 'test/test_app/build/medias/')
17
18
  `gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
18
19
  `cd test/test_app;atome update;atome run guard`
19
20
  end
20
21
 
22
+ task :test_server do
23
+ FileUtils.copy_entry('vendor/assets/build/js/', 'test/test_app/build/js/')
24
+ FileUtils.copy_entry('vendor/assets/build/css/', 'test/test_app/build/css/')
25
+ FileUtils.copy_entry('vendor/assets/build/css/', 'test/test_app/build/medias/')
26
+ `gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
27
+ `cd test/test_app;atome update;atome run server`
28
+ end
29
+
21
30
  task default: :test
@@ -12,7 +12,11 @@ require 'uglifier'
12
12
  Opal.append_path 'app'
13
13
 
14
14
  def build_browser_content
15
- Opal::Builder.build('../lib/atome/renderers/opal/opal_browser.rb').to_s
15
+ Opal::Builder.build('../lib/atome/renderers/browser/opal_browser.rb').to_s
16
+ end
17
+
18
+ def build_opal_content
19
+ Opal::Builder.build('../lib/atome/renderers/opal/opal.rb').to_s
16
20
  end
17
21
 
18
22
  def build_opal_browser(user_project_path)
@@ -28,10 +32,20 @@ def build_opal_browser(user_project_path)
28
32
  end
29
33
  end
30
34
 
31
- def build_aui(user_project_path)
32
- # FIXME: for now production can't be change when updating or force create, we should add a production method that
33
- # uglified all libs on demand
35
+ def build_opal(user_project_path)
36
+ opal_directory = "#{user_project_path}/build/js/opal"
37
+ opal_js = "#{opal_directory}/opal.js"
38
+ Dir.mkdir(opal_directory) unless File.directory?(opal_directory)
39
+
40
+ File.new opal_js, 'w'
41
+ browser_content = build_opal_content
34
42
 
43
+ File.open(opal_js, 'w') do |f|
44
+ f.puts browser_content
45
+ end
46
+ end
47
+
48
+ def build_aui(user_project_path)
35
49
  # now we add an uniq aui to the app
36
50
  aui_js = "#{user_project_path}/build/js/aui.js"
37
51
  File.new aui_js, 'w'
@@ -113,6 +127,15 @@ def minimize_browser(user_project_path)
113
127
  end
114
128
  end
115
129
 
130
+ def minimize_opal(user_project_path)
131
+ opal_js = "#{user_project_path}/build/js/opal/opal.js"
132
+ opal_content = File.open(opal_js).read
133
+ opal_content = Uglifier.new.compile(opal_content)
134
+ File.open(opal_js, 'w') do |f|
135
+ f.puts opal_content
136
+ end
137
+ end
138
+
116
139
  def minimize_parser(user_project_path)
117
140
  parser_js = "#{user_project_path}/build/js/opal/opal_parser.js"
118
141
  parser_content = File.open(parser_js).read
@@ -122,8 +145,17 @@ def minimize_parser(user_project_path)
122
145
  end
123
146
  end
124
147
 
125
- def minimize_atome_lib(user_project_path)
126
- atome_js = "#{user_project_path}/build/js/atome/kernel.js"
148
+ def minimize_kernel(user_project_path)
149
+ kernel_js = "#{user_project_path}/build/js/atome/kernel.js"
150
+ kernel_content = File.open(kernel_js).read
151
+ kernel_content = Uglifier.new.compile(kernel_content)
152
+ File.open(kernel_js, 'w') do |f|
153
+ f.puts kernel_content
154
+ end
155
+ end
156
+
157
+ def minimize_atome(user_project_path)
158
+ atome_js = "#{user_project_path}/build/js/atome/atome.js"
127
159
  atome_content = File.open(atome_js).read
128
160
  atome_content = Uglifier.new.compile(atome_content)
129
161
  File.open(atome_js, 'w') do |f|
@@ -131,14 +163,14 @@ def minimize_atome_lib(user_project_path)
131
163
  end
132
164
  end
133
165
 
134
- def minimize_sparkle(user_project_path)
135
- opal_sparkle_js = "#{user_project_path}/build/js/opal/opal_sparkle.js"
136
- opal_sparkle_content = File.open(opal_sparkle_js).read
137
- opal_sparkle_content = Uglifier.new.compile(opal_sparkle_content)
138
- File.open(opal_sparkle_js, 'w') do |f|
139
- f.puts opal_sparkle_content
140
- end
141
- end
166
+ # def minimize_sparkle(user_project_path)
167
+ # opal_sparkle_js = "#{user_project_path}/build/js/opal/opal_sparkle.js"
168
+ # opal_sparkle_content = File.open(opal_sparkle_js).read
169
+ # opal_sparkle_content = Uglifier.new.compile(opal_sparkle_content)
170
+ # File.open(opal_sparkle_js, 'w') do |f|
171
+ # f.puts opal_sparkle_content
172
+ # end
173
+ # end
142
174
 
143
175
  def minimize_opal_extensions(user_project_path)
144
176
  atome_opal_extensions_js = "#{user_project_path}/build/js/opal/atome_opal_extensions.js"
@@ -152,19 +184,24 @@ end
152
184
  def minimize_libraries(user_project_path)
153
185
  # minimizing aui
154
186
  minimize_aui(user_project_path)
187
+ # minimizing opal
188
+ minimize_opal(user_project_path)
155
189
  # minimizing opal_browser
156
190
  minimize_browser(user_project_path)
157
191
  # minimizing opal_parser
158
192
  minimize_parser(user_project_path)
159
193
  # minimizing atome_lib
160
- minimize_atome_lib(user_project_path)
161
- # minimizing atome_lib
162
- minimize_sparkle(user_project_path)
194
+ minimize_kernel(user_project_path)
195
+ # minimizing atome
196
+ minimize_atome(user_project_path)
163
197
  # minimizing atome_lib
164
198
  minimize_opal_extensions(user_project_path)
199
+ # minimizing application
200
+ minimize_application(user_project_path)
201
+ # minimize(user_project_path) if production == 'production'
165
202
  end
166
203
 
167
- def minimize_user_code(user_project_path)
204
+ def minimize_application(user_project_path)
168
205
  # minimizing user codes
169
206
  application_js = "#{user_project_path}/build/js/application.js"
170
207
  application_content = File.open(application_js).read
@@ -176,10 +213,9 @@ end
176
213
 
177
214
  task :build_user_code, :user_project_path, :production do |_t, args|
178
215
  user_project_path = args[:user_project_path]
179
- production = args[:production]
180
216
  source_code = "#{user_project_path}/application/index.rb"
181
217
  build_user_code(user_project_path, source_code)
182
- minimize_user_code(user_project_path) if production == 'production'
218
+ minimize_application(user_project_path)
183
219
  end
184
220
 
185
221
  task :system_builder, :user_project_path, :production do |_t, args|
@@ -200,11 +236,17 @@ task :system_updater, :user_project_path, :production do |_t, args|
200
236
  build_common_libraries(user_project_path, production)
201
237
  end
202
238
 
239
+ task :minimizer, :user_project_path do |_t, args|
240
+ user_project_path = args[:user_project_path]
241
+ minimize(user_project_path)
242
+ end
243
+
203
244
  task default: :run
204
245
 
205
246
  def build_libraries(user_project_path, gem_location)
206
247
  build_aui(user_project_path)
207
248
  build_atome_kernel(user_project_path, gem_location)
249
+ build_opal(user_project_path)
208
250
  build_opal_browser(user_project_path)
209
251
  build_opal_parser(user_project_path)
210
252
  build_opal_extensions(user_project_path, gem_location)
@@ -212,7 +254,7 @@ end
212
254
 
213
255
  def minimize(user_project_path)
214
256
  minimize_libraries(user_project_path)
215
- minimize_user_code(user_project_path)
257
+ # minimize_user_code(user_project_path)
216
258
  end
217
259
 
218
260
  def build_common_libraries(user_project_path, production)
data/exe/atome CHANGED
@@ -5,18 +5,28 @@ require 'fileutils'
5
5
  require 'securerandom'
6
6
  require 'digest/sha2'
7
7
  # below are the methods needed for atome creation and run
8
+ def test_path(project_name, arg_name, path)
9
+ if project_name != 'run' && project_name != 'guard' && !project_name.nil? &&
10
+ project_name != 'port:' && project_name != 'server' && project_name != 'build'
11
+ # the line below remove the optional parameters from the project name
12
+ project_name = project_name.sub(ARGV[ARGV.find_index(arg_name) + 1], '')
13
+ "#{path}/#{project_name}"
14
+ end
15
+ path
16
+ end
8
17
 
9
18
  def found_path(arg_name)
10
19
  project_name = ARGV[ARGV.find_index(arg_name) + 1]
11
20
  path = `pwd`.chomp
12
- if project_name != 'run' && project_name != 'guard' && !project_name.nil? &&
13
- project_name != 'port:' && project_name != 'server' && project_name != 'build'
14
- path = "#{path}/#{project_name}"
21
+ if ARGV[ARGV.find_index(arg_name) + 1] == 'production'
22
+ app_builder_helpers = File.join(File.dirname(__FILE__), '../app_builder_helpers')
23
+ `cd #{app_builder_helpers};rake minimizer[#{path}]`
15
24
  end
16
- path
25
+ path = `pwd`.chomp
26
+ test_path(project_name, arg_name, path)
17
27
  end
18
28
 
19
- def delete_all(dir, user_application = false)
29
+ def delete_all(dir, user_application = nil)
20
30
  Dir.foreach(dir) do |e|
21
31
  next if %w[. ..].include? e
22
32
 
@@ -37,10 +47,27 @@ def build_app(path, production)
37
47
  `cd #{app_builder_helpers};rake build_user_code[#{path},#{production}]`
38
48
  end
39
49
 
40
- def create_application(project_name, force, production)
41
- # print "directory already exist, use force to overwrite"
50
+ def content_to_add(coded_id)
51
+ <<~STR
52
+ class Atome
53
+ def self.aui
54
+ "#{coded_id}"
55
+ end
56
+ end
57
+ STR
58
+ end
59
+
60
+ def app_creation(content_to_add, current_path, project_name)
61
+ added_content = content_to_add
62
+ file_location = "#{current_path}/#{project_name}/aui.rb"
63
+ File.new file_location, 'w'
64
+ File.open(file_location, 'w') do |f|
65
+ f.puts added_content
66
+ end
67
+ end
68
+
69
+ def test_app_creation(project_name, current_path, force)
42
70
  new_app_creation = false
43
- current_path = `pwd`.chomp
44
71
  unless force && File.directory?(project_name)
45
72
  new_app_creation = true
46
73
  Dir.mkdir project_name
@@ -48,20 +75,12 @@ def create_application(project_name, force, production)
48
75
  uuid = SecureRandom.uuid
49
76
  sha = Digest::SHA256.hexdigest(uuid)
50
77
  coded_id = sha.gsub('-', '_')
51
- added_content = <<~STR
52
- class Atome
53
- def self.aui
54
- "#{coded_id}"
55
- end
56
- end
57
- STR
58
- file_location = "#{current_path}/#{project_name}/aui.rb"
59
- File.new file_location, 'w'
60
- File.open(file_location, 'w') do |f|
61
- f.puts added_content
62
- end
78
+ app_creation(content_to_add(coded_id), current_path, project_name)
63
79
  end
80
+ new_app_creation
81
+ end
64
82
 
83
+ def build_atome_resources(current_path, project_name, production)
65
84
  gem_assets_location = File.join(File.dirname(__FILE__), '../vendor/assets/')
66
85
  app_builder_helpers = File.join(File.dirname(__FILE__), '../app_builder_helpers')
67
86
  target_template_location = "#{current_path}/#{project_name}"
@@ -73,14 +92,21 @@ def create_application(project_name, force, production)
73
92
  end
74
93
  # now run the rake task to build the needed libraries (atome, renderers, etc...)
75
94
  `cd #{app_builder_helpers};rake system_builder[#{current_path}/#{project_name},#{production}]`
76
- if new_app_creation
77
- # now adding name to the app
78
- index_html = "#{current_path}/#{project_name}/build/index.html"
79
- index_html_content = File.open(index_html).read
80
- index_html_content = index_html_content.gsub('<title>atome</title>', "<title>#{project_name}</title>")
81
- File.open(index_html, 'w') do |f|
82
- f.puts index_html_content
83
- end
95
+ end
96
+
97
+ def create_application(project_name, force, production)
98
+ # print "directory already exist, use force to overwrite"
99
+ current_path = `pwd`.chomp
100
+ new_app_creation = test_app_creation(project_name, current_path, force)
101
+ build_atome_resources(current_path, project_name, production)
102
+ return unless new_app_creation
103
+
104
+ # now adding name to the app
105
+ index_html = "#{current_path}/#{project_name}/build/index.html"
106
+ index_html_content = File.open(index_html).read
107
+ index_html_content = index_html_content.gsub('<title>atome</title>', "<title>#{project_name}</title>")
108
+ File.open(index_html, 'w') do |f|
109
+ f.puts index_html_content
84
110
  end
85
111
  end
86
112
 
@@ -91,37 +117,57 @@ end
91
117
 
92
118
  def guard_check
93
119
  loop do
94
- sleep 9
120
+ sleep 3
95
121
  end
96
122
  nil unless ARGV.include?('guard')
97
123
  end
98
124
 
99
- def run_application(build_target, location, port = 9292)
125
+ def browser_case(location)
126
+ `cd #{location}/build;open index.html`
127
+ guard_check
128
+ end
129
+
130
+ def server_case(port, location)
131
+ threads = []
132
+ threads << Thread.new do
133
+ sleep 1.5
134
+ `open http://localhost:9292/index`
135
+ end
136
+ `cd #{location}/server;rackup --server puma --port #{port} --env production`
137
+ end
138
+
139
+ def test_native(build_target)
100
140
  case build_target
101
- when :server
102
- threads = []
103
- threads << Thread.new do
104
- sleep 1.5
105
- `open http://localhost:9292/index`
106
- end
107
- `cd #{location}/server;rackup --server puma --port #{port} --env production`
108
- when :browser
109
- `cd #{location}/build;open index.html`
110
- guard_check
111
- when :native
112
- # freebsd
113
- when :linux
141
+ when :freebsd
114
142
  # freebsd
115
143
  when :osx
116
144
  # osx
117
145
  when :windows
118
146
  # windows
119
147
  else
120
- `cd #{location}/build;open index.html`
121
- guard_check
148
+ puts :freebsd
122
149
  end
123
150
  end
124
151
 
152
+ def run_case(build_target, location, port)
153
+ case build_target
154
+ when :server
155
+ server_case(port, location)
156
+ when :browser
157
+ browser_case(location)
158
+ when :native
159
+ test_native(build_target)
160
+ # freebsd
161
+ else
162
+ browser_case(location)
163
+ end
164
+ end
165
+
166
+ def run_application(build_target, location, port = 9292)
167
+ build_app(location, nil)
168
+ run_case(build_target, location, port)
169
+ end
170
+
125
171
  # below we analyse the ARGV
126
172
  location = '/'
127
173
  force = nil
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ # TODO : remove monitoring
4
+ # TODO : remove child
5
+ # TODO : remove parents
6
+
7
+ # main entry here
8
+ class Atome
9
+ # TODO : clean or delete @private_atome
10
+ include Essentials
11
+
12
+ private
13
+
14
+ def initialize(atomes = {}, &atomes_proc)
15
+ atomes.each_value do |elements|
16
+ @broadcast = {}
17
+ Universe.add_to_atomes({ elements[:id] => self })
18
+ elements[:bloc] = atomes_proc if atomes_proc
19
+ @atome = elements
20
+ # now we initiate the rendering eg for for browser will call :browser_type generated method in identity.rb file
21
+ type(@atome[:type])
22
+ end
23
+ end
24
+
25
+ def new_particle(element, &method_proc)
26
+ Atome.define_method element do |params = nil, &user_proc|
27
+ if params
28
+ # the line below execute the proc created when using the build_particle method
29
+ instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
30
+ sanitize_particle(element, params, &user_proc)
31
+ else
32
+ get_particle(element, &user_proc)
33
+ end
34
+ end
35
+ end
36
+
37
+ def additional_particle_methods(element, &method_proc)
38
+ Atome.define_method "#{element}=" do |params = nil, &user_proc|
39
+ instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
40
+ sanitize_particle(element, params, &user_proc)
41
+ end
42
+ end
43
+
44
+ def new_atome(element, &method_proc)
45
+ Atome.define_method element do |params = nil, &user_proc|
46
+ if params
47
+ instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
48
+ params = atome_sanitizer(element, params)
49
+ Atome.new({ element => params })
50
+ else
51
+ get_atome(element, &user_proc)
52
+ end
53
+ end
54
+ end
55
+
56
+ def new_render_engine(renderer_name, &method_proc)
57
+ Atome.define_method renderer_name do |params = nil, &user_proc|
58
+ instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
59
+ end
60
+ end
61
+
62
+ def new_atome_sanitizer(sanitizer_name)
63
+ Atome.define_method sanitizer_name do |params = {}|
64
+ params
65
+ end
66
+ end
67
+
68
+ def run_optional_proc(proc_name, atome = self, value = '')
69
+ option_found = Universe.get_optionals_methods(proc_name)
70
+ atome.instance_exec(value, &option_found) if option_found.is_a?(Proc)
71
+ end
72
+
73
+ def inject_value(element, value)
74
+ @atome[element] = value
75
+ end
76
+
77
+ def store_value(element, value)
78
+ # this method save the value of the particle and broadcast to the atomes listed in broadcast
79
+ broadcasting(element, value)
80
+ inject_value(element, value)
81
+ end
82
+
83
+ public
84
+
85
+ # the line below is used for ephemera atomes
86
+ attr_accessor :property, :value, :real_atome, :user_proc
87
+ attr_reader :atome, :structure
88
+
89
+ def set(value)
90
+ @real_atome[@property] = value
91
+ end
92
+
93
+ def create_particle(element, value, &user_proc)
94
+ return false unless security_pass(element, value)
95
+
96
+ run_optional_proc("pre_save_#{element}".to_sym, self, value)
97
+ store_value(element, value)
98
+ run_optional_proc("post_save_#{element}".to_sym, self, value)
99
+ rendering(element, value, &user_proc)
100
+ run_optional_proc("post_render_#{element}".to_sym, self, value)
101
+ self
102
+ end
103
+
104
+ def get(element)
105
+ @atome[element]
106
+ end
107
+
108
+ def get_particle(element, &user_proc)
109
+ virtual_atome = Atome.new({})
110
+ virtual_atome.value = (@atome[element])
111
+ virtual_atome.real_atome = @atome
112
+ virtual_atome.property = element
113
+ virtual_atome.user_proc = user_proc
114
+ run_optional_proc("pre_get_#{element}".to_sym, virtual_atome)
115
+ virtual_atome
116
+ end
117
+
118
+ def get_atome(element, &user_proc)
119
+ virtual_atome = Atome.new({})
120
+ virtual_atome.real_atome = @atome
121
+ virtual_atome.property = element
122
+ virtual_atome.user_proc = user_proc
123
+ virtual_atome.value = @atome[element]
124
+ virtual_atome
125
+ end
126
+
127
+ def create_atome(new_atome)
128
+ Atome.new(new_atome)
129
+ end
130
+
131
+ Universe.connected
132
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ def grab(atome_to_get)
4
+ Universe.atomes[atome_to_get]
5
+ end
6
+
7
+ def box(params = {}, &proc)
8
+ grab(:view).box(params, &proc)
9
+ end
10
+
11
+ def circle(params = {}, &proc)
12
+ grab(:view).circle(params, &proc)
13
+ end
14
+
15
+ def text(params = {}, &bloc)
16
+ grab(:view).text(params, &bloc)
17
+ end
18
+
19
+ def image(params = {}, &bloc)
20
+ grab(:view).image(params, &bloc)
21
+ end
22
+
23
+ def video(params = {}, &bloc)
24
+ grab(:view).video(params, &bloc)
25
+ end
26
+
27
+ def color(params = {}, &bloc)
28
+ grab(:view).color(params, &bloc)
29
+ end
30
+
31
+ def element(params = {}, &bloc)
32
+ grab(:view).element(params, &bloc)
33
+ end
34
+
35
+ def shadow(params = {}, &bloc)
36
+ grab(:view).shadow(params, &bloc)
37
+ end
38
+
39
+ def code(params = {}, &bloc)
40
+ grab(:view).code(params, &bloc)
41
+ end
File without changes
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # to create a hash
1
4
  class Atome
2
5
  def calculate_sha(string)
3
6
  Digest::SHA256.hexdigest(string)
4
7
  end
5
8
  end
6
-
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ generator = Genesis.generator
4
+
5
+ generator.build_atome(:color)
6
+ generator.build_atome(:shadow)
7
+ generator.build_atome(:shape)
8
+ generator.build_atome(:text)
9
+ generator.build_atome(:image)
10
+ generator.build_atome(:video)
11
+ generator.build_atome(:code)
12
+ generator.build_atome(:audio)
13
+ generator.build_atome(:element)
@@ -1 +1,3 @@
1
1
  # frozen_string_literal: true
2
+
3
+ generator = Genesis.generator
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ generator = Genesis.generator
4
+
5
+ generator.build_particle(:smooth)
6
+ generator.build_particle(:blur)
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ generator = Genesis.generator
4
+
5
+ generator.build_particle(:touch)