atome 0.5.6.5.1 → 0.5.6.5.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/atome/genesis/particles/material.rb +14 -0
  3. data/lib/atome/genesis/sparkle.rb +23 -15
  4. data/lib/atome/kernel/universe.rb +19 -10
  5. data/lib/atome/{helpers → utilities}/utilities.rb +8 -13
  6. data/lib/atome/version.rb +1 -1
  7. data/lib/atome.rb +5 -5
  8. data/lib/atome_relative.rb +5 -5
  9. data/lib/renderers/html/material.rb +2 -10
  10. data/vendor/assets/application/examples/border.rb +14 -3
  11. data/vendor/assets/server/eDen.rb +8 -1
  12. metadata +20 -21
  13. data/lib/atome/kernel/ruby +0 -0
  14. /data/lib/atome/{helpers → utilities}/color_helper/color/cmyk.rb +0 -0
  15. /data/lib/atome/{helpers → utilities}/color_helper/color/css.rb +0 -0
  16. /data/lib/atome/{helpers → utilities}/color_helper/color/grayscale.rb +0 -0
  17. /data/lib/atome/{helpers → utilities}/color_helper/color/hsl.rb +0 -0
  18. /data/lib/atome/{helpers → utilities}/color_helper/color/palette/adobecolor.rb +0 -0
  19. /data/lib/atome/{helpers → utilities}/color_helper/color/palette/gimp.rb +0 -0
  20. /data/lib/atome/{helpers → utilities}/color_helper/color/palette/monocontrast.rb +0 -0
  21. /data/lib/atome/{helpers → utilities}/color_helper/color/palette.rb +0 -0
  22. /data/lib/atome/{helpers → utilities}/color_helper/color/rgb/colors.rb +0 -0
  23. /data/lib/atome/{helpers → utilities}/color_helper/color/rgb/contrast.rb +0 -0
  24. /data/lib/atome/{helpers → utilities}/color_helper/color/rgb/metallic.rb +0 -0
  25. /data/lib/atome/{helpers → utilities}/color_helper/color/rgb.rb +0 -0
  26. /data/lib/atome/{helpers → utilities}/color_helper/color/yiq.rb +0 -0
  27. /data/lib/atome/{helpers → utilities}/color_helper/color.rb +0 -0
  28. /data/lib/atome/{helpers → utilities}/essentials.rb +0 -0
  29. /data/lib/atome/{helpers → utilities}/sanitizer.rb +0 -0
  30. /data/lib/atome/{helpers → utilities}/security.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 851b897d4aa5b30db58c4ac2b6b9cf7398e1dc478e6e66f2a0d9e5ab181ae999
4
- data.tar.gz: e0c43d5d928acf4ece30d315227c759f070c5206ed4488b82e29f1565dcf906b
3
+ metadata.gz: 40ed4954cd1a97e3ebffa9a25d44de095ea8f1b825b91abab913ce9cf61535f6
4
+ data.tar.gz: c6da10feae807b7e738065951de242abfd3dcb31558552d2f47135bd41e67433
5
5
  SHA512:
6
- metadata.gz: a0b3f00737041ea0256b1955313f4c3ba462707558bb9459cd7cc39ccc7869692122c1edef2585eb69626c7a622329305fb01cbbe80fe7a11a2c489fce6a6a62
7
- data.tar.gz: f7edd0ce4311f84b60ab3ef1e336a7a60ae3a215f09f93de1e1c41937b392e6a54206f0a6f71bca8c3bdcd79db2ce0b89eb2ed891af00e67d19bfbcef3eef368
6
+ metadata.gz: 496ec64689699de33f6538034ba9ace545628ae2fcaa996521c747ffbb89d86461de0ac35580052d93ed1feb0518954cefc2e07afd6cab33f672ea44785ea299
7
+ data.tar.gz: 102a1c8266be193f3781154a597c1715e906e1da63f7df1e070e50c399f078a651947bc5f39d5f4f3a9423833fc0a7966dada61dc1199d280f086061dbe1bdce
@@ -98,5 +98,19 @@ end
98
98
  new({ particle: :gradient, category: :material, type: :int })
