cti 0.1.0 → 0.1.1
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.
- checksums.yaml +8 -8
- data/README.textile +2 -0
- data/lib/cti/active_record/acts_as_heir.rb +28 -24
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTVjYzE3N2YwNTRiNTBjNDBkNzIyMzMxYmMyNTE4ZTM2ZDlmMjI1Yw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDIxNzA2NmVlYTZlMzY4NmQ1MTNkMTlmZTg2OTM5MTgwYzRmMzMxMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTA3Y2UzZTU1NDk5ZWVjZjc0ZDA0NGE0ODQ4YjQ2NjFkYTIwZWI5OWZkYzU1
|
10
|
+
MjJhZTBjZmY3NDAyOWZlZTk5OTdkZjNlYmZlMTMwNDc0YTlhNGI2MTRlYjE3
|
11
|
+
YjhmMTVkYmQ1ZGY4OTFiOTk1N2RiOWU2ZTdiMjA4OWQ4MTIwYTY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmQ2NzJjNTAyNWIyZWFkMDRjYTVjNDVlOGYzNmMxN2EyNzk5YjMxMDIzMTQx
|
14
|
+
ZDY2MzY1YzAxMTUzZjA3MjM5MGI5ZjNmZGU0ZGM5NzcwMTA0NDliZDE3MWI1
|
15
|
+
YjM0NmI5MWE2NjQzN2Y1NGU0NGEwMTI0OTYwMWFkZWUzZDlkOWU=
|
data/README.textile
CHANGED
@@ -23,40 +23,44 @@ module Cti
|
|
23
23
|
alias_method_chain :predecessor, :build
|
24
24
|
|
25
25
|
# Expose columns from the predecessor
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
begin
|
27
|
+
self._predecessor_klass.columns.reject{|c| c.primary || c.name =~ /^heir_/}.map(&:name).each do |att|
|
28
|
+
define_method(att) do
|
29
|
+
predecessor.send(att)
|
30
|
+
end
|
31
|
+
define_method("#{att}=") do |val|
|
32
|
+
predecessor.send("#{att}=",val)
|
33
|
+
end
|
32
34
|
end
|
33
|
-
|
34
|
-
|
35
|
+
|
35
36
|
# Expose associations from the predecessor
|
36
|
-
|
37
|
-
|
38
|
-
|
37
|
+
self._predecessor_klass.reflect_on_all_associations.reject{|a| a.name == :heir}.each do |association|
|
38
|
+
define_method(association.name) do
|
39
|
+
predecessor.send(association.name)
|
40
|
+
end
|
41
|
+
define_method("#{association.name}=") do |val|
|
42
|
+
predecessor.send("#{association.name}=",val)
|
43
|
+
end
|
39
44
|
end
|
40
|
-
|
41
|
-
|
45
|
+
|
46
|
+
# Include validations from the predecessor
|
47
|
+
self._predecessor_klass.validators.each do |validator|
|
48
|
+
self.validates_with(validator.class, :attributes => validator.attributes, :options => validator.options)
|
42
49
|
end
|
43
|
-
end
|
44
50
|
|
45
|
-
#
|
46
|
-
|
47
|
-
|
51
|
+
# Expose methods from predecessor
|
52
|
+
self._predecessor_klass.get_heritage_exposed_methods.each do |method_symbol|
|
53
|
+
define_method(method_symbol.to_s) do |*args|
|
54
|
+
predecessor.send(method_symbol.to_s, *args)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
rescue
|
58
|
+
Rails.logger.error "Databse not set up yet"
|
48
59
|
end
|
49
60
|
|
50
61
|
# We need to make sure that updated_at values in the predecessor table is updated when the heir is saved.
|
51
62
|
before_update :touch_predecessor, :unless => lambda { predecessor.changed? }
|
52
63
|
|
53
|
-
# Expose methods from predecessor
|
54
|
-
self._predecessor_klass.get_heritage_exposed_methods.each do |method_symbol|
|
55
|
-
define_method(method_symbol.to_s) do |*args|
|
56
|
-
predecessor.send(method_symbol.to_s, *args)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
64
|
# This piece deals with errors names
|
61
65
|
# and simply strips "predecessor." part from all the predecessor errors.
|
62
66
|
after_validation do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seyed Razavi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdoc
|