seapig-rails 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bfa5a2a5174e8ea5b1629641f8b29d7083f39797
4
- data.tar.gz: ce82aeb67ab91893c9ad8e32ea6a3312fed010c1
3
+ metadata.gz: f3163c1f89dd2f548ca2fd055c9773868ce75d29
4
+ data.tar.gz: 995391f40ff064aa407038f2d732f5519ec535c3
5
5
  SHA512:
6
- metadata.gz: c7626225963b9b2617a72ab53e1793ccde07072d4254c5145bc2a0bb3735734406e8ac4207da85bfc8ed6407f2415621836dcf715cca0531acb5dc3812848943
7
- data.tar.gz: 59079a3020d27b663437a11da62b0d2314cccfead7c759533eca4fa5b1c21e0646db2e3a1aeb50f692c6dcb7523616247f126a2ed860bb807fc9338f08c946b5
6
+ metadata.gz: 6ab83bea8ebd1e204f39cccdec7f79eeb1d59fada140b3e1beba22a69616d20ad8b0dd822b585dea96dba40175b226f56d2502cc049aac03f41e0778c2a9a59e
7
+ data.tar.gz: 5ea5053888157e4c361977241d1a607a43f61de18b850cf715b4cd6dade4fcdbc82c8baccd999ca1b7b0dfb16fbf75345fb12061608bb6f3c9c025013b4a6fe1
@@ -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
@@ -18,7 +18,7 @@ EM.run {
18
18
  next if not server.connected
19
19
  SeapigDependency.where("current_version != reported_version").each { |seapig_dependency|
20
20
  puts "Dependency version changed: %30s:%-10s"%[seapig_dependency.name,seapig_dependency.current_version]
21
- seapigs[seapig_dependency.name].changed(seapig_dependency.current_version)
21
+ seapigs[seapig_dependency.name].send(seapig_dependency.current_version)
22
22
  seapig_dependency.reported_version = seapig_dependency.current_version
23
23
  seapig_dependency.save!
24
24
  }
@@ -48,12 +48,11 @@ EM.run {
48
48
 
49
49
  (ARGV[1] or "").split(',').each { |interval|
50
50
  EM.add_periodic_timer(interval.to_i) {
51
- seapigs['Seconds#'+interval].changed(Time.new.to_i/interval.to_i)
51
+ seapigs['Seconds#'+interval].send(Time.new.to_i/interval.to_i)
52
52
  }
53
53
  }
54
-
54
+
55
55
  EM.schedule on_database_change
56
56
 
57
57
  }
58
58
 
59
-
@@ -1,3 +1,3 @@
1
1
  module Seapig
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
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.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - yunta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-16 00:00:00.000000000 Z
11
+ date: 2016-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.2
33
+ version: 0.1.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.2
40
+ version: 0.1.4
41
41
  description: meh
42
42
  email:
43
43
  - maciej.blomberg@mikoton.com