99
99
 
100
100
  new({ particle: :thickness, category: :material, type: :int })
101
+ new({ after: :thickness}) do |params|
102
+ a=affect.dup # FIXME we have to dup else some items in the array array other duplicated
103
+ a.each do |atome_to_refresh|
104
+ grab(atome_to_refresh).apply(id)
105
+ end
106
+ params
107
+ end
101
108
  new({ particle: :pattern, category: :material, type: :string })
109
+ new({ after: :pattern })do |params|
110
+ a=affect.dup # FIXME we have to dup else some items in the array array other duplicated
111
+ a.each do |atome_to_refresh|
112
+ grab(atome_to_refresh).apply(id)
113
+ end
114
+ params
115
+ end
102
116
  # new({ particle: :border, category: :material, type: :int })
@@ -142,13 +142,19 @@ def atome_genesis
142
142
  atome_infos
143
143
  A.server({ address: 'localhost:9292', type: 'ws' })
144
144
  A.init_websocket do |msg|
145
- puts "-3 #{msg}"
145
+ puts "websocket initailsaed #{msg}"
146
146
  end
147
147
  end
148
148
 
149
149
  def init_database # this method is call from JS (atome/communication) at WS connection
150
150
  # we init the db file eDen
151
- A.message({ action: :init_db, data: { database: :eDen } }) do |_db_state|
151
+ A.sync({ action: :init_db, data: { database: :eDen } }) do |data|
152
+
153
+ if data[:data][:message] == 'database_ready'
154
+ Universe.database_ready = true
155
+ else
156
+ Universe.database_ready = false
157
+ end
152
158
  end
153
159
  # authentication : email, pass
154
160
  # atome : date, particles
@@ -156,36 +162,37 @@ def init_database # this method is call from JS (atome/communication) at WS conn
156
162
 
157
163
  particles = Universe.particle_list
158
164
  # now we populate the DB
159
- A.message({ action: :crate_db_table, data: { table: :user } }) do |_db_state|
165
+ A.sync({ action: :crate_db_table, data: { table: :user } }) do |_db_state|
166
+ # puts "===> #{_db_state}"
160
167
  end
161
168
 
162
- A.message({ action: :create_db_column, data: { table: :user, column: :email, type: :string } }) do |_db_state|
169
+ A.sync({ action: :create_db_column, data: { table: :user, column: :email, type: :string } }) do |_db_state|
163
170
  end
164
171
 
165
- A.message({ action: :create_db_column, data: { table: :user, column: :password, type: :string } }) do |_db_state|
172
+ A.sync({ action: :create_db_column, data: { table: :user, column: :password, type: :string } }) do |_db_state|
166
173
  end
167
174
 
168
- A.message({ action: :crate_db_table, data: { table: :history } }) do |_db_state|
175
+ A.sync({ action: :crate_db_table, data: { table: :history } }) do |_db_state|
169
176
  end
170
- A.message({ action: :create_db_column, data: { table: :history, column: :aid, type: :string } }) do |_db_state|
177
+ A.sync({ action: :create_db_column, data: { table: :history, column: :aid, type: :string } }) do |_db_state|
171
178
  end
172
- A.message({ action: :create_db_column, data: { table: :history, column: :particle, type: :string } }) do |_db_state|
179
+ A.sync({ action: :create_db_column, data: { table: :history, column: :particle, type: :string } }) do |_db_state|
173
180
  end
174
- A.message({ action: :create_db_column, data: { table: :history, column: :value, type: :string } }) do |_db_state|
181
+ A.sync({ action: :create_db_column, data: { table: :history, column: :value, type: :string } }) do |_db_state|
175
182
  end
176
- A.message({ action: :create_db_column, data: { table: :history, column: :date, type: :datetime } }) do |_db_state|
183
+ A.sync({ action: :create_db_column, data: { table: :history, column: :date, type: :datetime } }) do |_db_state|
177
184
  end
178
185
 
179
- A.message({ action: :crate_db_table, data: { table: :atome } }) do |_db_state|
186
+ A.sync({ action: :crate_db_table, data: { table: :atome } }) do |_db_state|
180
187
  end
