seapig-rails 0.1.2 → 0.1.3

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