aratak-syncdb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: []