yesterday 0.6 → 1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,10 +1,7 @@
1
1
  = Yesterday
2
2
 
3
- The Yesterday gem lets you track changes made in ActiveRecord models. It's also possible to diff different versions. The big difference with this gem and other is, is that it is possible to diff all child objects (has_many, belongs_to & has_and_belongs_to_many) and it's changes.
3
+ The Yesterday gem lets you track changes made in ActiveRecord models. It's also possible to diff different versions. The big difference with this gem and others (like Papertrail) is, is that it is possible to diff all child objects (has_many, belongs_to & has_and_belongs_to_many) and it's changes.
4
4
 
5
- == Note: work in progress
6
-
7
- In the meanwhile:
8
5
  http://www.youtube.com/watch?v=YgtByWlBSdA
9
6
 
10
7
  == Installation
@@ -1,3 +1,3 @@
1
1
  module Yesterday
2
- VERSION = "0.6"
2
+ VERSION = "1.0.rc1"
3
3
  end
@@ -11,28 +11,29 @@ module Yesterday
11
11
  attributes = {}
12
12
 
13
13
  hash.each do |attribute, value|
14
- if nested_objects? value
14
+ if contains_nested_objects? value
15
15
  value.each do |item|
16
16
  attributes[attribute] ||= []
17
17
  attributes[attribute] << deserialize(item) if item
18
18
  end
19
19
 
20
- elsif nested_object? value
20
+ elsif contains_nested_object? value
21
21
  attributes[attribute] = deserialize(value)
22
22
 
23
23
  elsif attribute != 'id'
24
24
  attributes[attribute] = value.is_a?(Array) ? Yesterday::VersionedAttribute.new(value) : value
25
+
25
26
  end
26
27
  end
27
28
 
28
29
  Yesterday::VersionedObject.new(attributes.merge({ 'id' => hash['id']}))
29
30
  end
30
31
 
31
- def nested_objects?(value)
32
+ def contains_nested_objects?(value)
32
33
  value.is_a?(Array) && value.first.is_a?(Hash)
33
34
  end
34
35
 
35
- def nested_object?(value)
36
+ def contains_nested_object?(value)
36
37
  value.is_a?(Hash)
37
38
  end
38
39
 
metadata CHANGED
@@ -1,74 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: yesterday
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 6
9
- version: "0.6"
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.rc1
5
+ prerelease: 4
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Diederick Lawson
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-04-04 00:00:00 +02:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2011-09-09 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rspec
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70215422679120 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: sqlite3
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70215422679120
25
+ - !ruby/object:Gem::Dependency
26
+ name: sqlite3
27
+ requirement: &70215422678700 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
46
33
  type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: rails
50
34
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70215422678700
36
+ - !ruby/object:Gem::Dependency
37
+ name: rails
38
+ requirement: &70215422678280 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
60
44
  type: :runtime
61
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *70215422678280
62
47
  description: Track history and view any made changes in your active record models
63
- email:
48
+ email:
64
49
  - webmaster@altovista.nl
65
50
  executables: []
66
-
67
51
  extensions: []
68
-
69
52
  extra_rdoc_files: []
70
-
71
- files:
53
+ files:
72
54
  - .gitignore
73
55
  - Gemfile
74
56
  - README.rdoc
@@ -95,41 +77,31 @@ files:
95
77
  - spec/versioned_object_creator_spec.rb
96
78
  - spec/yesterday_model_spec.rb
97
79
  - yesterday.gemspec
98
- has_rdoc: true
99
80
  homepage: http://www.altovista.nl
100
81
  licenses: []
101
-
102
82
  post_install_message:
103
83
  rdoc_options: []
104
-
105
- require_paths:
84
+ require_paths:
106
85
  - lib
107
- required_ruby_version: !ruby/object:Gem::Requirement
86
+ required_ruby_version: !ruby/object:Gem::Requirement
108
87
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
116
- required_rubygems_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ! '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
93
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 3
122
- segments:
123
- - 0
124
- version: "0"
94
+ requirements:
95
+ - - ! '>'
96
+ - !ruby/object:Gem::Version
97
+ version: 1.3.1
125
98
  requirements: []
126
-
127
99
  rubyforge_project: yesterday
128
- rubygems_version: 1.3.7
100
+ rubygems_version: 1.8.10
129
101
  signing_key:
130
102
  specification_version: 3
131
103
  summary: Track history in your active record models
132
- test_files:
104
+ test_files:
133
105
  - spec/database.yml
134
106
  - spec/differ_spec.rb
135
107
  - spec/models.rb