aratak-syncdb 0.0.1 → 0.0.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.
Files changed (4) hide show
  1. data/README +13 -1
  2. data/lib/syncdb.rb +38 -5
  3. data/syncdb.gemspec +3 -3
  4. metadata +14 -5
data/README CHANGED
@@ -2,4 +2,16 @@ This is gem for automaticly syncronization db table (Model, I mean) and file in
2
2
 
3
3
  A-la lockdown's init.rb
4
4
 
5
- # TODO: fill README
5
+ # TODO: fill README
6
+
7
+ Example:
8
+
9
+ array_of_hash = [
10
+ {:name => 'Harry', :surname => 'Potter', :age => 15},
11
+ {:name => 'Gendalf', :surname => 'Gray', :age => 524},
12
+ {:name => 'Gerold', :surname => 'Witcher', :age => 164},
13
+ {:name => 'Darth', :surname => 'Vader', :age => 50}
14
+ ]<br />
15
+ Syncdb.sync array_of_hash, Person.all do |hash_item, model_item| do
16
+ (hash_item.surname == model_item.surname)
17
+ end
data/lib/syncdb.rb CHANGED
@@ -1,5 +1,7 @@
1
- module Syncdb
1
+ require File.dirname(__FILE__) + '/synchronizator'
2
+ require 'json'
2
3
 
4
+ module Syncdb
3
5
  VERSION = '0.0.1'
4
6
 
5
7
  # Returns the version string for the library.
@@ -20,10 +22,41 @@ module Syncdb
20
22
  end
21
23
 
22
24
 
23
- def self.sync
24
- puts "Nothing happents"
25
+ # Returt +true+, if syncronization passed
26
+ #
27
+ # +array_of_hashs+ - Array of Hash objects.
28
+ # Each hash should be like params[:model_name] from
29
+ # CGI in ActiveController
30
+ # [
31
+ # {:attr_name => value},
32
+ # {:attr_name => value},
33
+ # {:attr_name => value},
34
+ # ]
35
+ #
36
+ # +model_objects+ - +Array+ of objects, who should be syncronized.
37
+ # Should be like result of +find+ method of Model:
38
+ # Modelname.find :all
39
+ #
40
+ # +closure+ can get two variables: +hash_item+ and +model_item+
41
+ # +hash_item+ - it's specimen of item +array_of_hashs+,
42
+ # +model_item+ - specimen of item +model_objects+
43
+ #
44
+ # Should return +true+ or +false+
45
+ # If return +true+, +hash_item+ and +model_item+ is equals
46
+ #
47
+ # array_of_hash = [
48
+ # {:name => 'Harry', :surname => 'Potter', :age => 15},
49
+ # {:name => 'Gendalf', :surname => 'Gray', :age => 524},
50
+ # {:name => 'Gerold', :surname => 'Witcher', :age => 164},
51
+ # {:name => 'Darth', :surname => 'Vader', :age => 50}
52
+ # ]<br />
53
+ # Syncdb.sync array_of_hash, Person.all do |hash_item, model_item| do
54
+ # (hash_item.surname == model_item.surname)
55
+ # end
56
+ #
57
+ def self.sync array_of_hashs, model_objects, model_name, &closure
58
+
59
+ Syncdb::Synchronizator.sync array_of_hashs, model_objects, model_name, &closure
25
60
  end
26
-
27
-
28
61
 
29
62
  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.1'
3
+ s.version = '0.0.2'
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']
@@ -9,10 +9,10 @@ spec = Gem::Specification.new do |s|
9
9
 
10
10
  s.has_rdoc = true
11
11
  s.rdoc_options = ["--inline-source", "--charset=UTF-8"]
12
- s.author = "Aratak"
12
+ s.author = "Alexey Osipenko"
13
13
  s.email = "alexey.osipenko@gmail.com"
14
14
  s.homepage = "http://alexey.osipenko.name/ruby/syncdb"
15
15
 
16
- # s.add_dependency('json', '>=1.1.4')
16
+ s.add_dependency('json', '>=1.1.4')
17
17
 
18
18
  end
metadata CHANGED
@@ -1,18 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aratak-syncdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
- - Aratak
7
+ - Alexey Osipenko
8
8
  autorequire: syncdb
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-08 00:00:00 -07:00
12
+ date: 2009-05-16 00:00:00 -07:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: json
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.1.4
24
+ version:
16
25
  description: "syncdb: description will be here."
17
26
  email: alexey.osipenko@gmail.com
18
27
  executables: []