seapig-rails 0.0.7 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +5 -5
  2. data/app/assets/javascripts/seapig/seapig-client.js.coffee +6 -2
  3. data/app/assets/javascripts/seapig/seapig-router.js.coffee +4 -3
  4. data/app/models/seapig_dependency.rb +6 -4
  5. data/bin/{seapig-notifier → seapig-rails-notifier} +22 -22
  6. data/bin/{seapig-session-saver → seapig-rails-session-saver} +0 -0
  7. data/lib/seapig/version.rb +1 -1
  8. data/lib/seapigs/seapig_router_session_state.rb +1 -1
  9. metadata +41 -172
  10. data/test/dummy/log/development.log +0 -1665
  11. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-o-ZYYvENmbyGnbDFt6qAW7obI2QzsO9rM9EA7XlUHg.cache +0 -0
  12. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1PVg-zJVu7--eXgp92_OEGf9YMjumXrwhnEbNQdV4h8.cache +0 -1
  13. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2R9FCEwuVplMI7I5GoTBtw2Er_ap6H5s2otDK-m5XCk.cache +0 -0
  14. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3eEw6ayC9zVKEVm7sgtqdiFFsi-0w4VyeWxR-hk72xg.cache +0 -0
  15. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  16. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/66l7LMqenzmlIoboeeCMFEZ6J_6zFdXmqNs-gu79P94.cache +0 -1
  17. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6vXjezhMg67rV3BDCPOxLeOVbgCHn0aDwBXCA-N7_To.cache +0 -2
  18. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7SWrjVR_xhTD9BCS4ifXzZIDn6dp3guSJjF8v5pYDRc.cache +0 -1
  19. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/98GLSy3KoIvHccw_zbxLg3FpmPEUKmGUr5oL7YZmvOU.cache +0 -127
  20. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9Kel6H2jL5qJlsGHIcYRbxGaV-rMj_teA3CD1eaUVmk.cache +0 -2
  21. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9T1WawqT-S8RLLgLI4J-o5mcGyy-wwU2mYMBwTuTl4o.cache +0 -0
  22. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BXgyeZH3I-u535wy4F0jP3wmfV8m8WIWtXqHJKdBC2Q.cache +0 -0
  23. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BsW5E247kS632hUZ5-NHcjkfprM3AwsB8dksndomUAY.cache +0 -1
  24. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CW1ly2CbYhIQ3PoOCrGTUOxS8a03kI-4spp4REHx6mc.cache +0 -0
  25. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Duqe6Cf2ThStcjIWL29RZnPilo1v6Vi7p86VOEBKqCs.cache +0 -0
  26. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ETKdv5blZ86XWjAQcmxAQq2wK6RT9QvGqd7uV7DK1Iw.cache +0 -2
  27. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HCc1doOYzZaBpAX7ozNMpo1ErZFli_aaKFQ73oRipH0.cache +0 -2
  28. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KS-8mb2c29Zj9YWoyTAojF-sqg-aKMYQr6FkxGuoBWQ.cache +0 -0
  29. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lgka3bEq-I8Y6xz-LVIYNVeNIWkmW1NKDnOHOkYcxtE.cache +0 -1
  30. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  31. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PgVoTat4a0VNolKPJS5RtDX7XcbAGbsqhquIWgWBBWE.cache +0 -0
  32. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Tq5PhgpHymowY-e-a3airP7Q2OwxNuNC0792hdlAJRc.cache +0 -1
  33. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VegRto_fFjOSBWQRgNRnnOiV3yByrpUI9b5IEhRvrDI.cache +0 -1
  34. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VqL7bJxBiq13xYePLO71Spa6RfD5dFCeRRLGYb5jEqw.cache +0 -0
  35. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/X5QxTUYFP4VOH_7p2Qh34msJtFA6fOnJ0mM7Zip7dRU.cache +0 -1
  36. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_2P0GKBCbJ61e8RdTBx4rJr8TsUYKFJYd7N0ZhA7o6k.cache +0 -0
  37. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_mxi_K1gl7n32DYq8bFfbWrIRQrU3QQiuukc63_UBb4.cache +0 -1
  38. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/a1-5JrPXbtVr0ytoeAR0GzDsG_rlYUHm_sKEC1VHrrM.cache +0 -1
  39. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aShHx921rUO4rZzH4135LWkt4TSWfqhpQMN8JsV2OqE.cache +0 -0
  40. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b9Ac87wpHRTGZL-mBacNdb343KQ1426WdjSu03OVlz8.cache +0 -0
  41. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/beCZt_nFEyk5iX6v4bgC3qrdFMgSM0IgrwxaBTFEFA0.cache +0 -1
  42. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bkclf1HVUxdntd8cKLvWGX5Pq-E12kwCwakqLo8RoN4.cache +0 -1
  43. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/csrXH9BNqM8JCRjroMFCt2hluEvIvM0neY_ZQySl58A.cache +0 -1
  44. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fsxRcZUqoELh6-D0RWowwDKHYmUkGzh5HMFuwMMWk1g.cache +0 -1
  45. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/h2XCtwcdt21JcAtjhfoOuIjifaMeMaYwPcFGnmNc2ng.cache +0 -1
  46. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -3
  47. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j3q-1jQzykD1sMeX9INl7jygCKtC0XJ8JkWkFQkL6qg.cache +0 -2
  48. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j4VcbkSejSElTiJk3ehlEcJE9HRTG7T14-wVhUDocaA.cache +0 -1
  49. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jU_8gMY9eZiN785s1lakKFjnK5ox1EA-Na1fKxuYcjs.cache +0 -1
  50. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -2
  51. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q3UrpsuPTq0hMrkTWoYoYEZL4u05PdVc4L5NXKuFDgQ.cache +0 -0
  52. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sX4-Kn9knBu7plHg7gUT-ryVktGvmZfacNm1cUysjWs.cache +0 -1
  53. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/umxcUEQeoCOqF0ZwXlNqJEOyT_vhMK8iGO4--jduIDU.cache +0 -1
  54. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/urzLHu3R3qKeFqygSDL0NVDcyw8BFEA6i9jFeweVZQ4.cache +0 -1
  55. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vCljKmhe1Sy9j9TDIB9DrQRa8dYlkPg8nyvsZfqfCmw.cache +0 -0
  56. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vn6FA8BrDkisPSH4VFlc7tgmkzpx1DsOtDp5C3cdaRU.cache +0 -1
  57. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wtuO4JuGsyO8emVQL7t1bm1fvl6YzGfBHc3tJJ49uvs.cache +0 -2
  58. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/z9KVC85iQuroh2hLYTGZhgZHDlh7183qTlfed3Uhtnw.cache +0 -0
  59. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/znvRewDLwMSRAUjlQozzMBQ_IGWvw9fVVOh9aeaXxTA.cache +0 -0
  60. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zxZcbwt4p6Q1Z7yZfuWYKTXjetmNZI8MgkKazd4PjoA.cache +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 42061dcf4ac1f6917849a446a9c7c172d32410ab