181
188
  particles.each do |particle, infos|
182
189
  type = infos[:type]
183
- A.message({ action: :create_db_column, data: { table: :atome, column: particle, type: type } }) do |_db_state|
190
+ A.sync({ action: :create_db_column, data: { table: :atome, column: particle, type: type } }) do |_db_state|
184
191
  end
185
192
  end
186
193
 
187
194
  # now we send localstorage content to the server
188
- puts "now we send localstorage send_localstorage_content to the server"
195
+ puts "now we send localstorage send_localstorage_content to the server"
189
196
  send_localstorage_content
190
197
  # A.message({ action: :localstorage, data: get_localstorage_content }) do |_db_state|
191
198
  # end
@@ -194,11 +201,12 @@ end
194
201
  def user_login
195
202
  # user = Universe.current_user
196
203
  password = Black_matter.password
197
- message({ action: :authentication, data: { email: 'jeezs@atome.one' } }) do |email|
204
+ sync({ action: :authentication, data: { email: 'jeezs@atome.one' } }) do |email|
198
205
  puts "email received : #{email}"
199
206
  end
200
- message({ action: :authorization, data: { password: password } }) do |pass|
207
+ sync({ action: :authorization, data: { password: password } }) do |pass|
201
208
  puts "password received : #{pass}"
202
209
  end
203
210
  end
211
+
204
212
  # Universe.allow_history=true
@@ -11,18 +11,20 @@ class Universe
11
11
  @sanitizers = {}
12
12
  @specificities = {}
13
13
  @messages = {}
14
- @increment=0
14
+ @increment = 0
15
15
  @categories = %w[atome communication effect event geometry hierarchy identity material
16
16
  property security spatial time utility ]
17
17
  @history = {}
18
18
  @users = {}
19
19
  @help = {}
20
20
  @example = {}
21
- @allow_history= false
21
+ @allow_history = false
22
+ @database_ready = false
22
23
  # @historicize=false
23
24
  class << self
24
- attr_reader :atomes,:atomes_ids, :renderer_list, :atome_list, :particle_list, :classes, :counter, :atomes_specificities
25
- attr_accessor :allow_history
25
+ attr_reader :atomes, :atomes_ids, :renderer_list, :atome_list, :particle_list, :classes, :counter, :atomes_specificities
26
+ attr_accessor :allow_history, :database_ready
27
+
26
28
  def messages
27
29
  @messages
28
30
  end
@@ -124,11 +126,13 @@ class Universe
124
126
  end
125
127
  collected_id
126
128
  end
129
+
127
130
  def generate_uuid
128
- uuid = SecureRandom.uuid.gsub('-','')
131
+ uuid = SecureRandom.uuid.gsub('-', '')
129
132
  formatted_time = Time.now.strftime("%Y%m%d%H%M%S")
130
133
  "#{uuid}#{formatted_time}"
131
134
  end
135
+
132
136
  def app_identity
133
137
  # each app hav its own identity, this allow to generate new user identities from the
134
138
  # unique_id = generate_unique_id_with_timestamp
@@ -237,11 +241,16 @@ class Universe
237
241
  end
238
242
 
239
243
  def historicize(id, operation, element, params)
240
- if @allow_history
241
- operation_timing= Time.now.strftime("%Y%m%d%H%M%S%3N")+@increment.to_s
242
- @increment+=1
243
- @increment=@increment%100
244
- JS.global[:localStorage].setItem(operation_timing,"{ #{id} => { #{operation} => { #{element} => #{params} } }, sync: false }")
244
+
245
+ if @allow_history && @database_ready
246
+ # sync
247
+ A.sync({ action: :historicize, data: { table: :user } }) do |_db_state|
248
+ # puts "===> #{_db_state}"
249
+ end
250
+ operation_timing = Time.now.strftime("%Y%m%d%H%M%S%3N") + @increment.to_s
251
+ @increment += 1
252
+ @increment = @increment % 100
253
+ JS.global[:localStorage].setItem(operation_timing, "{ #{id} => { #{operation} => { #{element} => #{params} } }, sync: false }")
245
254
  @history[@history.length] = { operation_timing => { id => { operation => { element => params } }, sync: false, time: Time.now } }
