atome 0.5.3.8.0 → 0.5.3.8.1
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/exe/atome +2 -3
- data/lib/atome/atome.rb +38 -22
- data/lib/atome/extensions/atome.rb +2 -1
- data/lib/atome/genesis/generators/atome.rb +6 -6
- data/lib/atome/genesis/genesis.rb +6 -0
- data/lib/atome/helpers/essentials.rb +17 -16
- data/lib/atome/helpers/utilities.rb +6 -2
- data/lib/atome/version.rb +1 -1
- data/vendor/assets/src/medias/rubies/examples/!run.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fd6a8f4f6c72f5e9d1974bcf411e6ce19c3469953d39a1ad7ef7de1497626b60
|
|
4
|
+
data.tar.gz: 2e22cbbe3428e8506c1855fd0dadccfa55e6725912d5adf746963f0754e50884
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '0769c9974cf27f2b275d540baf5f5d22a3a30b979be3c41972fbb246400925864f14299e3fddf4acdf07a89952949dbcbaa96056f14439d27fbb0896d4c4a727'
|
|
7
|
+
data.tar.gz: 6450a2fa9015d97cd14ca151324d9a70065a4893bd343f80936032ff6f8197ac7d80180d69eb959e5257a622905cb96830ee05dc03aa35c15820e92ca3fc3709
|
data/exe/atome
CHANGED
data/lib/atome/atome.rb
CHANGED
|
@@ -3,34 +3,50 @@
|
|
|
3
3
|
# TODO : remove monitoring
|
|
4
4
|
# TODO : remove child
|
|
5
5
|
# TODO : remove parents
|
|
6
|
-
|
|
6
|
+
# new({ particle: :type })
|
|
7
|
+
# create_particle(:type, true, true)
|
|
7
8
|
# main entry here
|
|
8
9
|
class Atome
|
|
9
10
|
# TODO : clean or delete @private_atome
|
|
10
11
|
include Essentials
|
|
12
|
+
|
|
11
13
|
private
|
|
12
14
|
|
|
13
15
|
def initialize(atomes = {}, &atomes_proc)
|
|
16
|
+
# puts "atome are #{atomes}"
|
|
14
17
|
atomes.each_value do |elements|
|
|
15
18
|
# the instance variable below contain the id all any atomes that need to be informed when changes occurs
|
|
16
19
|
@broadcast = {}
|
|
17
20
|
# now we store the proc in a an atome's property called :bloc
|
|
18
21
|
elements[:code] = atomes_proc if atomes_proc
|
|
19
22
|
@atome = elements
|
|
20
|
-
# we initiate the rendering
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
set_type(@atome[:type])
|
|
23
|
+
# we initiate the rendering suing set_type method,
|
|
24
|
+
# eg for for browser we will call :browser_type generate method in identity.rb file
|
|
25
|
+
set_type(@atome[:type], &atomes_proc)
|
|
24
26
|
collapse
|
|
27
|
+
|
|
25
28
|
end
|
|
26
29
|
end
|
|
27
30
|
|
|
31
|
+
def set_type(params, &atomes_proc)
|
|
32
|
+
# @atome[params]
|
|
33
|
+
# puts "params is : #{@atome[:children]}"
|
|
34
|
+
# @atome[:children]={shapes: [params]}
|
|
35
|
+
# @atome[:shape]=:poil
|
|
36
|
+
# puts "type is : #{@atome[params].class}"
|
|
37
|
+
# unless @atome[params]
|
|
38
|
+
# @atome[params] = []
|
|
39
|
+
# end
|
|
40
|
+
# @atome[params] << params
|
|
41
|
+
rendering(:type, params, &atomes_proc)
|
|
42
|
+
end
|
|
43
|
+
|
|
28
44
|
def new_particle(element, store, render, &method_proc)
|
|
29
45
|
Atome.define_method element do |params = nil, &user_proc|
|
|
30
46
|
if params || params == false
|
|
31
47
|
# the line below execute the proc created when using the build_particle method
|
|
32
48
|
instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
|
|
33
|
-
params = sanitize(element, params
|
|
49
|
+
params = sanitize(element, params, &user_proc)
|
|
34
50
|
create_particle(element, store, render)
|
|
35
51
|
send("set_#{element}", params, &user_proc)
|
|
36
52
|
else
|
|
@@ -55,20 +71,20 @@ class Atome
|
|
|
55
71
|
send("set_#{element}", params, &user_proc)
|
|
56
72
|
end
|
|
57
73
|
|
|
58
|
-
def atome_initializer(element, params = {})
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
end
|
|
74
|
+
# def atome_initializer(element, params = {})
|
|
75
|
+
# temp_default = Essentials.default_params[element] || {}
|
|
76
|
+
# generated_render = params[:renderers] || []
|
|
77
|
+
# generated_id = params[:id] || identity_generator(:element)
|
|
78
|
+
# alert "generated_parents: #{id.value}"
|
|
79
|
+
# generated_parents = params[:parents] || [id.value]
|
|
80
|
+
# generated_children = params[:children] || []
|
|
81
|
+
# temp_default[:id] = generated_id
|
|
82
|
+
# temp_default[:parents] = generated_parents
|
|
83
|
+
# temp_default[:clones] = []
|
|
84
|
+
# temp_default[:renderers] = generated_render
|
|
85
|
+
# temp_default[:children] = generated_children
|
|
86
|
+
# temp_default.merge(params)
|
|
87
|
+
# end
|
|
72
88
|
|
|
73
89
|
def new_atome(element, &method_proc)
|
|
74
90
|
Atome.define_method element do |params = nil, &user_proc|
|
|
@@ -119,10 +135,10 @@ class Atome
|
|
|
119
135
|
# Params is now an instance variable so it should be passed thru different methods
|
|
120
136
|
instance_variable_set("@#{element}", params) if store
|
|
121
137
|
run_optional_proc("pre_render_#{element}".to_sym, self, params, &user_proc)
|
|
122
|
-
rendering(element,params, &user_proc) if render
|
|
138
|
+
rendering(element, params, &user_proc) if render
|
|
123
139
|
run_optional_proc("post_render_#{element}".to_sym, self, params, &user_proc)
|
|
124
140
|
broadcasting(element)
|
|
125
|
-
store_value(element)
|
|
141
|
+
store_value(element) if store
|
|
126
142
|
self
|
|
127
143
|
end
|
|
128
144
|
|
|
@@ -46,7 +46,8 @@ end
|
|
|
46
46
|
def create_method_at_object_level(element)
|
|
47
47
|
|
|
48
48
|
Object.define_method element do |params, &user_proc|
|
|
49
|
-
|
|
49
|
+
default_parent=Essentials.default_params[element][:parents][0]# we get the first parents
|
|
50
|
+
grab(default_parent).send(element, params, &user_proc)
|
|
50
51
|
end
|
|
51
52
|
|
|
52
53
|
end
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
new({ atome: :color })
|
|
3
|
+
new({ atome: :color, type: :hash })
|
|
4
4
|
|
|
5
5
|
new({ sanitizer: :color }) do |params|
|
|
6
6
|
parent_found = found_parents_and_renderers[:parent]
|
|
7
|
-
if parent_found == [:
|
|
8
|
-
|
|
7
|
+
if parent_found == [:black_matter]
|
|
8
|
+
|
|
9
9
|
elsif color.value
|
|
10
10
|
# we delete any previous color if there's one
|
|
11
11
|
detached(color.value)
|
|
12
|
-
grab(color.value)&.delete(true)# we had the condition because the color may exist but
|
|
12
|
+
grab(color.value)&.delete(true) # we had the condition because the color may exist but
|
|
13
13
|
# so it is not sanitized so it has no id
|
|
14
14
|
end
|
|
15
15
|
|
|
@@ -61,7 +61,7 @@ new({ sanitizer: :shadow }) do |params|
|
|
|
61
61
|
elsif shadow.value
|
|
62
62
|
# we delete any previous color if there's one
|
|
63
63
|
detached(shadow.value)
|
|
64
|
-
grab(shadow.value)&.delete(true)# we had the condition because the shadow may exist but
|
|
64
|
+
grab(shadow.value)&.delete(true) # we had the condition because the shadow may exist but
|
|
65
65
|
# so it is not sanitized so it has no id
|
|
66
66
|
end
|
|
67
67
|
## we delete any previous shadow if there's one
|
|
@@ -123,7 +123,7 @@ new({ sanitizer: :animation }) do |params|
|
|
|
123
123
|
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
|
124
124
|
params
|
|
125
125
|
end
|
|
126
|
-
new({ atome: :text })
|
|
126
|
+
new({ atome: :text, type: :hash })
|
|
127
127
|
new({ sanitizer: :text }) do |params|
|
|
128
128
|
params = { data: params } unless params.instance_of? Hash
|
|
129
129
|
default_renderer = Essentials.default_params[:render_engines]
|
|
@@ -31,6 +31,12 @@ class Atome
|
|
|
31
31
|
def build_atome(atome_name, &atome_proc)
|
|
32
32
|
# we add the new method to the atome's collection of methods
|
|
33
33
|
Universe.add_to_atome_list(atome_name)
|
|
34
|
+
unless Essentials.default_params[atome_name]
|
|
35
|
+
# if it doesn't exist
|
|
36
|
+
# we create default params for the new created atome, adding the hash to : module essential , @default_params
|
|
37
|
+
Essentials.new_default_params(atome_name => { type: atome_name, children: [], parents: [:view] })
|
|
38
|
+
end
|
|
39
|
+
|
|
34
40
|
# the line below create an empty atome method for each renderer, eg: browser_left, headless_left, ...
|
|
35
41
|
auto_render_generator(atome_name)
|
|
36
42
|
new_atome(atome_name, &atome_proc)
|
|
@@ -4,27 +4,27 @@
|
|
|
4
4
|
module Essentials
|
|
5
5
|
@default_params = {
|
|
6
6
|
render_engines: [:browser],
|
|
7
|
-
collector: { type: :element, renderers: [], children: [] },
|
|
8
|
-
animation: { type: :animation, children: [] },
|
|
9
|
-
element: { type: :element, renderers: [], children: [] },
|
|
10
|
-
matrix: { renderers: [], id: '', type: :shape,
|
|
7
|
+
collector: { type: :element, renderers: [], children: [], parents: [:black_matter] },
|
|
8
|
+
animation: { type: :animation, children: [] , parents: [:black_matter]},
|
|
9
|
+
element: { type: :element, renderers: [], children: [] , parents: [:black_matter]},
|
|
10
|
+
matrix: { renderers: [], id: '', type: :shape, width: 99, height: 99,
|
|
11
11
|
attached: [:matrix_color], children: [],
|
|
12
|
-
left: 100, top: 100, clones: [], preset: :matrix },
|
|
13
|
-
box: { renderers: [], id: '', type: :shape,
|
|
14
|
-
attached: [:box_color], children: [],
|
|
12
|
+
left: 100, top: 100, clones: [], preset: :matrix, parents: [:view] },
|
|
13
|
+
box: { renderers: [], id: '', type: :shape, width: 99, height: 99,
|
|
14
|
+
attached: [:box_color], children: [], parents: [:view],
|
|
15
15
|
left: 100, top: 100, clones: [], preset: :box },
|
|
16
|
-
circle: { renderers: [], id: '', type: :shape,
|
|
17
|
-
attached: [:circle_color], children: [],
|
|
16
|
+
circle: { renderers: [], id: '', type: :shape, width: 99, height: 99, smooth: '100%',
|
|
17
|
+
attached: [:circle_color], children: [], parents: [:view],
|
|
18
18
|
left: 100, top: 100, clones: [], preset: :circle },
|
|
19
|
-
shape: { renderers: [], id: '', type: :shape,
|
|
20
|
-
attached: [:shape_color], children: [],
|
|
19
|
+
shape: { renderers: [], id: '', type: :shape, width: 99, height: 99,
|
|
20
|
+
attached: [:shape_color], children: [], parents: [:view],
|
|
21
21
|
left: 100, top: 100, clones: [] },
|
|
22
|
-
text: { renderers: [], id: '', type: :text,
|
|
23
|
-
attached: [:text_color], children: [],
|
|
22
|
+
text: { renderers: [], id: '', type: :text, visual: { size: 25 },
|
|
23
|
+
attached: [:text_color], children: [], parents: [:view],
|
|
24
24
|
data: 'this is a text sample', width: 199, height: 33, clones: [] },
|
|
25
|
-
drm: { type: :drm },
|
|
26
|
-
shadow: {},
|
|
27
|
-
color: {}
|
|
25
|
+
drm: { type: :drm,parents: [:black_matter] },
|
|
26
|
+
shadow: {parents: [:black_matter]},
|
|
27
|
+
color: {parents: [:black_matter]}
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
def self.default_params
|
|
@@ -32,6 +32,7 @@ module Essentials
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def self.new_default_params(new_default)
|
|
35
|
+
# puts "=====+====> #{new_default}, #{new_default.class}"
|
|
35
36
|
@default_params.merge!(new_default)
|
|
36
37
|
end
|
|
37
38
|
|
|
@@ -6,7 +6,6 @@ class Atome
|
|
|
6
6
|
|
|
7
7
|
def collapse
|
|
8
8
|
@atome.each do |element, value|
|
|
9
|
-
# puts "=============> #{element}"
|
|
10
9
|
send(element, value) unless element == :type
|
|
11
10
|
end
|
|
12
11
|
end
|
|
@@ -89,9 +88,14 @@ class Atome
|
|
|
89
88
|
@atome[particle] << value
|
|
90
89
|
end
|
|
91
90
|
|
|
91
|
+
def add_to_atome(atome_found, particle_found, &user_proc)
|
|
92
|
+
puts "we add : #{particle_found} to #{send(atome_found)} "
|
|
93
|
+
send(atome_found,particle_found,:adder, &user_proc)
|
|
94
|
+
end
|
|
95
|
+
|
|
92
96
|
def add(particles, &user_proc)
|
|
93
97
|
particles.each do |particle, value|
|
|
94
|
-
particle_type = Universe.particle_list[particle]
|
|
98
|
+
particle_type = Universe.particle_list[particle] || 'atome'
|
|
95
99
|
send("add_to_#{particle_type}", particle, value, &user_proc)
|
|
96
100
|
end
|
|
97
101
|
end
|
data/lib/atome/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: atome
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.3.8.
|
|
4
|
+
version: 0.5.3.8.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jean-Eric Godard
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-02-
|
|
11
|
+
date: 2023-02-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: arduino_firmata
|