atome 0.5.1.1 → 0.5.1.4
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 +5 -5
- data/app_builder_helpers/Rakefile +1 -1
- data/exe/atome +1 -1
- data/lib/atome/{atome_meta_engine.rb → atome.rb} +14 -17
- data/lib/atome/extensions/atome.rb +2 -2
- data/lib/atome/genesis/generators/atome.rb +25 -0
- data/lib/atome/genesis/generators/event.rb +5 -0
- data/lib/atome/genesis/generators/identity.rb +15 -1
- data/lib/atome/genesis/generators/spatial.rb +1 -0
- data/lib/atome/genesis/generators/utility.rb +18 -1
- data/lib/atome/genesis/genesis.rb +4 -9
- data/lib/atome/helpers/callbacks.rb +12 -0
- data/lib/atome/helpers/essentials.rb +2 -2
- data/lib/atome/helpers/sanitizer.rb +1 -20
- data/lib/atome/helpers/utilities.rb +8 -11
- data/lib/atome/kernel/essentials.rb +0 -7
- data/lib/atome/kernel/universe.rb +27 -10
- data/lib/atome/presets/atome.rb +26 -4
- data/lib/atome/renderers/browser/atome.rb +29 -16
- data/lib/atome/renderers/browser/browser.rb +158 -91
- data/lib/atome/renderers/browser/event.rb +29 -1
- data/lib/atome/renderers/browser/identity.rb +5 -1
- data/lib/atome/renderers/browser/spatial.rb +4 -3
- data/lib/atome/renderers/browser/utility.rb +17 -4
- data/lib/atome/renderers/headless/headless.rb +10 -0
- data/lib/atome/renderers/headless/utility.rb +6 -0
- data/lib/atome/renderers/html/spatial.rb +1 -1
- data/lib/atome/renderers/html/utility.rb +2 -0
- data/lib/atome/renderers/renderer.rb +13 -0
- data/lib/atome/renderers/server/server.rb +10 -0
- data/lib/atome/renderers/server/utility.rb +6 -0
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +5 -1
- data/vendor/assets/build/index.html +1 -5
- data/vendor/assets/build/js/atome/atome.js +81 -8
- data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/{drag.rb → _drag.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/bottom.rb +1 -1
- data/vendor/assets/build/medias/rubies/examples/box.rb +4 -7
- data/vendor/assets/build/medias/rubies/examples/code.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/fullscreen.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/height.rb +5 -2
- data/vendor/assets/build/medias/rubies/examples/{_id.rb → id.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/left.rb +5 -2
- data/vendor/assets/build/medias/rubies/examples/link.rb +20 -0
- data/vendor/assets/build/medias/rubies/examples/monitoring.rb +14 -1
- data/vendor/assets/build/medias/rubies/examples/on.rb +20 -0
- data/vendor/assets/build/medias/rubies/examples/{_read.rb → read.rb} +4 -2
- data/vendor/assets/build/medias/rubies/examples/refresh.rb +8 -0
- data/vendor/assets/build/medias/rubies/examples/right.rb +1 -1
- data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +8 -7
- data/vendor/assets/build/medias/rubies/examples/smooth.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/top.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/touch.rb +5 -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/build/medias/videos/avengers.mp4 +0 -0
- data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
- data/vendor/assets/build/medias/videos/starwars.mov +0 -0
- data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
- metadata +22 -10
- data/vendor/assets/build/medias/rubies/examples/_code.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/_link.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/_on.rb +0 -18
- data/vendor/assets/build/medias/rubies/examples/_refresh.rb +0 -9
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/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
require 'rake/testtask'
|
5
5
|
|
6
6
|
Rake::TestTask.new(:test) do |t|
|
7
|
-
t.libs <<
|
8
|
-
t.libs <<
|
9
|
-
t.test_files = FileList[
|
7
|
+
t.libs << 'test'
|
8
|
+
t.libs << 'lib'
|
9
|
+
t.test_files = FileList['test/**/test_*.rb']
|
10
10
|
end
|
11
11
|
|
12
12
|
task default: :test
|
@@ -107,6 +107,7 @@ def build_user_code(user_project_path, source_code)
|
|
107
107
|
File.open(application_js, 'w') do |f|
|
108
108
|
f.puts application_content
|
109
109
|
end
|
110
|
+
# minimize_application(user_project_path)
|
110
111
|
end
|
111
112
|
|
112
113
|
def minimize_aui(user_project_path)
|
@@ -215,7 +216,6 @@ task :build_user_code, :user_project_path, :production do |_t, args|
|
|
215
216
|
user_project_path = args[:user_project_path]
|
216
217
|
source_code = "#{user_project_path}/application/index.rb"
|
217
218
|
build_user_code(user_project_path, source_code)
|
218
|
-
minimize_application(user_project_path)
|
219
219
|
end
|
220
220
|
|
221
221
|
task :system_builder, :user_project_path, :production do |_t, args|
|
data/exe/atome
CHANGED
@@ -13,12 +13,14 @@ class Atome
|
|
13
13
|
|
14
14
|
def initialize(atomes = {}, &atomes_proc)
|
15
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
|
16
17
|
@broadcast = {}
|
17
|
-
|
18
|
-
elements[:
|
18
|
+
# now we store the proc in a an atome's property called :bloc
|
19
|
+
elements[:code] = atomes_proc if atomes_proc
|
19
20
|
@atome = elements
|
20
|
-
#
|
21
|
-
type
|
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
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
@@ -27,7 +29,8 @@ class Atome
|
|
27
29
|
if params
|
28
30
|
# the line below execute the proc created when using the build_particle method
|
29
31
|
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
30
|
-
|
32
|
+
params = sanitize(element, params)
|
33
|
+
create_particle(element, params, &user_proc)
|
31
34
|
else
|
32
35
|
get_particle(element, &user_proc)
|
33
36
|
end
|
@@ -37,7 +40,8 @@ class Atome
|
|
37
40
|
def additional_particle_methods(element, &method_proc)
|
38
41
|
Atome.define_method "#{element}=" do |params = nil, &user_proc|
|
39
42
|
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
40
|
-
|
43
|
+
params = sanitize(element, params)
|
44
|
+
create_particle(element, params, &user_proc)
|
41
45
|
end
|
42
46
|
end
|
43
47
|
|
@@ -45,7 +49,7 @@ class Atome
|
|
45
49
|
Atome.define_method element do |params = nil, &user_proc|
|
46
50
|
if params
|
47
51
|
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
48
|
-
params =
|
52
|
+
params = sanitize(element, params)
|
49
53
|
Atome.new({ element => params })
|
50
54
|
else
|
51
55
|
get_atome(element, &user_proc)
|
@@ -59,14 +63,8 @@ class Atome
|
|
59
63
|
end
|
60
64
|
end
|
61
65
|
|
62
|
-
def new_atome_sanitizer(sanitizer_name)
|
63
|
-
Atome.define_method sanitizer_name do |params = {}|
|
64
|
-
params
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
66
|
def run_optional_proc(proc_name, atome = self, value = '')
|
69
|
-
option_found = Universe.
|
67
|
+
option_found = Universe.get_optional_method(proc_name)
|
70
68
|
atome.instance_exec(value, &option_found) if option_found.is_a?(Proc)
|
71
69
|
end
|
72
70
|
|
@@ -93,11 +91,10 @@ class Atome
|
|
93
91
|
def create_particle(element, value, &user_proc)
|
94
92
|
return false unless security_pass(element, value)
|
95
93
|
|
96
|
-
run_optional_proc("
|
97
|
-
store_value(element, value)
|
98
|
-
run_optional_proc("post_save_#{element}".to_sym, self, value)
|
94
|
+
run_optional_proc("pre_render_#{element}".to_sym, self, value)
|
99
95
|
rendering(element, value, &user_proc)
|
100
96
|
run_optional_proc("post_render_#{element}".to_sym, self, value)
|
97
|
+
store_value(element, value)
|
101
98
|
self
|
102
99
|
end
|
103
100
|
|
@@ -3,6 +3,23 @@
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
5
|
generator.build_atome(:color)
|
6
|
+
generator.build_sanitizer(:color) do |params|
|
7
|
+
parent_found = found_parents_and_renderers[:parent]
|
8
|
+
render_found = found_parents_and_renderers[:renderers]
|
9
|
+
default_params = { renderers: render_found, id: "color_#{Universe.atomes.length}", type: :color,
|
10
|
+
parents: parent_found,
|
11
|
+
red: 0, green: 0, blue: 0, alpha: 1 }
|
12
|
+
params = create_color_hash(params) unless params.instance_of? Hash
|
13
|
+
default_params.merge!(params)
|
14
|
+
end
|
15
|
+
|
16
|
+
generator.build_sanitizer(:video) do |params|
|
17
|
+
parent_found = found_parents_and_renderers[:parent]
|
18
|
+
render_found = found_parents_and_renderers[:renderers]
|
19
|
+
default_params = { renderers: render_found, id: "video_#{Universe.atomes.length}", type: :video,
|
20
|
+
parents: parent_found }
|
21
|
+
default_params.merge!(params)
|
22
|
+
end
|
6
23
|
generator.build_atome(:shadow)
|
7
24
|
generator.build_atome(:shape)
|
8
25
|
generator.build_atome(:text)
|
@@ -11,3 +28,11 @@ generator.build_atome(:video)
|
|
11
28
|
generator.build_atome(:code)
|
12
29
|
generator.build_atome(:audio)
|
13
30
|
generator.build_atome(:element)
|
31
|
+
generator.build_atome(:web)
|
32
|
+
generator.build_sanitizer(:element) do |params|
|
33
|
+
parent_found = found_parents_and_renderers[:parent]
|
34
|
+
render_found = []
|
35
|
+
default_params = { renderers: render_found, id: "element_#{Universe.atomes.length}", type: :element,
|
36
|
+
parents: parent_found }
|
37
|
+
default_params.merge!(params)
|
38
|
+
end
|
@@ -5,9 +5,23 @@ generator = Genesis.generator
|
|
5
5
|
generator.build_particle(:type)
|
6
6
|
generator.build_particle(:parents)
|
7
7
|
generator.build_particle(:children)
|
8
|
+
generator.build_particle(:link) do |child_id|
|
9
|
+
child_found = grab(child_id)
|
10
|
+
child_found.atome[:parents] << @atome[:id]
|
11
|
+
child_found.refresh
|
12
|
+
end
|
13
|
+
|
8
14
|
generator.build_particle(:id)
|
15
|
+
generator.build_sanitizer(:id) do |params|
|
16
|
+
if @atome[:id] != params
|
17
|
+
Universe.update_atome_id(params, self, @atome[:id])
|
18
|
+
else
|
19
|
+
Universe.add_to_atomes(params, self)
|
20
|
+
end
|
21
|
+
params
|
22
|
+
end
|
9
23
|
|
10
|
-
generator.
|
24
|
+
generator.build_option(:pre_render_parents) do |parents_id_found|
|
11
25
|
parents_id_found.each do |parents_id|
|
12
26
|
parents_found = grab(parents_id)
|
13
27
|
parents_found.children << id if parents_found
|
@@ -3,7 +3,11 @@
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
5
|
generator.build_particle(:renderers)
|
6
|
-
generator.build_particle(:
|
6
|
+
generator.build_particle(:code)
|
7
|
+
generator.build_particle(:run) do |params|
|
8
|
+
code_found = @atome[:code]
|
9
|
+
instance_exec(params, &code_found) if code_found.is_a?(Proc)
|
10
|
+
end
|
7
11
|
generator.build_particle(:broadcast)
|
8
12
|
generator.build_particle(:additional)
|
9
13
|
generator.build_particle(:data)
|
@@ -12,3 +16,16 @@ generator.build_particle(:delete) do
|
|
12
16
|
end
|
13
17
|
generator.build_particle(:clear)
|
14
18
|
generator.build_particle(:path)
|
19
|
+
generator.build_particle(:schedule) do |date, proc|
|
20
|
+
date = date.to_s
|
21
|
+
delimiters = [',', ' ', ':', '-']
|
22
|
+
format_date = date.split(Regexp.union(delimiters))
|
23
|
+
Universe.renderer_list.each do |renderer|
|
24
|
+
send("#{renderer}_schedule", format_date, &proc)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
generator.build_particle(:read) do |file, proc|
|
28
|
+
Universe.renderer_list.each do |renderer|
|
29
|
+
send("#{renderer}_reader", file, &proc)
|
30
|
+
end
|
31
|
+
end
|
@@ -23,13 +23,9 @@ class Atome
|
|
23
23
|
# we add the new method to the atome's collection of methods
|
24
24
|
Universe.add_to_atome_list(atome_name)
|
25
25
|
auto_render_generator(atome_name)
|
26
|
-
auto_sanitizer_generator(atome_name)
|
27
26
|
new_atome(atome_name, &atome_proc)
|
28
27
|
end
|
29
28
|
|
30
|
-
def auto_sanitizer_generator(element)
|
31
|
-
build_sanitizer_method("sanitize_#{element}")
|
32
|
-
end
|
33
29
|
def auto_render_generator(element)
|
34
30
|
Universe.renderer_list.each do |render_engine|
|
35
31
|
build_render_method("#{render_engine}_#{element}")
|
@@ -40,12 +36,11 @@ class Atome
|
|
40
36
|
new_render_engine(renderer_name, &method_proc)
|
41
37
|
end
|
42
38
|
|
43
|
-
def
|
44
|
-
|
39
|
+
def build_sanitizer(method_name, &method_proc)
|
40
|
+
Universe.add_sanitizer_method(method_name.to_sym, &method_proc)
|
45
41
|
end
|
46
42
|
|
47
|
-
|
48
|
-
|
49
|
-
Universe.add_optionals_methods(method_name.to_sym, &method_proc)
|
43
|
+
def build_option(method_name, &method_proc)
|
44
|
+
Universe.add_optional_method(method_name.to_sym, &method_proc)
|
50
45
|
end
|
51
46
|
end
|
@@ -6,13 +6,13 @@ module Essentials
|
|
6
6
|
render_engines: [:browser],
|
7
7
|
element: { type: :element, renderers: [] },
|
8
8
|
box: { renderers: '', id: '', type: :shape, parents: [], children: [], width: 99, height: 99 },
|
9
|
-
circle: { renderers: '', id: '', type: :shape, parents: [], children: [], width: 99, height: 99,
|
9
|
+
circle: { renderers: '', id: '', type: :shape, parents: [], children: [], width: 99, height: 99,
|
10
10
|
smooth: '100%' },
|
11
11
|
shape: { renderers: '', id: '', width: 100, type: :shape, height: 100, left: 100, top: 100,
|
12
12
|
color: { left: 0, top: 0, z: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
13
13
|
generator: :manual },
|
14
14
|
text: { type: :text, parents: [:view], children: [], visual: { size: 25 },
|
15
|
-
data: 'this is a text sample',
|
15
|
+
data: 'this is a text sample', width: 199, height: 33 },
|
16
16
|
drm: { type: :drm },
|
17
17
|
shadow: {}
|
18
18
|
}
|
@@ -10,7 +10,7 @@ class Atome
|
|
10
10
|
{ red: split_data[0].to_f / 100, green: split_data[1].to_f / 100, blue: split_data[2].to_f / 100 }
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
13
|
+
def found_parents_and_renderers
|
14
14
|
if @atome
|
15
15
|
parent_found = [@atome[:id]]
|
16
16
|
render_found = @atome[:renderers]
|
@@ -20,23 +20,4 @@ class Atome
|
|
20
20
|
end
|
21
21
|
{ parent: parent_found, renderers: render_found }
|
22
22
|
end
|
23
|
-
|
24
|
-
def sanitize_element(params)
|
25
|
-
parent_found = found_parent_and_render[:parent]
|
26
|
-
render_found = found_parent_and_render[:renderers]
|
27
|
-
default_params = { renderers: render_found, id: "element_#{Universe.atomes.length}", type: :element,
|
28
|
-
parents: parent_found }
|
29
|
-
default_params.merge!(params)
|
30
|
-
end
|
31
|
-
|
32
|
-
def sanitize_color(params)
|
33
|
-
parent_found = found_parent_and_render[:parent]
|
34
|
-
render_found = found_parent_and_render[:renderers]
|
35
|
-
default_params = { renderers: render_found, id: "color_#{Universe.atomes.length}", type: :color,
|
36
|
-
parents: parent_found,
|
37
|
-
red: 0, green: 0, blue: 0, alpha: 1 }
|
38
|
-
params = create_color_hash(params) unless params.instance_of? Hash
|
39
|
-
default_params.merge!(params)
|
40
|
-
end
|
41
|
-
|
42
23
|
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
class Atome
|
5
5
|
private
|
6
6
|
|
7
|
-
def
|
7
|
+
def collapse
|
8
8
|
@atome.each do |element, value|
|
9
9
|
send(element, value) unless element == :type
|
10
10
|
end
|
@@ -14,19 +14,12 @@ class Atome
|
|
14
14
|
true
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
17
|
+
def sanitize(element, params)
|
18
|
+
bloc_found = Universe.get_sanitizer_method(element)
|
19
|
+
params = instance_exec(params, &bloc_found) if bloc_found.is_a?(Proc)
|
18
20
|
params
|
19
21
|
end
|
20
22
|
|
21
|
-
def atome_sanitizer(element, params)
|
22
|
-
send("sanitize_#{element}", params)
|
23
|
-
end
|
24
|
-
|
25
|
-
def sanitize_particle(element, value, &user_proc)
|
26
|
-
value = particle_sanitizer(element, value)
|
27
|
-
create_particle(element, value, &user_proc)
|
28
|
-
end
|
29
|
-
|
30
23
|
def identity_generator
|
31
24
|
{ date: Time.now, location: geolocation }
|
32
25
|
end
|
@@ -54,4 +47,8 @@ class Atome
|
|
54
47
|
value = particle.value
|
55
48
|
real_atome[property] << value
|
56
49
|
end
|
50
|
+
|
51
|
+
def refresh
|
52
|
+
collapse
|
53
|
+
end
|
57
54
|
end
|
@@ -4,13 +4,6 @@
|
|
4
4
|
class Atome
|
5
5
|
private
|
6
6
|
|
7
|
-
def rendering(element_to_render, content, &user_proc)
|
8
|
-
render_engines = @atome[:renderers]
|
9
|
-
render_engines.each do |render_engine|
|
10
|
-
send("#{render_engine}_#{element_to_render}", content, &user_proc)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
7
|
def get(element)
|
15
8
|
@atome[element]
|
16
9
|
end
|
@@ -6,7 +6,8 @@ class Universe
|
|
6
6
|
@atome_list = []
|
7
7
|
@particle_list = []
|
8
8
|
@renderer_list = %i[html browser headless server]
|
9
|
-
@
|
9
|
+
@options = {}
|
10
|
+
@sanitizers = {}
|
10
11
|
|
11
12
|
class << self
|
12
13
|
attr_reader :atomes, :renderer_list, :atome_list, :particle_list
|
@@ -15,22 +16,38 @@ class Universe
|
|
15
16
|
instance_variable_get('@particle_list').push(particle)
|
16
17
|
end
|
17
18
|
|
18
|
-
def
|
19
|
+
def add_optional_method(method_name, &method_proc)
|
19
20
|
# this method is used to add optional methods
|
20
|
-
instance_variable_get('@
|
21
|
+
instance_variable_get('@options').merge!({ method_name => method_proc })
|
21
22
|
end
|
22
23
|
|
23
|
-
def
|
24
|
+
def get_optional_method(method_name)
|
24
25
|
# this method is used to add optional methods
|
25
|
-
instance_variable_get('@
|
26
|
+
instance_variable_get('@options')[method_name]
|
27
|
+
end
|
28
|
+
|
29
|
+
def add_sanitizer_method(method_name, &method_proc)
|
30
|
+
# this method is used to add sanitizer methods
|
31
|
+
instance_variable_get('@sanitizers').merge!({ method_name => method_proc })
|
32
|
+
end
|
33
|
+
|
34
|
+
def get_sanitizer_method(method_name)
|
35
|
+
# this method is used to add optional methods
|
36
|
+
instance_variable_get('@sanitizers')[method_name]
|
26
37
|
end
|
27
38
|
|
28
39
|
def add_to_atome_list(atome)
|
29
40
|
instance_variable_get('@atome_list').push(atome)
|
30
41
|
end
|
31
42
|
|
32
|
-
def add_to_atomes(atome)
|
33
|
-
instance_variable_get('@atomes').merge!(atome)
|
43
|
+
def add_to_atomes(id, atome)
|
44
|
+
# instance_variable_get('@atomes').merge!(atome)
|
45
|
+
@atomes[id] = atome
|
46
|
+
end
|
47
|
+
|
48
|
+
def update_atome_id(id, atome, prev_id)
|
49
|
+
@atomes[id] = atome
|
50
|
+
@atomes.delete(prev_id)
|
34
51
|
end
|
35
52
|
|
36
53
|
def app_identity
|
@@ -41,9 +58,9 @@ class Universe
|
|
41
58
|
# and finally the object is 3 as this the third object created by the main server
|
42
59
|
end
|
43
60
|
|
44
|
-
def change_atome_id(prev_id, new_id)
|
45
|
-
|
46
|
-
end
|
61
|
+
# def change_atome_id(prev_id, new_id)
|
62
|
+
# @atomes[new_id] = @atomes.delete(prev_id)
|
63
|
+
# end
|
47
64
|
|
48
65
|
def delete(id)
|
49
66
|
@atomes.delete(id)
|
data/lib/atome/presets/atome.rb
CHANGED
@@ -22,7 +22,7 @@ class Atome
|
|
22
22
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
23
23
|
generated_parents = params[:parents] || [id.value]
|
24
24
|
params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
|
25
|
-
color_generated =
|
25
|
+
color_generated = sanitize(:color, { parents: [generated_id], red: 0.3, green: 0.3, blue: 0.3 })
|
26
26
|
params[:color] = color_generated
|
27
27
|
Atome.new({ atome_type => params }, &bloc)
|
28
28
|
end
|
@@ -34,7 +34,7 @@ class Atome
|
|
34
34
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
35
35
|
generated_parents = params[:parents] || [id.value]
|
36
36
|
params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
|
37
|
-
color_generated =
|
37
|
+
color_generated = sanitize(:color, { parents: [generated_id], red: 0.6, green: 0.6, blue: 0.6 })
|
38
38
|
params[:color] = color_generated
|
39
39
|
Atome.new({ atome_type => params }, &bloc)
|
40
40
|
end
|
@@ -45,7 +45,7 @@ class Atome
|
|
45
45
|
generated_id = params[:id] || "image_#{Universe.atomes.length}"
|
46
46
|
generated_render = params[:renderers] || default_renderer
|
47
47
|
generated_parents = params[:parents] || id.value
|
48
|
-
|
48
|
+
# TODO : the line below should get the value from default params Essentials
|
49
49
|
temp_default = { renderers: generated_render, id: generated_id, type: :image, parents: [generated_parents],
|
50
50
|
children: [], width: 99, height: 99, path: './medias/images/atome.svg' }
|
51
51
|
params = temp_default.merge(params)
|
@@ -59,8 +59,30 @@ class Atome
|
|
59
59
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
60
60
|
generated_parents = params[:parents] || [id.value]
|
61
61
|
params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
|
62
|
-
color_generated =
|
62
|
+
color_generated = sanitize(:color, { parents: [generated_id], red: 0.9, green: 0.9, blue: 0.9 })
|
63
63
|
params[:color] = color_generated
|
64
64
|
Atome.new({ atome_type => params }, &bloc)
|
65
65
|
end
|
66
|
+
|
67
|
+
def element(params = {}, &bloc)
|
68
|
+
atome_type = :element
|
69
|
+
generated_render = params[:renderers] || []
|
70
|
+
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
71
|
+
generated_parents = params[:parents] || [id.value]
|
72
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
|
73
|
+
Atome.new({ atome_type => params }, &bloc)
|
74
|
+
end
|
75
|
+
|
76
|
+
def web(params = {}, &bloc)
|
77
|
+
default_renderer = Essentials.default_params[:render_engines]
|
78
|
+
|
79
|
+
generated_id = params[:id] || "web_#{Universe.atomes.length}"
|
80
|
+
generated_render = params[:renderers] || default_renderer
|
81
|
+
generated_parents = params[:parents] || id.value
|
82
|
+
# TODO : the line below should get the value from default params Essentials
|
83
|
+
temp_default = { renderers: generated_render, id: generated_id, type: :web, parents: [generated_parents],
|
84
|
+
children: [], width: 120, height: 120, path: 'https://www.youtube.com/embed/usQDazZKWAk' }
|
85
|
+
params = temp_default.merge(params)
|
86
|
+
Atome.new({ image: params }, &bloc)
|
87
|
+
end
|
66
88
|
end
|
@@ -18,7 +18,7 @@ generator.build_render_method(:browser_shape) do
|
|
18
18
|
end.append_to(BrowserHelper.browser_document[:user_view])
|
19
19
|
@browser_object = BrowserHelper.browser_document[id_found]
|
20
20
|
# Render particles below
|
21
|
-
|
21
|
+
# collapse
|
22
22
|
end
|
23
23
|
|
24
24
|
generator.build_render_method(:browser_color) do |_value|
|
@@ -37,8 +37,9 @@ generator.build_render_method(:browser_color) do |_value|
|
|
37
37
|
# TODO/ use the code below to modify the style tag
|
38
38
|
@browser_object = BrowserHelper.browser_document[id_found]
|
39
39
|
# now we just have to attach the color atome
|
40
|
-
parents(@atome[:parents])
|
41
|
-
children(@atome[:children])
|
40
|
+
# parents(@atome[:parents])
|
41
|
+
# children(@atome[:children])
|
42
|
+
# collapse
|
42
43
|
end
|
43
44
|
|
44
45
|
generator.build_render_method(:browser_shadow) do |_value|
|
@@ -65,31 +66,43 @@ end
|
|
65
66
|
|
66
67
|
generator.build_render_method(:browser_image) do |_user_prc|
|
67
68
|
@browser_type = :div
|
68
|
-
id_found = id
|
69
|
+
id_found = @atome[:id]
|
69
70
|
DOM do
|
70
71
|
img({ id: id_found }).atome
|
71
72
|
end.append_to(BrowserHelper.browser_document[:user_view])
|
72
73
|
@browser_object = BrowserHelper.browser_document[id_found]
|
73
74
|
# Render particles below
|
74
|
-
|
75
|
-
end
|
76
|
-
|
77
|
-
generator.build_render_method(:browser_video) do |_value, _user_proc|
|
78
|
-
# @browser_type = :div
|
79
|
-
# id_found = id
|
80
|
-
# DOM do
|
81
|
-
# video({ id: id_found, autoplay: true, loop: false, muted: true }).atome
|
82
|
-
# end.append_to(BrowserHelper.browser_document[:user_view])
|
83
|
-
# @browser_object = BrowserHelper.browser_document[id_found]
|
75
|
+
# collapse
|
84
76
|
end
|
85
77
|
|
86
78
|
generator.build_render_method(:browser_text) do |_value, _user_proc|
|
87
|
-
id_found = id
|
79
|
+
id_found = @atome[:id]
|
88
80
|
DOM do
|
89
81
|
div(id: id_found).atome.text
|
90
82
|
end.append_to(BrowserHelper.browser_document[:user_view])
|
91
83
|
@browser_object = BrowserHelper.browser_document[id_found]
|
92
84
|
@browser_type = :div
|
93
85
|
# Render particles below
|
94
|
-
|
86
|
+
# collapse
|
87
|
+
end
|
88
|
+
|
89
|
+
generator.build_render_method(:browser_web) do
|
90
|
+
@browser_type = :web
|
91
|
+
id_found = @atome[:id]
|
92
|
+
DOM do
|
93
|
+
iframe({ id: id_found }).atome
|
94
|
+
end.append_to(BrowserHelper.browser_document[:user_view])
|
95
|
+
@browser_object = BrowserHelper.browser_document[id_found]
|
96
|
+
@browser_object.attributes[:allow] = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture'
|
97
|
+
@browser_object.attributes[:allowfullscreen] = true
|
98
|
+
@html_type = :web
|
95
99
|
end
|
100
|
+
|
101
|
+
generator.build_render_method(:browser_video) do |_value, _user_proc|
|
102
|
+
@browser_type = :div
|
103
|
+
id_found = @atome[:id]
|
104
|
+
DOM do
|
105
|
+
video({ id: id_found, autoplay: false, loop: false, muted: true }).atome
|
106
|
+
end.append_to(BrowserHelper.browser_document[:user_view])
|
107
|
+
@browser_object = BrowserHelper.browser_document[id_found]
|
108
|
+
end
|