4
- data.tar.gz: 9e4b9e713cfe8beb6c219b488bb561df4e8a0af2
2
+ SHA256:
3
+ metadata.gz: d653e1623c0b11cee4ec63fad8056e7c40dde0fb2698106dcc6db232352ccf65
4
+ data.tar.gz: 3cc8f4ef5d82dffc234fe3d3c1d53b5e47e4ed3ba9b3d9027492698d3251bd90
5
5
  SHA512:
6
- metadata.gz: 00424c408f4db3d6a4ff1b9e609b70bc44518578013ac1af18cb363439f1462621b67f7e6527536e7ded8314dd40ce6fc4b4bc6231fddf2910e6d5db6113a6b7
7
- data.tar.gz: b905c978f13c69f34395b5b80dca458a59424140370f54c57866f911a9bc9f95518fa72a2427b23e5a10e14d6c217c7726ea71a6209eab563b8151f69223c591
6
+ metadata.gz: 7591d220630090ff2647dae4729dfa6c08b0d7e7454f6839deae2a383d04c58afc6c528da9f1e4978a7d321e4abef432f8240dc1eabfa9efccce023e4e186b87
7
+ data.tar.gz: 8271f0ad3b603c5e39c7bc48e33ad7d0024d3ff968c0326a8120207c175cb965c0eb1f1e9d8e0200455cc4a6201618a761c19cfb9b82be2783cd92f211757d2d
@@ -80,11 +80,15 @@ class SeapigObject
80
80
 
