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.
- data/README +13 -1
- data/lib/syncdb.rb +38 -5
- data/syncdb.gemspec +3 -3
- 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
|
-
|
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
|
-
|
24
|
-
|
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.
|
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 = "
|
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
|
-
|
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.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Alexey Osipenko
|
8
8
|
autorequire: syncdb
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
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: []
|