resty-generators 0.7.1 → 0.7.2

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.
@@ -6,7 +6,7 @@
6
6
  # cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }])
7
7
  # Mayor.create(:name => 'Daley', :city => cities.first)
8
8
  <% if options[:remote_users] -%>
9
- u = User.new(:name => "Root", :login => "root")
9
+ u = User.new(:name => "System", :login => "system")
10
10
  u.id = 0
11
11
  u.save
12
12
  <% end -%>
@@ -1,6 +1,6 @@
1
1
  require 'ixtlan/guard/abstract_session'
2
2
  <% if options[:remote_users] -%>
3
- require 'ixtlan/core/heartbeat'
3
+ require 'heartbeat'
4
4
  <% end -%>
5
5
 
6
6
  class Session < Ixtlan::Guard::AbstractSession
@@ -36,8 +36,14 @@ class Ixtlan::Core::Heartbeat
36
36
  last_update = res.local.maximum(:updated_at) || 2000.years.ago
37
37
  last_update = last_update.strftime('%Y-%m-%d %H:%M:%S.') + ("%06d" % last_update.usec)
38
38
  res.remote.get(:last_changes, :updated_at => last_update).each do |remote|
39
- u = res.local.find_by_id(remote.delete('id'))
40
- u.update_attributes(res.remote)
39
+ id = remote.delete('id')
40
+ u = res.local.find_by_id(id)
41
+ if u
42
+ u.update_attributes(remote)
43
+ else
44
+ u = res.local.new(remote)
45
+ u.id = id
46
+ end
41
47
  if u.save
42
48
  res.count = res.count + 1
43
49
  else
@@ -23,15 +23,16 @@ class Ixtlan::Core::Heartbeat
23
23
  end
24
24
 
25
25
  def reg
26
- @reg ||= []
26
+ @reg ||= {}
27
27
  end
28
28
 
29
29
  def register(local, remote)
30
- reg << Resource.new(local, remote)
30
+ reg[local] = Resource.new(local, remote)
31
31
  end
32
32
 
33
- def beat
34
- reg.each do |res|
33
+ def beat(resource = nil)
34
+ resources = resource.nil? ? reg.values : [reg[resource]]
35
+ resources.each do |res|
35
36
  last_update = res.local.maximum(:updated_at) || 2000.years.ago
36
37
  last_update = last_update.strftime('%Y-%m-%d %H:%M:%S.') + ("%06d" % last_update.usec)
37
38
  res.remote.get(:last_changes, :updated_at => last_update).each do |remote|
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: resty-generators
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.7.1
5
+ version: 0.7.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - mkristian