81
81
 
82
82
  patch: (data) ->
83
- if data.old_version == 0
83
+ if data.old_version == 0 or data.value?
84
84
  delete @object[key] for key, value of @object
85
85
  else if not _.isEqual(@version, data.old_version)
86
86
  console.log("Seapig lost some updates, this shouldn't ever happen. object:",@id," version:", @version, " old_version:", data.old_version)
87
- jsonpatch.apply(@object, data.patch)
87
+ if data.value?
88
+ for key,value of data.value
89
+ @object[key] = value
90
+ else
91
+ jsonpatch.apply(@object, data.patch)
88
92
  @version = data.new_version
89
93
  @valid = true
90
94
  @onchange() if @onchange?
@@ -49,7 +49,7 @@ class @SeapigRouter
49
49
  url_to_diff: (pathname, search)->
50
50
  spl = pathname.split(@mountpoint)
51
51
  spl.shift()
52
- spl = spl.join(@mountpoint).split('/')
52
+ spl = (decodeURIComponent(part) for part in spl.join(@mountpoint).split('/'))
53
53
  if spl.shift() == 'a'
54
54
  path_session_id = spl.shift()
55
55
  path_state_id = spl.shift()
@@ -64,8 +64,9 @@ class @SeapigRouter
64
64
  total_diff.push([spl.shift(),spl.shift()])
65
65
  if search.length > 1
66
66
  for pair in search.split('?')[1].split('&')
67
- total_diff.push(pair.split('=',2))
68
- partial_diff.push(pair.split('=',2))
67
+ decoded_pair = (decodeURIComponent(part) for part in pair.split('=',2))
68
+ total_diff.push(decoded_pair)
69
+ partial_diff.push(decoded_pair)
69
70
 
70
71
  console.log('Parsed location: session_id:',path_session_id,' partial_diff:', partial_diff) if @debug
71
72
 
@@ -1,25 +1,27 @@
1
1
  class SeapigDependency < ActiveRecord::Base
2
2
 
3
3
  def self.bump(*names) #FIXME: mass upsert / PG 9.5
