atome 0.5.6.5.1 → 0.5.6.5.4

Sign up to get free protection for your applications and to get access to all the features.
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