aratak-syncdb 0.0.5 → 0.0.6

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.
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.