atome 0.5.2.7 → 0.5.3.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.
- checksums.yaml +4 -4
- data/Rakefile +31 -15
- data/app_builder_helpers/Rakefile +20 -20
- data/exe/atome +11 -3
- data/lib/atome/atome.rb +28 -26
- data/lib/atome/extensions/atome.rb +4 -0
- data/lib/atome/extensions/matrix.rb +349 -122
- data/lib/atome/genesis/generators/atome.rb +5 -1
- data/lib/atome/genesis/generators/geometry.rb +12 -0
- data/lib/atome/genesis/generators/identity.rb +44 -14
- data/lib/atome/genesis/generators/material.rb +20 -5
- data/lib/atome/genesis/generators/time.rb +1 -1
- data/lib/atome/genesis/generators/utility.rb +26 -2
- data/lib/atome/genesis/genesis.rb +12 -4
- data/lib/atome/genesis/sparkle.rb +36 -3
- data/lib/atome/helpers/essentials.rb +24 -15
- data/lib/atome/helpers/utilities.rb +42 -3
- data/lib/atome/kernel/batch.rb +48 -0
- data/lib/atome/kernel/universe.rb +4 -0
- data/lib/atome/presets/atome.rb +22 -6
- data/lib/atome/renderers/browser/atome.rb +1 -3
- data/lib/atome/renderers/browser/browser.rb +14 -1
- data/lib/atome/renderers/browser/geometry.rb +10 -2
- data/lib/atome/renderers/browser/helpers/video_helper.rb +1 -1
- data/lib/atome/renderers/browser/helpers/web_helper.rb +1 -5
- data/lib/atome/renderers/browser/identity.rb +7 -11
- data/lib/atome/renderers/browser/material.rb +10 -0
- data/lib/atome/renderers/html/atome.rb +2 -0
- data/lib/atome/renderers/renderer.rb +3 -2
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +2 -1
- data/sig/atome.rbs +14 -0
- data/vendor/assets/Rakefile +1 -1
- data/vendor/assets/server/atome_server.rb +4 -4
- data/vendor/assets/server/config.ru +5 -1
- data/vendor/assets/{build → src}/css/style.css +6 -6
- data/vendor/assets/{build → src}/favicon.ico +0 -0
- data/vendor/assets/{build → src}/index.html +0 -0
- data/vendor/assets/{build → src}/js/atome/atome.js +0 -0
- data/vendor/assets/{build → src}/js/atome/atome_helpers/atome_animate.js +0 -0
- data/vendor/assets/{build → src}/js/atome/atome_helpers/atome_drag.js +0 -0
- data/vendor/assets/{build → src}/js/atome/atome_helpers/atome_file.js +0 -0
- data/vendor/assets/{build → src}/js/atome/atome_helpers/atome_sort.js +0 -0
- data/vendor/assets/{build → src}/js/atome/atome_helpers/atome_time.js +0 -0
- data/vendor/assets/{build → src}/js/atome/atome_helpers/atome_video.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/fabric.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/interact.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/interact.min.js.map +0 -0
- data/vendor/assets/{build → src}/js/third_parties/ping.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/popmotion.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/sha256.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/sortable.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/three.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/w3color.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/wad.min.js +0 -0
- data/vendor/assets/{build → src}/js/third_parties/zim.min.js +0 -0
- data/vendor/assets/{build → src}/medias/audios/Binrpilot.mp3 +0 -0
- data/vendor/assets/{build → src}/medias/audios/audio_missing.wav +0 -0
- data/vendor/assets/{build → src}/medias/audios/clap.wav +0 -0
- data/vendor/assets/{build → src}/medias/audios/cowbell.wav +0 -0
- data/vendor/assets/{build → src}/medias/audios/hihat.wav +0 -0
- data/vendor/assets/{build → src}/medias/audios/kick.wav +0 -0
- data/vendor/assets/{build → src}/medias/audios/riff.m4a +0 -0
- data/vendor/assets/{build → src}/medias/audios/snare.wav +0 -0
- data/vendor/assets/{build → src}/medias/audios/tom.wav +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/DancingScript-VariableFont_wght.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/OFL.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/README.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/static/DancingScript-Bold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/static/DancingScript-Medium.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/static/DancingScript-Regular.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Dancing_Script/static/DancingScript-SemiBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Mate_SC/MateSC-Regular.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Mate_SC/OFL.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/OFL.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/README.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/Raleway-Italic-VariableFont_wght.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/Raleway-VariableFont_wght.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Black.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-BlackItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Bold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-BoldItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-ExtraBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-ExtraBoldItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-ExtraLight.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-ExtraLightItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Italic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Light.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-LightItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Medium.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-MediumItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Regular.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-SemiBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-SemiBoldItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-Thin.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Raleway/static/Raleway-ThinItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/LICENSE.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/README.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-Black.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-Bold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraLight.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-Light.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-Medium.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-Regular.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-SemiBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Roboto_Slab/static/RobotoSlab-Thin.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/OFL.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/README.txt +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/Vollkorn-Italic-VariableFont_wght.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/Vollkorn-VariableFont_wght.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-Black.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-BlackItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-Bold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-BoldItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-ExtraBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-ExtraBoldItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-Italic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-Medium.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-MediumItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-Regular.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-SemiBold.ttf +0 -0
- data/vendor/assets/{build → src}/medias/fonts/Vollkorn/static/Vollkorn-SemiBoldItalic.ttf +0 -0
- data/vendor/assets/{build → src}/medias/images/Icon_Help.png +0 -0
- data/vendor/assets/{build → src}/medias/images/atome.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/avion.jpg +0 -0
- data/vendor/assets/{build → src}/medias/images/ballanim.png +0 -0
- data/vendor/assets/{build → src}/medias/images/blank.png +0 -0
- data/vendor/assets/{build → src}/medias/images/boat.png +0 -0
- data/vendor/assets/{build → src}/medias/images/cache.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/dices.png +0 -0
- data/vendor/assets/{build → src}/medias/images/eVe_back.png +0 -0
- data/vendor/assets/{build → src}/medias/images/elephant.png +0 -0
- data/vendor/assets/{build → src}/medias/images/eyes.jpg +0 -0
- data/vendor/assets/{build → src}/medias/images/freebsd.png +0 -0
- data/vendor/assets/{build → src}/medias/images/grain_texture.png +0 -0
- data/vendor/assets/{build → src}/medias/images/green_planet.png +0 -0
- data/vendor/assets/{build → src}/medias/images/image_missing.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/jeezs.png +0 -0
- data/vendor/assets/{build → src}/medias/images/keyboard.png +0 -0
- data/vendor/assets/{build → src}/medias/images/killer.jpg +0 -0
- data/vendor/assets/{build → src}/medias/images/living_room.png +0 -0
- data/vendor/assets/{build → src}/medias/images/logo.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/Facebook.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/GitHub Black.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/GitHub-Mark.eps +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/GitHub.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/TikTok.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/Twitter.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/YouTube.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/apple.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/atome.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/freebsd.png +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/instagram.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/logos/tiktok_back.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/moto.png +0 -0
- data/vendor/assets/{build → src}/medias/images/noise.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/piano.png +0 -0
- data/vendor/assets/{build → src}/medias/images/poisson.jpg +0 -0
- data/vendor/assets/{build → src}/medias/images/red_planet.png +0 -0
- data/vendor/assets/{build → src}/medias/images/sky.jpg +0 -0
- data/vendor/assets/{build → src}/medias/images/the_mask.svg +0 -0
- data/vendor/assets/{build → src}/medias/images/tile.png +0 -0
- data/vendor/assets/{build → src}/medias/images/tile_black.png +0 -0
- data/vendor/assets/{build → src}/medias/images/tile_white.png +0 -0
- data/vendor/assets/{build → src}/medias/javascripts/test.js +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/!run.rb +0 -0
- data/vendor/assets/src/medias/rubies/examples/_2_solve.rb +72 -0
- data/vendor/assets/src/medias/rubies/examples/_attach.rb +12 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/_audio.rb +81 -28
- data/vendor/assets/src/medias/rubies/examples/_dataset.rb +257 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/_os.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/_test.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/_vie.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/add.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/animation.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/atome_new.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/auto_height.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/auto_width.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/blur.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/bottom.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/box.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/center.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/circle.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/clear.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/clone.rb +4 -4
- data/vendor/assets/{build → src}/medias/rubies/examples/code.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/color.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/create_atome_in_atome.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/cursor.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/delete.rb +2 -2
- data/vendor/assets/{build → src}/medias/rubies/examples/drag.rb +2 -1
- data/vendor/assets/{build → src}/medias/rubies/examples/edit.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/element.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/empty_atome.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/fullscreen.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/get_renderer_list.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/grab.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/height.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/hide.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/id.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/image.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/left.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/link.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/markers.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/matrix.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/monitoring.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/mute.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/on.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/parents.rb +1 -1
- data/vendor/assets/{build → src}/medias/rubies/examples/pause.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/play.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/read.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/refresh.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/remove.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/repeat.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/right.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/rotate.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/schedule.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/shadow.rb +0 -0
- data/vendor/assets/src/medias/rubies/examples/size.rb +8 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/smooth.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/sort.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/style.rb +0 -0
- data/vendor/assets/src/medias/rubies/examples/table.rb +479 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/text.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/time.rb +0 -0
- data/vendor/assets/src/medias/rubies/examples/to_px.rb +10 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/top.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/touch.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/video.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/wait.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/web.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/examples/width.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/test.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/text_read.rb +0 -0
- data/vendor/assets/{build → src}/medias/rubies/users/code.rb +0 -0
- data/vendor/assets/{build → src}/medias/texts/lorem.txt +0 -0
- data/vendor/assets/{build → src}/medias/utils/infos/color.rb +0 -0
- data/vendor/assets/{build → src}/medias/utils/infos/width.rb +0 -0
- data/vendor/assets/{build → src}/medias/videos/avengers.mp4 +0 -0
- data/vendor/assets/{build → src}/medias/videos/madmax.mp4 +0 -0
- data/vendor/assets/{build → src}/medias/videos/starwars.mov +0 -0
- data/vendor/assets/{build → src}/medias/videos/superman.mp4 +0 -0
- data/vendor/assets/{build → src}/medias/videos/video_missing.mp4 +0 -0
- data/vendor/assets/src-tauri/.gitignore +4 -0
- data/vendor/assets/src-tauri/Cargo.toml +27 -0
- data/vendor/assets/src-tauri/build.rs +3 -0
- data/vendor/assets/src-tauri/icons/128x128.png +0 -0
- data/vendor/assets/src-tauri/icons/128x128@2x.png +0 -0
- data/vendor/assets/src-tauri/icons/32x32.png +0 -0
- data/vendor/assets/src-tauri/icons/Square107x107Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square142x142Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square150x150Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square284x284Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square30x30Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square310x310Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square44x44Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square71x71Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square89x89Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/StoreLogo.png +0 -0
- data/vendor/assets/src-tauri/icons/icon.icns +0 -0
- data/vendor/assets/src-tauri/icons/icon.ico +0 -0
- data/vendor/assets/src-tauri/icons/icon.png +0 -0
- data/vendor/assets/src-tauri/src/main.rs +17 -0
- data/vendor/assets/src-tauri/tauri.conf.json +70 -0
- metadata +252 -212
- data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +0 -58
- data/vendor/assets/build/medias/rubies/examples/_dataset.rb +0 -80
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d3b3eb14241b108a8fff26a1d336211199a4cf7a133069e399383f8c590be948
|
|
4
|
+
data.tar.gz: 4bab390e92b2b65a180a2537902ca68bbb7a78faed8debf8cbf2e05063647b7f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 71670c634ee463c0de14a00749d760174831029b1c6e45df1cb4fd6101ea51f083ff4c895d35a93de28a472bb63feb40ee23cd5c27d12f56571f62e6276654e6
|
|
7
|
+
data.tar.gz: def487b5d20de25b4c112d65d850d94a454651750dfc240a329128b3cfbd42088bb391c29667f7de65297da2ed65bda55dea446ff436580bd3195891818c7947
|
data/Rakefile
CHANGED
|
@@ -11,41 +11,57 @@ end
|
|
|
11
11
|
|
|
12
12
|
task default: :test
|
|
13
13
|
|
|
14
|
-
task :
|
|
15
|
-
FileUtils.copy_entry('vendor/assets/
|
|
16
|
-
FileUtils.copy_entry('vendor/assets/
|
|
17
|
-
FileUtils.copy_entry('vendor/assets/
|
|
14
|
+
task :re_build do
|
|
15
|
+
FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
|
|
16
|
+
FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
|
|
17
|
+
FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
|
|
18
18
|
`gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
|
|
19
|
-
`cd test/test_app;atome update
|
|
19
|
+
`cd test/test_app;atome update`
|
|
20
|
+
puts 'solution re-build!'
|
|
21
|
+
# `cd test/test_app;atome update;atome run`
|
|
20
22
|
end
|
|
21
23
|
|
|
24
|
+
task :run_browser do
|
|
25
|
+
FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
|
|
26
|
+
FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
|
|
27
|
+
FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
|
|
28
|
+
`gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
|
|
29
|
+
`cd test/test_app;atome update;atome run`
|
|
30
|
+
end
|
|
22
31
|
|
|
23
32
|
|
|
24
33
|
task :test_server do
|
|
25
|
-
FileUtils.copy_entry('vendor/assets/
|
|
26
|
-
FileUtils.copy_entry('vendor/assets/
|
|
27
|
-
FileUtils.copy_entry('vendor/assets/
|
|
34
|
+
FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
|
|
35
|
+
FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
|
|
36
|
+
FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
|
|
28
37
|
`gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
|
|
29
38
|
`cd test/test_app;atome update;atome run server`
|
|
30
39
|
end
|
|
31
40
|
|
|
32
|
-
task :run_browser do
|
|
33
|
-
`cd test/test_app;atome run guard`
|
|
34
|
-
end
|
|
35
41
|
|
|
36
42
|
task :run_server do
|
|
37
43
|
`cd test/test_app;atome run server guard`
|
|
38
44
|
end
|
|
39
45
|
|
|
40
|
-
task :
|
|
41
|
-
FileUtils.copy_entry('vendor/assets/
|
|
42
|
-
`cd test/test_app;atome
|
|
46
|
+
task :refresh do
|
|
47
|
+
FileUtils.copy_entry('vendor/assets/src/medias/rubies/examples/', 'test/test_app/src/medias/rubies/examples/')
|
|
48
|
+
`cd test/test_app;atome build`
|
|
49
|
+
puts "refreshed!"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
task :open_browser do
|
|
53
|
+
`open http://127.0.0.1:1430/`
|
|
43
54
|
end
|
|
44
55
|
|
|
45
56
|
task :run_example_server do
|
|
46
|
-
FileUtils.copy_entry('vendor/assets/
|
|
57
|
+
FileUtils.copy_entry('vendor/assets/src/medias/rubies/examples/', 'test/test_app/src/medias/rubies/examples/')
|
|
47
58
|
`cd test/test_app;atome run server `
|
|
48
59
|
end
|
|
49
60
|
|
|
50
61
|
|
|
62
|
+
task :taurification do
|
|
63
|
+
`cd test/test_app;cargo tauri dev `
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
|
|
51
67
|
task default: :test
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
# FIXME: check when creating gem version the new gem is not always fully updated we have to type gem uninstall first
|
|
4
4
|
|
|
5
5
|
require 'opal'
|
|
6
|
-
require 'opal-jquery'
|
|
6
|
+
# require 'opal-jquery'
|
|
7
7
|
require 'opal-browser'
|
|
8
8
|
require 'parser'
|
|
9
|
-
require 'ruby2js'
|
|
9
|
+
# require 'ruby2js'
|
|
10
10
|
require 'uglifier'
|
|
11
11
|
|
|
12
12
|
Opal.append_path 'app'
|
|
@@ -20,7 +20,7 @@ def build_opal_content
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def build_opal_browser(user_project_path)
|
|
23
|
-
opal_directory = "#{user_project_path}/
|
|
23
|
+
opal_directory = "#{user_project_path}/src/js/opal"
|
|
24
24
|
browser_js = "#{opal_directory}/opal_browser.js"
|
|
25
25
|
Dir.mkdir(opal_directory) unless File.directory?(opal_directory)
|
|
26
26
|
|
|
@@ -33,7 +33,7 @@ def build_opal_browser(user_project_path)
|
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def build_opal(user_project_path)
|
|
36
|
-
opal_directory = "#{user_project_path}/
|
|
36
|
+
opal_directory = "#{user_project_path}/src/js/opal"
|
|
37
37
|
opal_js = "#{opal_directory}/opal.js"
|
|
38
38
|
Dir.mkdir(opal_directory) unless File.directory?(opal_directory)
|
|
39
39
|
|
|
@@ -47,7 +47,7 @@ end
|
|
|
47
47
|
|
|
48
48
|
def build_aui(user_project_path)
|
|
49
49
|
# now we add an uniq aui to the app
|
|
50
|
-
aui_js = "#{user_project_path}/
|
|
50
|
+
aui_js = "#{user_project_path}/src/js/aui.js"
|
|
51
51
|
File.new aui_js, 'w'
|
|
52
52
|
builder = Opal::Builder.new
|
|
53
53
|
aui_content = builder.build("#{user_project_path}/aui.rb").to_s
|
|
@@ -57,15 +57,15 @@ def build_aui(user_project_path)
|
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
def copy_assets_files(user_project_path, gem_location)
|
|
60
|
-
build_location = "#{gem_location}/../vendor/assets/
|
|
60
|
+
build_location = "#{gem_location}/../vendor/assets/src/"
|
|
61
61
|
server_location = "#{gem_location}/../vendor/assets/server/"
|
|
62
|
-
FileUtils.copy_entry build_location, "#{user_project_path}/
|
|
62
|
+
FileUtils.copy_entry build_location, "#{user_project_path}/src", preserve: nil
|
|
63
63
|
FileUtils.copy_entry server_location, "#{user_project_path}/server", preserve: nil
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
def build_atome_kernel(user_project_path, gem_location)
|
|
67
67
|
# now lets build the atome kernel
|
|
68
|
-
atome_directory = "#{user_project_path}/
|
|
68
|
+
atome_directory = "#{user_project_path}/src/js/atome"
|
|
69
69
|
Dir.mkdir(atome_directory) unless File.directory?(atome_directory)
|
|
70
70
|
kernel_js = "#{atome_directory}/kernel.js"
|
|
71
71
|
File.new kernel_js, 'w'
|
|
@@ -78,7 +78,7 @@ def build_atome_kernel(user_project_path, gem_location)
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
def build_opal_extensions(user_project_path, gem_location)
|
|
81
|
-
opal_directory = "#{user_project_path}/
|
|
81
|
+
opal_directory = "#{user_project_path}/src/js/opal"
|
|
82
82
|
extensions_js = "#{opal_directory}/atome_opal_extensions.js"
|
|
83
83
|
File.new extensions_js, 'w'
|
|
84
84
|
builder = Opal::Builder.new
|
|
@@ -90,7 +90,7 @@ def build_opal_extensions(user_project_path, gem_location)
|
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
def build_opal_parser(user_project_path)
|
|
93
|
-
parser_js = "#{user_project_path}/
|
|
93
|
+
parser_js = "#{user_project_path}/src/js/opal/opal_parser.js"
|
|
94
94
|
File.new parser_js, 'w'
|
|
95
95
|
parser_content = Opal::Builder.build('../lib/atome/renderers/opal/opal_parser.rb').to_s
|
|
96
96
|
File.open(parser_js, 'w') do |f|
|
|
@@ -99,7 +99,7 @@ def build_opal_parser(user_project_path)
|
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
def build_user_code(user_project_path, source_code)
|
|
102
|
-
application_js = "#{user_project_path}/
|
|
102
|
+
application_js = "#{user_project_path}/src/js/application.js"
|
|
103
103
|
builder = Opal::Builder.new
|
|
104
104
|
builder.append_paths("#{user_project_path}/")
|
|
105
105
|
application_content = builder.build(source_code).to_s
|
|
@@ -111,7 +111,7 @@ def build_user_code(user_project_path, source_code)
|
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
def minimize_aui(user_project_path)
|
|
114
|
-
aui_js = "#{user_project_path}/
|
|
114
|
+
aui_js = "#{user_project_path}/src/js/aui.js"
|
|
115
115
|
aui_content = File.open(aui_js).read
|
|
116
116
|
aui_content = Uglifier.new.compile(aui_content)
|
|
117
117
|
File.open(aui_js, 'w') do |f|
|
|
@@ -120,7 +120,7 @@ def minimize_aui(user_project_path)
|
|
|
120
120
|
end
|
|
121
121
|
|
|
122
122
|
def minimize_browser(user_project_path)
|
|
123
|
-
browser_js = "#{user_project_path}/
|
|
123
|
+
browser_js = "#{user_project_path}/src/js/opal/opal_browser.js"
|
|
124
124
|
browser_content = File.open(browser_js).read
|
|
125
125
|
browser_content = Uglifier.new.compile(browser_content)
|
|
126
126
|
File.open(browser_js, 'w') do |f|
|
|
@@ -129,7 +129,7 @@ def minimize_browser(user_project_path)
|
|
|
129
129
|
end
|
|
130
130
|
|
|
131
131
|
def minimize_opal(user_project_path)
|
|
132
|
-
opal_js = "#{user_project_path}/
|
|
132
|
+
opal_js = "#{user_project_path}/src/js/opal/opal.js"
|
|
133
133
|
opal_content = File.open(opal_js).read
|
|
134
134
|
opal_content = Uglifier.new.compile(opal_content)
|
|
135
135
|
File.open(opal_js, 'w') do |f|
|
|
@@ -138,7 +138,7 @@ def minimize_opal(user_project_path)
|
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
def minimize_parser(user_project_path)
|
|
141
|
-
parser_js = "#{user_project_path}/
|
|
141
|
+
parser_js = "#{user_project_path}/src/js/opal/opal_parser.js"
|
|
142
142
|
parser_content = File.open(parser_js).read
|
|
143
143
|
parser_content = Uglifier.new.compile(parser_content)
|
|
144
144
|
File.open(parser_js, 'w') do |f|
|
|
@@ -147,7 +147,7 @@ def minimize_parser(user_project_path)
|
|
|
147
147
|
end
|
|
148
148
|
|
|
149
149
|
def minimize_kernel(user_project_path)
|
|
150
|
-
kernel_js = "#{user_project_path}/
|
|
150
|
+
kernel_js = "#{user_project_path}/src/js/atome/kernel.js"
|
|
151
151
|
kernel_content = File.open(kernel_js).read
|
|
152
152
|
kernel_content = Uglifier.new.compile(kernel_content)
|
|
153
153
|
File.open(kernel_js, 'w') do |f|
|
|
@@ -156,7 +156,7 @@ def minimize_kernel(user_project_path)
|
|
|
156
156
|
end
|
|
157
157
|
|
|
158
158
|
def minimize_atome(user_project_path)
|
|
159
|
-
atome_js = "#{user_project_path}/
|
|
159
|
+
atome_js = "#{user_project_path}/src/js/atome/atome.js"
|
|
160
160
|
atome_content = File.open(atome_js).read
|
|
161
161
|
atome_content = Uglifier.new.compile(atome_content)
|
|
162
162
|
File.open(atome_js, 'w') do |f|
|
|
@@ -165,7 +165,7 @@ def minimize_atome(user_project_path)
|
|
|
165
165
|
end
|
|
166
166
|
|
|
167
167
|
# def minimize_sparkle(user_project_path)
|
|
168
|
-
# opal_sparkle_js = "#{user_project_path}/
|
|
168
|
+
# opal_sparkle_js = "#{user_project_path}/src/js/opal/opal_sparkle.js"
|
|
169
169
|
# opal_sparkle_content = File.open(opal_sparkle_js).read
|
|
170
170
|
# opal_sparkle_content = Uglifier.new.compile(opal_sparkle_content)
|
|
171
171
|
# File.open(opal_sparkle_js, 'w') do |f|
|
|
@@ -174,7 +174,7 @@ end
|
|
|
174
174
|
# end
|
|
175
175
|
|
|
176
176
|
def minimize_opal_extensions(user_project_path)
|
|
177
|
-
atome_opal_extensions_js = "#{user_project_path}/
|
|
177
|
+
atome_opal_extensions_js = "#{user_project_path}/src/js/opal/atome_opal_extensions.js"
|
|
178
178
|
atome_opal_extensions_content = File.open(atome_opal_extensions_js).read
|
|
179
179
|
atome_opal_extensions_content = Uglifier.new.compile(atome_opal_extensions_content)
|
|
180
180
|
File.open(atome_opal_extensions_js, 'w') do |f|
|
|
@@ -204,7 +204,7 @@ end
|
|
|
204
204
|
|
|
205
205
|
def minimize_application(user_project_path)
|
|
206
206
|
# minimizing user codes
|
|
207
|
-
application_js = "#{user_project_path}/
|
|
207
|
+
application_js = "#{user_project_path}/src/js/application.js"
|
|
208
208
|
application_content = File.open(application_js).read
|
|
209
209
|
application_content = Uglifier.new.compile(application_content)
|
|
210
210
|
File.open(application_js, 'w') do |f|
|
data/exe/atome
CHANGED
|
@@ -7,7 +7,7 @@ require 'digest/sha2'
|
|
|
7
7
|
# below are the methods needed for atome creation and run
|
|
8
8
|
def test_path(project_name, arg_name, path)
|
|
9
9
|
if project_name != 'run' && project_name != 'guard' && !project_name.nil? &&
|
|
10
|
-
|
|
10
|
+
project_name != 'port:' && project_name != 'server' && project_name != 'build'
|
|
11
11
|
# the line below remove the optional parameters from the project name
|
|
12
12
|
project_name = project_name.sub(ARGV[ARGV.find_index(arg_name) + 1], '')
|
|
13
13
|
"#{path}/#{project_name}"
|
|
@@ -102,7 +102,7 @@ def create_application(project_name, force, production)
|
|
|
102
102
|
return unless new_app_creation
|
|
103
103
|
|
|
104
104
|
# now adding name to the app
|
|
105
|
-
index_html = "#{current_path}/#{project_name}/
|
|
105
|
+
index_html = "#{current_path}/#{project_name}/src/index.html"
|
|
106
106
|
index_html_content = File.open(index_html).read
|
|
107
107
|
index_html_content = index_html_content.gsub('<title>atome</title>', "<title>#{project_name}</title>")
|
|
108
108
|
File.open(index_html, 'w') do |f|
|
|
@@ -123,10 +123,16 @@ def guard_check
|
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
def browser_case(location)
|
|
126
|
-
`cd #{location}/
|
|
126
|
+
`cd #{location}/src;open index.html`
|
|
127
127
|
guard_check
|
|
128
128
|
end
|
|
129
129
|
|
|
130
|
+
def compile_case(location)
|
|
131
|
+
`cd #{location}/src`
|
|
132
|
+
guard_check
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
|
|
130
136
|
def server_case(port, location)
|
|
131
137
|
threads = []
|
|
132
138
|
threads << Thread.new do
|
|
@@ -155,6 +161,8 @@ def run_case(build_target, location, port)
|
|
|
155
161
|
server_case(port, location)
|
|
156
162
|
when :browser
|
|
157
163
|
browser_case(location)
|
|
164
|
+
when :compile
|
|
165
|
+
compile_case(location)
|
|
158
166
|
when :native
|
|
159
167
|
test_native(build_target)
|
|
160
168
|
# freebsd
|
data/lib/atome/atome.rb
CHANGED
|
@@ -20,19 +20,20 @@ class Atome
|
|
|
20
20
|
elements[:code] = atomes_proc if atomes_proc
|
|
21
21
|
@atome = elements
|
|
22
22
|
# we initiate the rendering, eg for for browser we will call :browser_type generate method in identity.rb file
|
|
23
|
-
create_particle(:type)
|
|
23
|
+
create_particle(:type, true, true)
|
|
24
|
+
# set type is a particle method it's dynamically generated at : generator/identity.rb
|
|
24
25
|
set_type(@atome[:type])
|
|
25
26
|
collapse
|
|
26
27
|
end
|
|
27
28
|
end
|
|
28
29
|
|
|
29
|
-
def new_particle(element, &method_proc)
|
|
30
|
+
def new_particle(element,store,render, &method_proc)
|
|
30
31
|
Atome.define_method element do |params = nil, &user_proc|
|
|
31
32
|
if params || params == false
|
|
32
33
|
# the line below execute the proc created when using the build_particle method
|
|
33
34
|
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
|
34
35
|
params = sanitize(element, params)
|
|
35
|
-
create_particle(element)
|
|
36
|
+
create_particle(element,store,render)
|
|
36
37
|
send("set_#{element}", params, &user_proc)
|
|
37
38
|
else
|
|
38
39
|
get_particle(element, &user_proc)
|
|
@@ -40,14 +41,17 @@ class Atome
|
|
|
40
41
|
end
|
|
41
42
|
end
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def additional_particle_methods(element,store,render , &method_proc)
|
|
44
47
|
Atome.define_method "#{element}=" do |params = nil, &user_proc|
|
|
45
48
|
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
|
46
49
|
params = sanitize(element, params)
|
|
47
|
-
particle_creation(element, params,
|
|
50
|
+
particle_creation(element, params, store,render,&user_proc)
|
|
48
51
|
end
|
|
49
52
|
end
|
|
50
53
|
|
|
54
|
+
|
|
51
55
|
def atome_creation_pre_treatment(element, params, &user_proc)
|
|
52
56
|
params = sanitize(element, params)
|
|
53
57
|
create_atome(element)
|
|
@@ -73,20 +77,16 @@ class Atome
|
|
|
73
77
|
end
|
|
74
78
|
end
|
|
75
79
|
|
|
76
|
-
def run_optional_proc(proc_name, atome = self,
|
|
80
|
+
def run_optional_proc(proc_name, atome = self, element, &user_proc)
|
|
81
|
+
params=instance_variable_get("@#{element}")
|
|
77
82
|
option_found = Universe.get_optional_method(proc_name)
|
|
78
|
-
atome.instance_exec(
|
|
83
|
+
atome.instance_exec(params, user_proc, atome, &option_found) if option_found.is_a?(Proc)
|
|
79
84
|
end
|
|
80
85
|
|
|
81
|
-
def inject_value(element, value)
|
|
82
|
-
# attention : please keep the method 'inject_value' available as it is sometimes needed to access it directly
|
|
83
|
-
@atome[element] = value
|
|
84
|
-
end
|
|
85
86
|
|
|
86
87
|
def store_value(element)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
inject_value(element, @atome[element])
|
|
88
|
+
params=instance_variable_get("@#{element}")
|
|
89
|
+
@atome[element] = params
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
public
|
|
@@ -99,28 +99,30 @@ class Atome
|
|
|
99
99
|
@real_atome[@property] = value
|
|
100
100
|
end
|
|
101
101
|
|
|
102
|
-
def particle_creation(element, params, &user_proc)
|
|
102
|
+
def particle_creation(element, params,store,render, &user_proc)
|
|
103
103
|
return false unless security_pass(element, params)
|
|
104
|
-
|
|
105
104
|
# we create a proc holder of any new particle if user pass a bloc
|
|
106
105
|
store_code_bloc(element, &user_proc) if user_proc
|
|
107
|
-
#
|
|
108
|
-
|
|
109
|
-
run_optional_proc("pre_render_#{@atome[:type]}".to_sym, self,
|
|
110
|
-
run_optional_proc("pre_render_#{element}".to_sym, self,
|
|
111
|
-
rendering(element,
|
|
112
|
-
run_optional_proc("post_render_#{@atome[:type]}".to_sym, self,
|
|
113
|
-
run_optional_proc("post_render_#{element}".to_sym, self,
|
|
114
|
-
|
|
106
|
+
# Params is now an instance variable so it should be passed thru different methods
|
|
107
|
+
instance_variable_set("@#{element}", params)
|
|
108
|
+
run_optional_proc("pre_render_#{@atome[:type]}".to_sym, self, element, &user_proc)
|
|
109
|
+
run_optional_proc("pre_render_#{element}".to_sym, self, element, &user_proc)
|
|
110
|
+
rendering(element, &user_proc) if render
|
|
111
|
+
run_optional_proc("post_render_#{@atome[:type]}".to_sym, self, element, &user_proc)
|
|
112
|
+
run_optional_proc("post_render_#{element}".to_sym, self, element, &user_proc)
|
|
113
|
+
broadcasting(element)
|
|
114
|
+
store_value(element) if store
|
|
115
115
|
self
|
|
116
116
|
end
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
|
|
119
|
+
def create_particle(element,store,render)
|
|
119
120
|
Atome.define_method "set_#{element}" do |params, &user_proc|
|
|
120
|
-
particle_creation(element, params,
|
|
121
|
+
particle_creation(element, params, store,render,&user_proc)
|
|
121
122
|
end
|
|
122
123
|
end
|
|
123
124
|
|
|
125
|
+
|
|
124
126
|
def get(element)
|
|
125
127
|
@atome[element]
|
|
126
128
|
end
|
|
@@ -12,6 +12,10 @@ def circle(params = {}, &proc)
|
|
|
12
12
|
grab(:view).circle(params, &proc)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
+
def matrix(params = {}, &proc)
|
|
16
|
+
grab(:view).matrix(params, &proc)
|
|
17
|
+
end
|
|
18
|
+
|
|
15
19
|
# the method below generate Atome method creation at Object level
|
|
16
20
|
def create_method_at_object_level(element)
|
|
17
21
|
Object.define_method element do |params = nil, &user_proc|
|