246
255
  end
247
256
  end
@@ -7,20 +7,7 @@ class Atome
7
7
  class << self
8
8
 
9
9
 
10
- def sync(params, &bloc)
11
- alert :server_sync
12
- # params = { data: params } unless params.instance_of? Hash
13
- # # params[:user] = 'dfghg4df5gdfgh654'
14
- # # params[:pass] = 'gfhkzrhgzr4h98948'
15
- # # instance_variable_set('@message_code', {}) unless instance_variable_get('@message_code')
16
- # # store_proc= instance_variable_get('@message_code')
17
- # message_id= "msg_#{Universe.messages.length}"
18
- # params[:message_id]=message_id
19
- # # store_proc[mmessage_id]=bloc
20
- # Universe.store_messages({msg_nb:message_id, proc: bloc })
21
- # html.send_message(params)
22
10
 
23
- end
24
11
 
25
12
  def file_handler(parent, content, bloc)
26
13
  grab(parent).instance_exec(content, &bloc)
@@ -469,6 +456,14 @@ class Atome
469
456
  puts "sanitizer temp patch when an atome is passed instead of an id"
470
457
  @id
471
458
  end
459
+
460
+ def sync(params, &bloc)
461
+ params = { data: params } unless params.instance_of? Hash
462
+ message_id= "msg_#{Universe.messages.length}"
463
+ params[:message_id]=message_id
464
+ Universe.store_messages({msg_nb:message_id, proc: bloc })
465
+ html.send_message(params)
466
+ end
472
467
  end
473
468
 
474
469
 
data/lib/atome/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  # return atome version
4
4
  class Atome
5
- VERSION = '0.5.6.5.1'
5
+ VERSION = '0.5.6.5.4'
6
6
  end
data/lib/atome.rb CHANGED
@@ -7,9 +7,9 @@ require 'atome/version'
7
7
  require 'atome/genesis/genesis'
8
8
  require 'atome/kernel/black_matter'
9
9
  require 'atome/kernel/universe'
10
- require 'atome/helpers/essentials'
10
+ require 'atome/utilities/essentials'
11
11
  require 'renderers/renderer'
12
- require 'atome/helpers/color_helper/color'
12
+ require 'atome/utilities/color_helper/color'
13
13
  require 'atome/extensions/atome'
14
14
  require 'atome/extensions/mathematics'
15
15
  require 'atome/atome'
@@ -28,12 +28,12 @@ require 'atome/genesis/particles/security'
28
28
  require 'atome/genesis/particles/spatial'
29
29
  require 'atome/genesis/particles/time'
30
30
  require 'atome/genesis/particles/utility'
31
- require 'atome/helpers/utilities'
32
- require 'atome/helpers/security'
31
+ require 'atome/utilities/utilities'
32
+ require 'atome/utilities/security'
33
33
  require 'renderers/html/index'
34
34
  require 'renderers/headless/index'
35
35
  require 'renderers/server/index'
36
- require 'atome/helpers/sanitizer'
36
+ require 'atome/utilities/sanitizer'
37
37
  require 'atome/genesis/sparkle'
38
38
  require 'molecules/init'
39
39
  # require 'eVe/lib/eVe'
@@ -6,9 +6,9 @@ require_relative './atome/version'
6
6
  require_relative './atome/genesis/genesis'
7
7
  require_relative 'atome/kernel/black_matter'
8
8
  require_relative './atome/kernel/universe'
9
- require_relative './atome/helpers/essentials'
9
+ require_relative './atome/utilities/essentials'
10
10
  require_relative './renderers/renderer'
11
- require_relative './atome/helpers/color_helper/color'
11
+ require_relative './atome/utilities/color_helper/color'
12
12
  require_relative './atome/extensions/atome'
13
13
  require_relative './atome/extensions/mathematics'
14
14
  require_relative './atome/atome'
