atome 0.5.1.1 → 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/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
|