has_alter_ego 0.0.6 → 0.0.7
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/Changelog.md +6 -0
- data/README.md +2 -2
- data/generators/has_alter_ego/templates/create_alter_egos.rb +2 -2
- data/lib/has_alter_ego.rb +1 -7
- metadata +3 -3
data/Changelog.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.0.7 (2010-09-28)
|
2
|
+
* non-numeric primary keys are no longer supported
|
3
|
+
|
4
|
+
# 0.0.6 (2010-09-28)
|
5
|
+
* Fixed a type mismatch problem with numeric ids
|
6
|
+
|
1
7
|
# 0.0.5 (2010-06-13)
|
2
8
|
* Implemented smart associations, e.g.
|
3
9
|
category_by_name: Sport # => @car.category = Category.find_by_name("Sport")
|
data/README.md
CHANGED
@@ -78,8 +78,8 @@ and you'd automagically have those objects available in your database.
|
|
78
78
|
Whenever the seed definition changes the objects in the database inherit the changes unless they have been overridden.
|
79
79
|
When a seed object was destroyed in the database it will not be added again.
|
80
80
|
|
81
|
-
**Note:**
|
82
|
-
|
81
|
+
**Note:** has_alter_ego reserves the first n IDs for seed objects (default=1000), so the next non-seed object will get
|
82
|
+
the ID 1001.
|
83
83
|
The number of reserved objects can be set with the optional *:reserved_space* parameter, e.g.
|
84
84
|
|
85
85
|
has_alter_ego :reserved_space => 5000
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class CreateAlterEgos < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
3
|
create_table :alter_egos do |t|
|
4
|
-
t.
|
4
|
+
t.integer :alter_ego_object_id
|
5
5
|
t.string :alter_ego_object_type, :limit => 40
|
6
6
|
t.string :state
|
7
7
|
end
|
@@ -11,4 +11,4 @@ class CreateAlterEgos < ActiveRecord::Migration
|
|
11
11
|
def self.down
|
12
12
|
drop_table :alter_egos
|
13
13
|
end
|
14
|
-
end
|
14
|
+
end
|
data/lib/has_alter_ego.rb
CHANGED
@@ -14,7 +14,6 @@ module HasAlterEgo
|
|
14
14
|
has_one :alter_ego, :as => :alter_ego_object
|
15
15
|
alias_method :save_without_alter_ego, :save
|
16
16
|
alias_method :destroy_without_alter_ego, :destroy
|
17
|
-
alias_method :alter_ego_with_type_fix, :alter_ego
|
18
17
|
send :include, InstanceMethods
|
19
18
|
reserve_space(opts[:reserved_space])
|
20
19
|
parse_yml
|
@@ -23,7 +22,6 @@ module HasAlterEgo
|
|
23
22
|
|
24
23
|
# Reserve the first n IDs for stubbed objects
|
25
24
|
def reserve_space space
|
26
|
-
return unless self.columns_hash[self.primary_key].klass == Fixnum
|
27
25
|
return if self.last and self.last[self.primary_key] >= space
|
28
26
|
|
29
27
|
o = self.new
|
@@ -53,7 +51,7 @@ module HasAlterEgo
|
|
53
51
|
end
|
54
52
|
else
|
55
53
|
# Check for destroyed alter_egos
|
56
|
-
alter_ego = AlterEgo.find_by_alter_ego_object_id_and_alter_ego_object_type(primary_key
|
54
|
+
alter_ego = AlterEgo.find_by_alter_ego_object_id_and_alter_ego_object_type(primary_key, self.name)
|
57
55
|
return if alter_ego.try(:state) == "destroyed"
|
58
56
|
|
59
57
|
db_object = self.new
|
@@ -97,10 +95,6 @@ module HasAlterEgo
|
|
97
95
|
end
|
98
96
|
|
99
97
|
module InstanceMethods
|
100
|
-
def alter_ego
|
101
|
-
return AlterEgo.find_by_alter_ego_object_id_and_alter_ego_object_type(self[self.class.primary_key].to_s, self.name)
|
102
|
-
end
|
103
|
-
|
104
98
|
def has_alter_ego?
|
105
99
|
return self.alter_ego.present?
|
106
100
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_alter_ego
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 7
|
10
|
+
version: 0.0.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Andr\xC3\xA9 Duffeck"
|