@@ -27,12 +27,12 @@ require_relative './atome/genesis/particles/security'
27
27
  require_relative './atome/genesis/particles/spatial'
28
28
  require_relative './atome/genesis/particles/time'
29
29
  require_relative './atome/genesis/particles/utility'
30
- require_relative './atome/helpers/utilities'
31
- require_relative './atome/helpers/security'
30
+ require_relative './atome/utilities/utilities'
31
+ require_relative './atome/utilities/security'
32
32
  require_relative './renderers/html/index_relative'
33
33
  require_relative './renderers/headless/index_relative'
34
34
  require_relative './renderers/server/index_relative'
35
- require_relative './atome/helpers/sanitizer'
35
+ require_relative './atome/utilities/sanitizer'
36
36
  require_relative './atome/genesis/sparkle'
37
37
  require_relative './molecules/init'
38
38
  # require_relative './eVe/lib/eVe'
@@ -69,15 +69,7 @@ end
69
69
  #
70
70
  # html.style(:border, "#{type} #{thickness}px rgba(#{red},#{green},#{blue},#{alpha})")
71
71
  # end
72
- new({ method: :thickness, type: :integer, renderer: :html}) do |params|
73
- # now we refresh if needed for dynamic refresh od affected atomes
74
- # html.style(:border, "#{type} #{thickness}px rgba(#{red},#{green},#{blue},#{alpha})")
75
- affect(affect)
76
- end
72
+ new({ method: :thickness, type: :integer, renderer: :html})
77
73
 
78
74
  # end
79
- new({ method: :pattern, type: :integer, renderer: :html}) do |params|
80
- # now we refresh if needed for dynamic refresh od affected atomes
81
- # html.style(:border, "#{type} #{thickness}px rgba(#{red},#{green},#{blue},#{alpha})")
82
- affect(affect)
83
- end
75
+ new({ method: :pattern, type: :integer, renderer: :html})
@@ -3,6 +3,7 @@
3
3
  # col=color({red: 1, green: 0.2, id: :the_col})
4
4
  c = circle({ id: :the_circle })
5
5
  b = box({ left: 333, id: :the_box })
6
+ circle({ top: 190, width: 99, height: 99, id: :dont_break_too })
6
7
  c2 = circle({ top: 190, width: 99, height: 99, id: :dont_break })
7
8
  # let's add the border
8
9
  wait 1 do
@@ -13,6 +14,7 @@ wait 1 do
13
14
  top: 3,
14
15
  blur: 9,
15
16
  invert: false,
17
+ option: :natural,
16
18
  red: 0, green: 0, blue: 0, alpha: 1
17
19
  })
18
20
  c2.border({ thickness: 5, red: 1, green: 0, blue: 0, alpha: 1, pattern: :dotted, id: :borderline })
@@ -24,6 +26,7 @@ wait 2 do
24
26
  c2.border({ thickness: 5, red: 1, green: 1, blue: 0, alpha: 1, pattern: :solid })
25
27
  c.border({ thickness: 5, red: 1, green: 1, blue: 0, alpha: 1, pattern: :dotted })
26
28
  b.border({ thickness: 3, red: 1, green: 1, blue: 0, alpha: 1, pattern: :dotted })
29
+ b.text('touch me')
27
30
  end
28
31
  #
29
32
  b.touch(true) do
@@ -33,11 +36,19 @@ b.touch(true) do
33
36
  b.apply([:the_door])
34
37
  c.apply([:the_door])
35
38
  c2.apply([:the_door])
36
- wait 3 do
39
+ wait 1 do
37
40
  # if the_door (border) is change all affect atomes are refreshed
38
- grab(:the_door).red(0)
39
- grab(:the_door).thickness(20)
40
41
  grab(:the_door).pattern(:solid)
42
+ wait 1 do
43
+ # if the_door (border) is change all affect atomes are refreshed
44
+ grab(:the_door).thickness(20)
45
+ wait 1 do
46
+ # if the_door (border) is change all affect atomes are refreshed
47
+ grab(:the_door).red(0)
48
+ c2.color({alpha: 0})
49
+
50
+ end
51
+ end
41
52
  end
42
53
  end
