aratak-syncdb 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/synchronizator.rb +19 -6
  2. data/syncdb.gemspec +2 -2
  3. metadata +3 -4
@@ -5,8 +5,9 @@ module Syncdb
5
5
  class Synchronizator
6
6
  include Singleton
7
7
 
8
+ #
8
9
  def self.sync(array_of_hashs, model_objects, model_name, &closure)
9
- puts ">> synchronizator started"
10
+ self.p("synchronizator started", true)
10
11
  @old_objects = model_objects
11
12
  @klass = model_name
12
13
  @objects_for_adding = []
@@ -31,38 +32,50 @@ module Syncdb
31
32
 
32
33
  self.remove_models
33
34
  self.add_models
34
- puts ">>> synchronize success"
35
+ self.p("synchronize success")
35
36
  end
36
37
 
37
38
  private
38
39
 
40
+ # return array of existing models,
41
+ # who should be +removed+ from db
39
42
  def self.models_for_removing
40
43
  # closure = @closure
41
44
  objs = @old_objects.minus @new_objects, &@closure
42
- puts ">>> should be removed: #{objs.size}"
45
+ self.p("--> should be removed: #{objs.size}")
43
46
  @objects_for_removing = objs
44
47
  end
45
48
 
49
+ # return array of new (just created) models,
50
+ # who should be +added+ to db
46
51
  def self.models_for_adding
47
52
  # closure = @closure
48
53
  objs = @new_objects.minus @old_objects, &@closure
49
- puts ">>> should be added: #{objs.size}"
54
+ self.p("should be added: #{objs.size}")
50
55
  @objects_for_adding = objs
51
56
  end
52
57
 
58
+ # remove models, who has been fetched into #models_for_removing
53
59
  def self.remove_models
54
- puts ">>> remove_models: " unless @objects_for_removing.empty?
60
+ self.p("removing models") unless @objects_for_removing.empty?
55
61
  @objects_for_removing.each do |obj|
56
62
  obj.destroy
57
63
  end
58
64
  end
59
65
 
66
+ # remove models, who has been fetched into #models_for_adding
60
67
  def self.add_models
61
- puts ">>> add_models: " unless @objects_for_adding.empty?
68
+ self.p("adding models...") unless @objects_for_adding.empty?
62
69
  @objects_for_adding.each do |obj|
63
70
  obj.save!
64
71
  end
65
72
  end
66
73
 
74
+ # puts into console service information
75
+ def self.p text, is_primary = false
76
+ marker = is_primary ? ">>" : "-->"
77
+ puts "#{marker} #{text};"
78
+ end
79
+
67
80
  end
68
81
  end
data/syncdb.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = "syncdb"
3
- s.version = '0.0.5'
3
+ s.version = '0.0.6'
4
4
  s.summary = "Synchronization file and db-table."
5
5
  s.description = "syncdb: description will be here."
6
6
  s.files = ['README', 'syncdb.gemspec', 'lib/syncdb.rb', 'lib/array_mix.rb', 'lib/synchronizator.rb']
@@ -11,7 +11,7 @@ spec = Gem::Specification.new do |s|
11
11
  s.rdoc_options = ["--inline-source", "--charset=UTF-8"]
12
12
  s.author = "Alexey Osipenko"
13
13
  s.email = "alexey.osipenko@gmail.com"
14
- s.homepage = "http://alexey.osipenko.name/ruby/syncdb"
14
+ s.homepage = "http://wiki.github.com/aratak/syncdb"
15
15
 
16
16
  s.add_dependency('json', '>=1.1.4')
17
17
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aratak-syncdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Osipenko
@@ -40,8 +40,7 @@ files:
40
40
  - lib/array_mix.rb
41
41
  - lib/synchronizator.rb
42
42
  has_rdoc: true
43
- homepage: http://alexey.osipenko.name/ruby/syncdb
44
- licenses:
43
+ homepage: http://wiki.github.com/aratak/syncdb
45
44
  post_install_message:
46
45
  rdoc_options:
47
46
  - --inline-source
@@ -63,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
62
  requirements: []
64
63
 
65
64
  rubyforge_project:
66
- rubygems_version: 1.3.5
65
+ rubygems_version: 1.2.0
67
66
  signing_key:
68
67
  specification_version: 2
69
68
  summary: Synchronization file and db-table.