atome 0.4.7.0 → 0.5.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +7 -4
- data/Rakefile +22 -13
- data/app_builder_helpers/Rakefile +63 -21
- data/exe/atome +91 -45
- data/lib/atome/atome.rb +129 -0
- data/lib/atome/extensions/atome.rb +41 -0
- data/lib/atome/{kernel/helpers → extensions}/geolocation.rb +0 -0
- data/lib/atome/{kernel/helpers → extensions}/ping.rb +0 -0
- data/lib/atome/{kernel/helpers → extensions}/sha.rb +3 -1
- data/lib/atome/genesis/generators/atome.rb +38 -0
- data/lib/atome/{renderers/headless/properties/generator.rb → genesis/generators/communication.rb} +2 -0
- data/lib/atome/genesis/generators/effect.rb +6 -0
- data/lib/atome/genesis/generators/event.rb +10 -0
- data/lib/atome/genesis/generators/geometry.rb +6 -0
- data/lib/atome/genesis/generators/identity.rb +29 -0
- data/lib/atome/genesis/generators/material.rb +10 -0
- data/lib/atome/genesis/generators/spatial.rb +13 -0
- data/lib/atome/genesis/generators/utility.rb +31 -0
- data/lib/atome/genesis/genesis.rb +46 -0
- data/lib/atome/genesis/sparkle.rb +58 -0
- data/lib/atome/helpers/callbacks.rb +12 -0
- data/lib/atome/helpers/color_helper/color/cmyk.rb +263 -0
- data/lib/atome/helpers/color_helper/color/css.rb +7 -0
- data/lib/atome/helpers/color_helper/color/grayscale.rb +197 -0
- data/lib/atome/helpers/color_helper/color/hsl.rb +240 -0
- data/lib/atome/helpers/color_helper/color/palette/adobecolor.rb +260 -0
- data/lib/atome/helpers/color_helper/color/palette/gimp.rb +104 -0
- data/lib/atome/helpers/color_helper/color/palette/monocontrast.rb +164 -0
- data/lib/atome/helpers/color_helper/color/palette.rb +4 -0
- data/lib/atome/helpers/color_helper/color/rgb/colors.rb +167 -0
- data/lib/atome/helpers/color_helper/color/rgb/contrast.rb +57 -0
- data/lib/atome/helpers/color_helper/color/rgb/metallic.rb +28 -0
- data/lib/atome/helpers/color_helper/color/rgb.rb +715 -0
- data/lib/atome/helpers/color_helper/color/yiq.rb +62 -0
- data/lib/atome/helpers/color_helper/color.rb +196 -0
- data/lib/atome/helpers/essentials.rb +42 -0
- data/lib/atome/helpers/sanitizer.rb +23 -0
- data/lib/atome/helpers/utilities.rb +54 -0
- data/lib/atome/kernel/essentials.rb +23 -0
- data/lib/atome/kernel/universe.rb +92 -26
- data/lib/atome/presets/atome.rb +88 -0
- data/lib/atome/processors/utilities.rb +10 -0
- data/lib/atome/renderers/browser/atome.rb +108 -0
- data/lib/atome/renderers/browser/browser.rb +225 -0
- data/lib/atome/renderers/browser/effect.rb +23 -0
- data/lib/atome/renderers/browser/event.rb +37 -0
- data/lib/atome/renderers/browser/geometry.rb +11 -0
- data/lib/atome/renderers/browser/identity.rb +24 -0
- data/lib/atome/renderers/browser/material.rb +43 -0
- data/lib/atome/renderers/{opal → browser}/opal_browser.rb +0 -2
- data/lib/atome/renderers/browser/spatial.rb +23 -0
- data/lib/atome/renderers/browser/utility.rb +39 -0
- data/lib/atome/renderers/headless/headless.rb +10 -0
- data/lib/atome/renderers/headless/utility.rb +6 -0
- data/lib/atome/renderers/html/atome.rb +47 -0
- data/lib/atome/renderers/html/effect.rb +19 -0
- data/lib/atome/renderers/html/event.rb +9 -0
- data/lib/atome/renderers/html/geometry.rb +11 -0
- data/lib/atome/renderers/html/html.rb +42 -0
- data/lib/atome/renderers/html/identity.rb +14 -0
- data/lib/atome/renderers/html/opal_browser.rb +6 -0
- data/lib/atome/renderers/html/spatial.rb +28 -0
- data/lib/atome/renderers/html/utility.rb +17 -0
- data/lib/atome/renderers/opal/atome_opal_extensions.rb +1 -1
- data/lib/atome/renderers/opal/extensions/atome.rb +29 -0
- data/lib/atome/renderers/opal/opal.rb +4 -0
- data/lib/atome/renderers/renderer.rb +7 -7
- data/lib/atome/renderers/server/server.rb +10 -0
- data/lib/atome/renderers/server/utility.rb +6 -0
- data/lib/atome/version.rb +1 -2
- data/lib/atome.rb +25 -44
- data/vendor/assets/application/index.rb +3 -1
- data/vendor/assets/application/required_example.rb +1 -0
- data/vendor/assets/{build/js/application.js → aui.rb} +0 -0
- data/vendor/assets/build/css/style.css +51 -0
- data/vendor/assets/build/index.html +7 -8
- data/vendor/assets/build/js/atome/atome.js +141 -68
- data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/{animation.rb → _animation.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/{drag.rb → _drag.rb} +1 -0
- data/vendor/assets/build/medias/rubies/examples/atome.new.rb +13 -10
- data/vendor/assets/build/medias/rubies/examples/auto_height.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/blur.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/bottom.rb +3 -1
- data/vendor/assets/build/medias/rubies/examples/box.rb +12 -8
- data/vendor/assets/build/medias/rubies/examples/circle.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/clear.rb +2 -1
- data/vendor/assets/build/medias/rubies/examples/code.rb +10 -4
- data/vendor/assets/build/medias/rubies/examples/color.rb +47 -8
- data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/delete.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/element.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/fullscreen.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +3 -1
- data/vendor/assets/build/medias/rubies/examples/grab.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/height.rb +7 -2
- data/vendor/assets/build/medias/rubies/examples/id.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/image.rb +6 -2
- data/vendor/assets/build/medias/rubies/examples/left.rb +7 -2
- data/vendor/assets/build/medias/rubies/examples/link.rb +12 -3
- data/vendor/assets/build/medias/rubies/examples/monitoring.rb +33 -0
- data/vendor/assets/build/medias/rubies/examples/on.rb +11 -7
- data/vendor/assets/build/medias/rubies/examples/parent.rb +7 -5
- data/vendor/assets/build/medias/rubies/examples/read.rb +6 -2
- data/vendor/assets/build/medias/rubies/examples/refresh.rb +8 -0
- data/vendor/assets/build/medias/rubies/examples/repeat.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/right.rb +3 -1
- data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +8 -11
- data/vendor/assets/build/medias/rubies/examples/shadow.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/smooth.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/text.rb +21 -7
- data/vendor/assets/build/medias/rubies/examples/top.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/touch.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +32 -23
- data/vendor/assets/build/medias/rubies/examples/wait.rb +8 -3
- data/vendor/assets/build/medias/rubies/examples/web.rb +7 -4
- data/vendor/assets/build/medias/rubies/examples/width.rb +6 -2
- data/vendor/assets/server/atome_server.rb +3 -5
- metadata +76 -164
- data/lib/atome/atome_native_extensions.rb +0 -5
- data/lib/atome/extensions/helper.rb +0 -112
- data/lib/atome/kernel/atome.rb +0 -99
- data/lib/atome/kernel/generators/generator.rb +0 -517
- data/lib/atome/kernel/generators/genesis.rb +0 -277
- data/lib/atome/kernel/generators/sanitizer.rb +0 -73
- data/lib/atome/kernel/generators/shapes.rb +0 -55
- data/lib/atome/kernel/helpers/internal_methods.rb +0 -173
- data/lib/atome/kernel/helpers/utilities.rb +0 -39
- data/lib/atome/kernel/properties/essential.rb +0 -77
- data/lib/atome/kernel/sparkle.rb +0 -38
- data/lib/atome/renderers/opal/properties/generator.rb +0 -1
- data/lib/atome/renderers/server/properties/generator.rb +0 -9
- data/vendor/assets/build/medias/audios/guitar.wav +0 -0
- data/vendor/assets/build/medias/images/beach.jpg +0 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +0 -111
- data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +0 -27
- data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +0 -92
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +0 -20
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +0 -22
- data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +0 -57
- data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +0 -18
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +0 -115
- data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +0 -35
- data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +0 -29
- data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +0 -61
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +0 -1
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +0 -37
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +0 -44
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +0 -28
- data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +0 -24
- data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +0 -64
- data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +0 -54
- data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +0 -69
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +0 -47
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +0 -24
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +0 -41
- data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +0 -41
- data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +0 -8
- data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +0 -37
- data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +0 -47
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +0 -22
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +0 -24
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +0 -31
- data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +0 -30
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +0 -1
- data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +0 -41
- data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +0 -39
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +0 -32
- data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +0 -30
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +0 -109
- data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +0 -18
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +0 -33
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +0 -33
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +0 -22
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +0 -27
- data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +0 -27
- data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +0 -46
- data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +0 -29
- data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +0 -16
- data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +0 -10
- data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64c8921a4ed715c0ed422e430ca3e9b6ead122f06e81032d0e8843b9fa2e0e4c
|
4
|
+
data.tar.gz: 7920b914b719630b1a930d1f27616d31161e8befe33fd409098a55a90cf30ced
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d1fe5f8e8967e1869da808953904dbcd41327676bf644cf19b260cc56f0febdf38a3d3673056ab51406ca0b6743708dcf2c5b1d8fb6e20cd7f8f8b94d425ebd
|
7
|
+
data.tar.gz: 314bec01e683e3bcf0e57abfe1bc273bf38a91650da89f277449226b8f23dc7626c1d3d76e0d8408bdc7e82f5c337e8beb2fae3e73b23cd827102374d8b62c24
|
data/Gemfile
CHANGED
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
|
51
|
+
[//]: # (- Tauri : Build smaller, faster, and more secure desktop applications with a web frontend.(https://github.com/tauri-apps/tauri))
|
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" />
|
59
60
|
<img src="./documentation/images/logos/freebsd.png" width="100" />
|
60
61
|
<img src="./documentation/images/logos/puma.png" width="100" />
|
61
|
-
|
62
|
+
|
63
|
+
[//]: # (<img src="./documentation/images/logos/tauri.png" width="100" /> )
|
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`.
|
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
|
-
|
4
|
-
|
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
|
-
|
16
|
-
|
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/
|
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
|
32
|
-
|
33
|
-
|
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'
|
@@ -93,6 +107,7 @@ def build_user_code(user_project_path, source_code)
|
|
93
107
|
File.open(application_js, 'w') do |f|
|
94
108
|
f.puts application_content
|
95
109
|
end
|
110
|
+
# minimize_application(user_project_path)
|
96
111
|
end
|
97
112
|
|
98
113
|
def minimize_aui(user_project_path)
|
@@ -113,6 +128,15 @@ def minimize_browser(user_project_path)
|
|
113
128
|
end
|
114
129
|
end
|
115
130
|
|
131
|
+
def minimize_opal(user_project_path)
|
132
|
+
opal_js = "#{user_project_path}/build/js/opal/opal.js"
|
133
|
+
opal_content = File.open(opal_js).read
|
134
|
+
opal_content = Uglifier.new.compile(opal_content)
|
135
|
+
File.open(opal_js, 'w') do |f|
|
136
|
+
f.puts opal_content
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
116
140
|
def minimize_parser(user_project_path)
|
117
141
|
parser_js = "#{user_project_path}/build/js/opal/opal_parser.js"
|
118
142
|
parser_content = File.open(parser_js).read
|
@@ -122,8 +146,17 @@ def minimize_parser(user_project_path)
|
|
122
146
|
end
|
123
147
|
end
|
124
148
|
|
125
|
-
def
|
126
|
-
|
149
|
+
def minimize_kernel(user_project_path)
|
150
|
+
kernel_js = "#{user_project_path}/build/js/atome/kernel.js"
|
151
|
+
kernel_content = File.open(kernel_js).read
|
152
|
+
kernel_content = Uglifier.new.compile(kernel_content)
|
153
|
+
File.open(kernel_js, 'w') do |f|
|
154
|
+
f.puts kernel_content
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
def minimize_atome(user_project_path)
|
159
|
+
atome_js = "#{user_project_path}/build/js/atome/atome.js"
|
127
160
|
atome_content = File.open(atome_js).read
|
128
161
|
atome_content = Uglifier.new.compile(atome_content)
|
129
162
|
File.open(atome_js, 'w') do |f|
|
@@ -131,14 +164,14 @@ def minimize_atome_lib(user_project_path)
|
|
131
164
|
end
|
132
165
|
end
|
133
166
|
|
134
|
-
def minimize_sparkle(user_project_path)
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
end
|
167
|
+
# def minimize_sparkle(user_project_path)
|
168
|
+
# opal_sparkle_js = "#{user_project_path}/build/js/opal/opal_sparkle.js"
|
169
|
+
# opal_sparkle_content = File.open(opal_sparkle_js).read
|
170
|
+
# opal_sparkle_content = Uglifier.new.compile(opal_sparkle_content)
|
171
|
+
# File.open(opal_sparkle_js, 'w') do |f|
|
172
|
+
# f.puts opal_sparkle_content
|
173
|
+
# end
|
174
|
+
# end
|
142
175
|
|
143
176
|
def minimize_opal_extensions(user_project_path)
|
144
177
|
atome_opal_extensions_js = "#{user_project_path}/build/js/opal/atome_opal_extensions.js"
|
@@ -152,19 +185,24 @@ end
|
|
152
185
|
def minimize_libraries(user_project_path)
|
153
186
|
# minimizing aui
|
154
187
|
minimize_aui(user_project_path)
|
188
|
+
# minimizing opal
|
189
|
+
minimize_opal(user_project_path)
|
155
190
|
# minimizing opal_browser
|
156
191
|
minimize_browser(user_project_path)
|
157
192
|
# minimizing opal_parser
|
158
193
|
minimize_parser(user_project_path)
|
159
194
|
# minimizing atome_lib
|
160
|
-
|
161
|
-
# minimizing
|
162
|
-
|
195
|
+
minimize_kernel(user_project_path)
|
196
|
+
# minimizing atome
|
197
|
+
minimize_atome(user_project_path)
|
163
198
|
# minimizing atome_lib
|
164
199
|
minimize_opal_extensions(user_project_path)
|
200
|
+
# minimizing application
|
201
|
+
minimize_application(user_project_path)
|
202
|
+
# minimize(user_project_path) if production == 'production'
|
165
203
|
end
|
166
204
|
|
167
|
-
def
|
205
|
+
def minimize_application(user_project_path)
|
168
206
|
# minimizing user codes
|
169
207
|
application_js = "#{user_project_path}/build/js/application.js"
|
170
208
|
application_content = File.open(application_js).read
|
@@ -176,10 +214,8 @@ end
|
|
176
214
|
|
177
215
|
task :build_user_code, :user_project_path, :production do |_t, args|
|
178
216
|
user_project_path = args[:user_project_path]
|
179
|
-
production = args[:production]
|
180
217
|
source_code = "#{user_project_path}/application/index.rb"
|
181
218
|
build_user_code(user_project_path, source_code)
|
182
|
-
minimize_user_code(user_project_path) if production == 'production'
|
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
|
13
|
-
|
14
|
-
|
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 =
|
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
|
41
|
-
|
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
|
-
|
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
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
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
|
120
|
+
sleep 3
|
95
121
|
end
|
96
122
|
nil unless ARGV.include?('guard')
|
97
123
|
end
|
98
124
|
|
99
|
-
def
|
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 :
|
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
|
-
|
121
|
-
guard_check
|
148
|
+
# 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
|
data/lib/atome/atome.rb
ADDED
@@ -0,0 +1,129 @@
|
|
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
|
+
# the instance variable below contain the id all any atomes that need to be informed when changes occurs
|
17
|
+
@broadcast = {}
|
18
|
+
# now we store the proc in a an atome's property called :bloc
|
19
|
+
elements[:code] = atomes_proc if atomes_proc
|
20
|
+
@atome = elements
|
21
|
+
# we initiate the rendering, eg for for browser we will call :browser_type generate method in identity.rb file
|
22
|
+
create_particle(:type, @atome[:type])
|
23
|
+
collapse
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def new_particle(element, &method_proc)
|
28
|
+
Atome.define_method element do |params = nil, &user_proc|
|
29
|
+
if params
|
30
|
+
# the line below execute the proc created when using the build_particle method
|
31
|
+
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
32
|
+
params = sanitize(element, params)
|
33
|
+
create_particle(element, params, &user_proc)
|
34
|
+
else
|
35
|
+
get_particle(element, &user_proc)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def additional_particle_methods(element, &method_proc)
|
41
|
+
Atome.define_method "#{element}=" do |params = nil, &user_proc|
|
42
|
+
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
43
|
+
params = sanitize(element, params)
|
44
|
+
create_particle(element, params, &user_proc)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def new_atome(element, &method_proc)
|
49
|
+
Atome.define_method element do |params = nil, &user_proc|
|
50
|
+
if params
|
51
|
+
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
52
|
+
params = sanitize(element, params)
|
53
|
+
Atome.new({ element => params })
|
54
|
+
else
|
55
|
+
get_atome(element, &user_proc)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def new_render_engine(renderer_name, &method_proc)
|
61
|
+
Atome.define_method renderer_name do |params = nil, &user_proc|
|
62
|
+
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def run_optional_proc(proc_name, atome = self, value = '')
|
67
|
+
option_found = Universe.get_optional_method(proc_name)
|
68
|
+
atome.instance_exec(value, &option_found) if option_found.is_a?(Proc)
|
69
|
+
end
|
70
|
+
|
71
|
+
def inject_value(element, value)
|
72
|
+
@atome[element] = value
|
73
|
+
end
|
74
|
+
|
75
|
+
def store_value(element, value)
|
76
|
+
# this method save the value of the particle and broadcast to the atomes listed in broadcast
|
77
|
+
broadcasting(element, value)
|
78
|
+
inject_value(element, value)
|
79
|
+
end
|
80
|
+
|
81
|
+
public
|
82
|
+
|
83
|
+
# the line below is used for ephemera atomes
|
84
|
+
attr_accessor :property, :value, :real_atome, :user_proc
|
85
|
+
attr_reader :atome, :structure
|
86
|
+
|
87
|
+
def set(value)
|
88
|
+
@real_atome[@property] = value
|
89
|
+
end
|
90
|
+
|
91
|
+
def create_particle(element, value, &user_proc)
|
92
|
+
return false unless security_pass(element, value)
|
93
|
+
|
94
|
+
run_optional_proc("pre_render_#{element}".to_sym, self, value)
|
95
|
+
rendering(element, value, &user_proc)
|
96
|
+
run_optional_proc("post_render_#{element}".to_sym, self, value)
|
97
|
+
store_value(element, value)
|
98
|
+
self
|
99
|
+
end
|
100
|
+
|
101
|
+
def get(element)
|
102
|
+
@atome[element]
|
103
|
+
end
|
104
|
+
|
105
|
+
def get_particle(element, &user_proc)
|
106
|
+
virtual_atome = Atome.new({})
|
107
|
+
virtual_atome.value = (@atome[element])
|
108
|
+
virtual_atome.real_atome = @atome
|
109
|
+
virtual_atome.property = element
|
110
|
+
virtual_atome.user_proc = user_proc
|
111
|
+
run_optional_proc("pre_get_#{element}".to_sym, virtual_atome)
|
112
|
+
virtual_atome
|
113
|
+
end
|
114
|
+
|
115
|
+
def get_atome(element, &user_proc)
|
116
|
+
virtual_atome = Atome.new({})
|
117
|
+
virtual_atome.real_atome = @atome
|
118
|
+
virtual_atome.property = element
|
119
|
+
virtual_atome.user_proc = user_proc
|
120
|
+
virtual_atome.value = @atome[element]
|
121
|
+
virtual_atome
|
122
|
+
end
|
123
|
+
|
124
|
+
def create_atome(new_atome)
|
125
|
+
Atome.new(new_atome)
|
126
|
+
end
|
127
|
+
|
128
|
+
Universe.connected
|
129
|
+
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 web(params = {}, &bloc)
|
40
|
+
grab(:view).web(params, bloc)
|
41
|
+
end
|
File without changes
|
File without changes
|