43
54
 
@@ -85,11 +85,18 @@ class EDen
85
85
 
86
86
  end
87
87
 
88
+ def historicize(data, message_id)
89
+ # return test
90
+ # ws.send(return_message.to_json)
91
+ return { return: 'item to historicize received', authorized: true, message_id: message_id }
92
+
93
+ end
94
+
88
95
  def init_db(_data, message_id)
89
96
  unless File.exist?("eden.sqlite3")
90
97
  Sequel.connect("sqlite://eden.sqlite3")
91
98
  end
92
- { data: { message: 'database initialised' }, message_id: message_id }
99
+ { data: { message: 'database_ready' }, message_id: message_id }
93
100
  end
94
101
 
95
102
  def crate_db_table(data, message_id)
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.6.5.1
4
+ version: 0.5.6.5.4
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: 2024-03-04 00:00:00.000000000 Z
11
+ date: 2024-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: artoo
@@ -436,28 +436,27 @@ files:
436
436
  - lib/atome/genesis/particles/time.rb
437
437
  - lib/atome/genesis/particles/utility.rb
438
438
  - lib/atome/genesis/sparkle.rb
439
- - lib/atome/helpers/color_helper/color.rb
440
- - lib/atome/helpers/color_helper/color/cmyk.rb
441
- - lib/atome/helpers/color_helper/color/css.rb
442
- - lib/atome/helpers/color_helper/color/grayscale.rb
443
- - lib/atome/helpers/color_helper/color/hsl.rb
444
- - lib/atome/helpers/color_helper/color/palette.rb
445
- - lib/atome/helpers/color_helper/color/palette/adobecolor.rb
446
- - lib/atome/helpers/color_helper/color/palette/gimp.rb
447
- - lib/atome/helpers/color_helper/color/palette/monocontrast.rb
448
- - lib/atome/helpers/color_helper/color/rgb.rb
449
- - lib/atome/helpers/color_helper/color/rgb/colors.rb
450
- - lib/atome/helpers/color_helper/color/rgb/contrast.rb
451
- - lib/atome/helpers/color_helper/color/rgb/metallic.rb
452
- - lib/atome/helpers/color_helper/color/yiq.rb
453
- - lib/atome/helpers/essentials.rb
454
- - lib/atome/helpers/sanitizer.rb
455
- - lib/atome/helpers/security.rb
456
- - lib/atome/helpers/utilities.rb
457
439
  - lib/atome/kernel/black_matter.rb
458
- - lib/atome/kernel/ruby
459
440
  - lib/atome/kernel/universe.rb
460
441
  - lib/atome/presets/atome.rb
442
+ - lib/atome/utilities/color_helper/color.rb
443
+ - lib/atome/utilities/color_helper/color/cmyk.rb
444
+ - lib/atome/utilities/color_helper/color/css.rb
445
+ - lib/atome/utilities/color_helper/color/grayscale.rb
446
+ - lib/atome/utilities/color_helper/color/hsl.rb
447
+ - lib/atome/utilities/color_helper/color/palette.rb
448
+ - lib/atome/utilities/color_helper/color/palette/adobecolor.rb
449
+ - lib/atome/utilities/color_helper/color/palette/gimp.rb
450
+ - lib/atome/utilities/color_helper/color/palette/monocontrast.rb
451
+ - lib/atome/utilities/color_helper/color/rgb.rb
452
+ - lib/atome/utilities/color_helper/color/rgb/colors.rb
453
+ - lib/atome/utilities/color_helper/color/rgb/contrast.rb
454
+ - lib/atome/utilities/color_helper/color/rgb/metallic.rb
455
+ - lib/atome/utilities/color_helper/color/yiq.rb
456
+ - lib/atome/utilities/essentials.rb
457
+ - lib/atome/utilities/sanitizer.rb
458
+ - lib/atome/utilities/security.rb
459
+ - lib/atome/utilities/utilities.rb
461
460
  - lib/atome/version.rb
462
461
  - lib/atome_relative.rb
463
462
  - lib/molecules/examples/site.rb
File without changes
File without changes
File without changes
File without changes