4
+ versions = {}
4
5
  self.transaction {
5
- ret = names.map { |name|
6
+ names.map { |name|
6
7
  value = self.find_by_sql(["UPDATE seapig_dependencies SET current_version = nextval('seapig_dependency_version_seq'), updated_at = now() WHERE name = ? RETURNING current_version", name])
7
8
  value = self.find_by_sql(["INSERT INTO seapig_dependencies(name, current_version, reported_version, created_at, updated_at) VALUES (?,nextval('seapig_dependency_version_seq'),0,now(),now()) RETURNING current_version",name]) if value.size == 0
8
- value[0].current_version
9
+ versions[name] = value[0].current_version
9
10
  }
10
11
  connection.instance_variable_get(:@connection).exec("NOTIFY seapig_dependency_changed")
11
12
  }
13
+ versions
12
14
  end
13
15
 
14
16
 
15
17
  def self.version(name)
16
18
  self.versions(name)[name]
17
19
  end
18
-
20
+
19
21
 
20
22
  def self.versions(*names)
21
23
  Hash[*self.find_by_sql(["SELECT names.name, COALESCE(sd.current_version,0) AS current_version FROM (SELECT unnest(ARRAY[?]) AS name) AS names LEFT OUTER JOIN seapig_dependencies AS sd ON names.name = sd.name", names]).map { |name| [name.name,name.current_version] }.flatten]
22
24
  end
23
25
 
24
-
26
+
25
27
  end
@@ -2,57 +2,57 @@
2
2
 
3
3
  require './config/environment.rb'
4
4
 
5
- require 'websocket-eventmachine-client'
6
- require 'json'
5
+ require 'seapig-client'
7
6
 
8
7
 
8
+ STDOUT.sync = true
9
9
  #ActiveRecord::Base.logger = Logger.new(STDERR)
10
10
 
11
+
11
12
  EM.run {
12
13
 
13
- socket = WebSocket::EventMachine::Client.connect(uri: ARGV[0])
14
- connected = false
15
-
14
+ server = SeapigServer.new(ARGV[0], name: 'notifier')
15
+ seapigs = Hash.new { |h,k| h[k] = server.notifier(k) }
16
+
16
17
  on_database_change = Proc.new {
17
- next if not connected
18
+ next if not server.connected
18
19
  SeapigDependency.where("current_version != reported_version").each { |seapig_dependency|
19
20
  puts "Dependency version changed: %30s:%-10s"%[seapig_dependency.name,seapig_dependency.current_version]
20
- socket.send(JSON.dump(action: 'object-patch', id: seapig_dependency.name, new_version: seapig_dependency.current_version, old_version: 0))
21
+ seapigs[seapig_dependency.name].send(seapig_dependency.current_version)
21
22
  seapig_dependency.reported_version = seapig_dependency.current_version
22
23
  seapig_dependency.save!
23
24
  }
24
25
  }
25
26
 
26
-
27
- socket.onopen {
28
- socket.send(JSON.dump(action: 'client-options-set', options: {name: 'notifier'}))
29
- Thread.new {
27
+ Thread.new {
28
+ begin
30
29
  ActiveRecord::Base.connection_pool.with_connection { |connection|
31
30
  connection = connection.instance_variable_get(:@connection)
32
31
  connection.exec("LISTEN seapig_dependency_changed")
33
32
  loop {
34
33
  connection.wait_for_notify { |channel, pid, payloads|
35
- #puts "Got notification: channel="+channel+", pid="+pid.inspect+", payload="+payloads.inspect
36
34
  EM.schedule(on_database_change)
37
35
  }
38
36
  }
39
37
  }
40
- }
41
- connected = true
42
- EM.schedule on_database_change
43
- }
44
-
45
-
46
- socket.onclose { |code, reason|
47
- EM.stop
38
+ rescue Exception => e
39
+ puts "Exception in database thread"
40
+ p e
41
+ EM.schedule {
42
+ server.disconnect
43
+ EM.stop
44
+ }
45
+ end
48
46
  }
49
47
 
50
48
 
51
49
  (ARGV[1] or "").split(',').each { |interval|
52
50
  EM.add_periodic_timer(interval.to_i) {
53
- socket.send(JSON.dump(action: 'object-patch', id: 'Seconds#'+interval, new_version: Time.new.to_i/interval.to_i, old_version: 0))
51
+ seapigs['Seconds#'+interval].send(Time.new.to_i/interval.to_i)
54
52
  }
55
53
  }
54
+
55
+ EM.schedule on_database_change
56
+
56
57
  }
57
58
 
58
-
@@ -1,3 +1,3 @@
1
1
  module Seapig
2
- VERSION = "0.0.7"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -11,7 +11,7 @@ class SeapigRouterSessionStateProducer < Producer
11
11
  state_id = $2.to_i
12
12
  version = Time.new.to_f
13
13
  session = SeapigRouterSession.find_by(key: session_key)
14
- return [false, SeapigDependency.versions('SeapigRouterSessionState#'+session_key)] if not session
14
+ return [false, SeapigDependency.versions('SeapigRouterSessionState#'+(session_key or ""))] if not session
15
15
  state = SeapigRouterSessionState.find_by(seapig_router_session_id: session.id, state_id: state_id)
16
16
  return [false, SeapigDependency.versions('SeapigRouterSessionState#'+session_key)] if not state
17
17
  data = state.state
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seapig-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - yunta
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-13 00:00:00.000000000 Z
11
+ date: 2022-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -25,53 +25,25 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.2.4
27
27
  - !ruby/object:Gem::Dependency
28
- name: websocket-eventmachine-client
28
+ name: seapig-client
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: jsondiff
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: hana
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
31
+ - - "~>"
60
32
  - !ruby/object:Gem::Version
61
- version: '0'
33
+ version: 0.1.4
62
34
  type: :runtime
63
35
  prerelease: false
64
36
  version_requirements: !ruby/object:Gem::Requirement
65
37
  requirements:
66
- - - ">="
38
+ - - "~>"
67
39
  - !ruby/object:Gem::Version
68
- version: '0'
40
+ version: 0.1.4
69
41
  description: meh
70
42
  email:
71
43
  - maciej.blomberg@mikoton.com
72
44
  executables:
73
- - seapig-notifier
74
- - seapig-session-saver
45
+ - seapig-rails-notifier
46
+ - seapig-rails-session-saver
75
47
  extensions: []
76
48
  extra_rdoc_files: []
77
49
  files:
@@ -84,8 +56,8 @@ files:
84
56
  - app/models/seapig_dependency.rb
85
57
  - app/models/seapig_router_session.rb
86
58
  - app/models/seapig_router_session_state.rb
87
- - bin/seapig-notifier
88
- - bin/seapig-session-saver
59
+ - bin/seapig-rails-notifier
60
+ - bin/seapig-rails-session-saver
89
61
  - config/routes.rb
90
62
  - db/migrate/20151221110834_create_seapig_router_sessions.rb
91
63
  - db/migrate/20151221111628_create_seapig_router_session_states.rb
@@ -129,61 +101,10 @@ files:
129
101
  - test/dummy/config/routes.rb
130
102
  - test/dummy/config/secrets.yml
131
103
  - test/dummy/lib/seapigs/random.rb
132
- - test/dummy/log/development.log
133
104
  - test/dummy/public/404.html
134
105
  - test/dummy/public/422.html
135
106
  - test/dummy/public/500.html
136
107
  - test/dummy/public/favicon.ico
137
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/-o-ZYYvENmbyGnbDFt6qAW7obI2QzsO9rM9EA7XlUHg.cache
138
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/1PVg-zJVu7--eXgp92_OEGf9YMjumXrwhnEbNQdV4h8.cache
139
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/2R9FCEwuVplMI7I5GoTBtw2Er_ap6H5s2otDK-m5XCk.cache
140
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/3eEw6ayC9zVKEVm7sgtqdiFFsi-0w4VyeWxR-hk72xg.cache
141
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
142
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/66l7LMqenzmlIoboeeCMFEZ6J_6zFdXmqNs-gu79P94.cache
143
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/6vXjezhMg67rV3BDCPOxLeOVbgCHn0aDwBXCA-N7_To.cache
144
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/7SWrjVR_xhTD9BCS4ifXzZIDn6dp3guSJjF8v5pYDRc.cache
145
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/98GLSy3KoIvHccw_zbxLg3FpmPEUKmGUr5oL7YZmvOU.cache
146
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/9Kel6H2jL5qJlsGHIcYRbxGaV-rMj_teA3CD1eaUVmk.cache
147
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/9T1WawqT-S8RLLgLI4J-o5mcGyy-wwU2mYMBwTuTl4o.cache
148
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/BXgyeZH3I-u535wy4F0jP3wmfV8m8WIWtXqHJKdBC2Q.cache
149
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/BsW5E247kS632hUZ5-NHcjkfprM3AwsB8dksndomUAY.cache
150
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/CW1ly2CbYhIQ3PoOCrGTUOxS8a03kI-4spp4REHx6mc.cache
151
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/Duqe6Cf2ThStcjIWL29RZnPilo1v6Vi7p86VOEBKqCs.cache
152
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/ETKdv5blZ86XWjAQcmxAQq2wK6RT9QvGqd7uV7DK1Iw.cache
153
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/HCc1doOYzZaBpAX7ozNMpo1ErZFli_aaKFQ73oRipH0.cache
154
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/KS-8mb2c29Zj9YWoyTAojF-sqg-aKMYQr6FkxGuoBWQ.cache
155
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lgka3bEq-I8Y6xz-LVIYNVeNIWkmW1NKDnOHOkYcxtE.cache
156
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
157
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/PgVoTat4a0VNolKPJS5RtDX7XcbAGbsqhquIWgWBBWE.cache
158
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/Tq5PhgpHymowY-e-a3airP7Q2OwxNuNC0792hdlAJRc.cache
159
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/VegRto_fFjOSBWQRgNRnnOiV3yByrpUI9b5IEhRvrDI.cache
160
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/VqL7bJxBiq13xYePLO71Spa6RfD5dFCeRRLGYb5jEqw.cache
161
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/X5QxTUYFP4VOH_7p2Qh34msJtFA6fOnJ0mM7Zip7dRU.cache
162
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/_2P0GKBCbJ61e8RdTBx4rJr8TsUYKFJYd7N0ZhA7o6k.cache
163
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/_mxi_K1gl7n32DYq8bFfbWrIRQrU3QQiuukc63_UBb4.cache
164
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/a1-5JrPXbtVr0ytoeAR0GzDsG_rlYUHm_sKEC1VHrrM.cache
165
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/aShHx921rUO4rZzH4135LWkt4TSWfqhpQMN8JsV2OqE.cache
166
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/b9Ac87wpHRTGZL-mBacNdb343KQ1426WdjSu03OVlz8.cache
167
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/beCZt_nFEyk5iX6v4bgC3qrdFMgSM0IgrwxaBTFEFA0.cache
168
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/bkclf1HVUxdntd8cKLvWGX5Pq-E12kwCwakqLo8RoN4.cache
169
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/csrXH9BNqM8JCRjroMFCt2hluEvIvM0neY_ZQySl58A.cache
170
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/fsxRcZUqoELh6-D0RWowwDKHYmUkGzh5HMFuwMMWk1g.cache
171
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/h2XCtwcdt21JcAtjhfoOuIjifaMeMaYwPcFGnmNc2ng.cache
172
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
173
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/j3q-1jQzykD1sMeX9INl7jygCKtC0XJ8JkWkFQkL6qg.cache
174
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/j4VcbkSejSElTiJk3ehlEcJE9HRTG7T14-wVhUDocaA.cache
175
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/jU_8gMY9eZiN785s1lakKFjnK5ox1EA-Na1fKxuYcjs.cache
176
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache
177
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/q3UrpsuPTq0hMrkTWoYoYEZL4u05PdVc4L5NXKuFDgQ.cache
178
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/sX4-Kn9knBu7plHg7gUT-ryVktGvmZfacNm1cUysjWs.cache
179
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/umxcUEQeoCOqF0ZwXlNqJEOyT_vhMK8iGO4--jduIDU.cache
180
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/urzLHu3R3qKeFqygSDL0NVDcyw8BFEA6i9jFeweVZQ4.cache
181
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/vCljKmhe1Sy9j9TDIB9DrQRa8dYlkPg8nyvsZfqfCmw.cache
182
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/vn6FA8BrDkisPSH4VFlc7tgmkzpx1DsOtDp5C3cdaRU.cache
183
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/wtuO4JuGsyO8emVQL7t1bm1fvl6YzGfBHc3tJJ49uvs.cache
184
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/z9KVC85iQuroh2hLYTGZhgZHDlh7183qTlfed3Uhtnw.cache
185
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/znvRewDLwMSRAUjlQozzMBQ_IGWvw9fVVOh9aeaXxTA.cache
186
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/zxZcbwt4p6Q1Z7yZfuWYKTXjetmNZI8MgkKazd4PjoA.cache
187
108
  - test/integration/navigation_test.rb
188
109
  - test/seapig_test.rb
189
110
  - test/test_helper.rb
@@ -191,7 +112,7 @@ homepage: https://github.com/yunta-mb/seapig-rails
191
112
  licenses:
192
113
  - MIT
193
114
  metadata: {}
194
- post_install_message:
115
+ post_install_message:
195
116
  rdoc_options: []
196
117
  require_paths:
197
118
  - lib
@@ -206,100 +127,48 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
127
  - !ruby/object:Gem::Version
207
128
  version: '0'
208
129
  requirements: []
209
- rubyforge_project:
210
- rubygems_version: 2.4.8
211
- signing_key:
130
+ rubygems_version: 3.2.22
131
+ signing_key:
212
132
  specification_version: 4
213
133
  summary: Transient object synchronization lib - rails
214
134
  test_files:
215
- - test/integration/navigation_test.rb
216
- - test/dummy/config.ru
217
- - test/dummy/lib/seapigs/random.rb
218
- - test/dummy/app/assets/javascripts/json-patch.js
135
+ - test/dummy/README.rdoc
136
+ - test/dummy/Rakefile
219
137
  - test/dummy/app/assets/javascripts/application.js
138
+ - test/dummy/app/assets/javascripts/json-patch.js
220
139
  - test/dummy/app/assets/stylesheets/application.css
221
- - test/dummy/app/helpers/application_helper.rb
222
140
  - test/dummy/app/controllers/application_controller.rb
223
- - test/dummy/app/views/layouts/application.html.erb
141
+ - test/dummy/app/helpers/application_helper.rb
224
142
  - test/dummy/app/views/application/index.html.slim
225
- - test/dummy/README.rdoc
226
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/j4VcbkSejSElTiJk3ehlEcJE9HRTG7T14-wVhUDocaA.cache
227
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/9Kel6H2jL5qJlsGHIcYRbxGaV-rMj_teA3CD1eaUVmk.cache
228
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/sX4-Kn9knBu7plHg7gUT-ryVktGvmZfacNm1cUysjWs.cache
229
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/9T1WawqT-S8RLLgLI4J-o5mcGyy-wwU2mYMBwTuTl4o.cache
230
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/_mxi_K1gl7n32DYq8bFfbWrIRQrU3QQiuukc63_UBb4.cache
231
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/beCZt_nFEyk5iX6v4bgC3qrdFMgSM0IgrwxaBTFEFA0.cache
232
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lgka3bEq-I8Y6xz-LVIYNVeNIWkmW1NKDnOHOkYcxtE.cache
233
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/98GLSy3KoIvHccw_zbxLg3FpmPEUKmGUr5oL7YZmvOU.cache
234
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/BXgyeZH3I-u535wy4F0jP3wmfV8m8WIWtXqHJKdBC2Q.cache
235
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/X5QxTUYFP4VOH_7p2Qh34msJtFA6fOnJ0mM7Zip7dRU.cache
236
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/66l7LMqenzmlIoboeeCMFEZ6J_6zFdXmqNs-gu79P94.cache
237
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/h2XCtwcdt21JcAtjhfoOuIjifaMeMaYwPcFGnmNc2ng.cache
238
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/VqL7bJxBiq13xYePLO71Spa6RfD5dFCeRRLGYb5jEqw.cache
239
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/KS-8mb2c29Zj9YWoyTAojF-sqg-aKMYQr6FkxGuoBWQ.cache
240
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/-o-ZYYvENmbyGnbDFt6qAW7obI2QzsO9rM9EA7XlUHg.cache
241
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/Tq5PhgpHymowY-e-a3airP7Q2OwxNuNC0792hdlAJRc.cache
242
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/bkclf1HVUxdntd8cKLvWGX5Pq-E12kwCwakqLo8RoN4.cache
243
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/zxZcbwt4p6Q1Z7yZfuWYKTXjetmNZI8MgkKazd4PjoA.cache
244
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/_2P0GKBCbJ61e8RdTBx4rJr8TsUYKFJYd7N0ZhA7o6k.cache
245
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/6vXjezhMg67rV3BDCPOxLeOVbgCHn0aDwBXCA-N7_To.cache
246
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/jU_8gMY9eZiN785s1lakKFjnK5ox1EA-Na1fKxuYcjs.cache
247
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/a1-5JrPXbtVr0ytoeAR0GzDsG_rlYUHm_sKEC1VHrrM.cache
248
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/urzLHu3R3qKeFqygSDL0NVDcyw8BFEA6i9jFeweVZQ4.cache
249
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/aShHx921rUO4rZzH4135LWkt4TSWfqhpQMN8JsV2OqE.cache
250
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/wtuO4JuGsyO8emVQL7t1bm1fvl6YzGfBHc3tJJ49uvs.cache
251
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/HCc1doOYzZaBpAX7ozNMpo1ErZFli_aaKFQ73oRipH0.cache
252
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/Duqe6Cf2ThStcjIWL29RZnPilo1v6Vi7p86VOEBKqCs.cache
253
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/j3q-1jQzykD1sMeX9INl7jygCKtC0XJ8JkWkFQkL6qg.cache
254
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/fsxRcZUqoELh6-D0RWowwDKHYmUkGzh5HMFuwMMWk1g.cache
255
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/3eEw6ayC9zVKEVm7sgtqdiFFsi-0w4VyeWxR-hk72xg.cache
256
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/1PVg-zJVu7--eXgp92_OEGf9YMjumXrwhnEbNQdV4h8.cache
257
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/PgVoTat4a0VNolKPJS5RtDX7XcbAGbsqhquIWgWBBWE.cache
258
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/VegRto_fFjOSBWQRgNRnnOiV3yByrpUI9b5IEhRvrDI.cache
259
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/umxcUEQeoCOqF0ZwXlNqJEOyT_vhMK8iGO4--jduIDU.cache
260
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
261
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/vCljKmhe1Sy9j9TDIB9DrQRa8dYlkPg8nyvsZfqfCmw.cache
262
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/2R9FCEwuVplMI7I5GoTBtw2Er_ap6H5s2otDK-m5XCk.cache
263
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/q3UrpsuPTq0hMrkTWoYoYEZL4u05PdVc4L5NXKuFDgQ.cache
264
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/BsW5E247kS632hUZ5-NHcjkfprM3AwsB8dksndomUAY.cache
265
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/znvRewDLwMSRAUjlQozzMBQ_IGWvw9fVVOh9aeaXxTA.cache
266
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/z9KVC85iQuroh2hLYTGZhgZHDlh7183qTlfed3Uhtnw.cache
267
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/b9Ac87wpHRTGZL-mBacNdb343KQ1426WdjSu03OVlz8.cache
268
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/7SWrjVR_xhTD9BCS4ifXzZIDn6dp3guSJjF8v5pYDRc.cache
269
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/vn6FA8BrDkisPSH4VFlc7tgmkzpx1DsOtDp5C3cdaRU.cache
270
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache
271
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
272
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/ETKdv5blZ86XWjAQcmxAQq2wK6RT9QvGqd7uV7DK1Iw.cache
273
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/CW1ly2CbYhIQ3PoOCrGTUOxS8a03kI-4spp4REHx6mc.cache
274
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
275
- - test/dummy/tmp/cache/assets/development/sprockets/v3.0/csrXH9BNqM8JCRjroMFCt2hluEvIvM0neY_ZQySl58A.cache
276
- - test/dummy/config/environments/production.rb
143
+ - test/dummy/app/views/layouts/application.html.erb
144
+ - test/dummy/bin/bundle
145
+ - test/dummy/bin/rails
146
+ - test/dummy/bin/rake
147
+ - test/dummy/bin/setup
148
+ - test/dummy/config/application.rb
149
+ - test/dummy/config/boot.rb
150
+ - test/dummy/config/database.yml
151
+ - test/dummy/config/environment.rb
277
152
  - test/dummy/config/environments/development.rb
153
+ - test/dummy/config/environments/production.rb
278
154
  - test/dummy/config/environments/test.rb
279
- - test/dummy/config/initializers/wrap_parameters.rb
155
+ - test/dummy/config/initializers/assets.rb
280
156
  - test/dummy/config/initializers/backtrace_silencers.rb
281
157
  - test/dummy/config/initializers/cookies_serializer.rb
282
- - test/dummy/config/initializers/inflections.rb
283
158
  - test/dummy/config/initializers/filter_parameter_logging.rb
284
- - test/dummy/config/initializers/session_store.rb
285
- - test/dummy/config/initializers/assets.rb
159
+ - test/dummy/config/initializers/inflections.rb
286
160
  - test/dummy/config/initializers/mime_types.rb
287
- - test/dummy/config/secrets.yml
288
- - test/dummy/config/routes.rb
289
- - test/dummy/config/environment.rb
290
- - test/dummy/config/boot.rb
291
- - test/dummy/config/database.yml
292
- - test/dummy/config/application.rb
161
+ - test/dummy/config/initializers/session_store.rb
162
+ - test/dummy/config/initializers/wrap_parameters.rb
293
163
  - test/dummy/config/locales/en.yml
294
- - test/dummy/bin/rake
295
- - test/dummy/bin/setup
296
- - test/dummy/bin/bundle
297
- - test/dummy/bin/rails
298
- - test/dummy/Rakefile
299
- - test/dummy/log/development.log
164
+ - test/dummy/config/routes.rb
165
+ - test/dummy/config/secrets.yml
166
+ - test/dummy/config.ru
167
+ - test/dummy/lib/seapigs/random.rb
168
+ - test/dummy/public/404.html
169
+ - test/dummy/public/422.html
300
170
  - test/dummy/public/500.html
301
171
  - test/dummy/public/favicon.ico
302
- - test/dummy/public/422.html
303
- - test/dummy/public/404.html
304
- - test/test_helper.rb
172
+ - test/integration/navigation_test.rb
305
173
  - test/seapig_test.rb
174
+ - test/test_helper.rb