has_alter_ego 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Changelog.md +3 -3
  2. data/lib/has_alter_ego.rb +6 -1
  3. metadata +14 -9
data/Changelog.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # 0.0.5 (2010-06-13)
2
2
  * Implemented smart associations, e.g.
3
- category_by_name: Sport # => @car.category = Category.find_by_name("Sport")
4
- sellers_by_name_and_active: [Hugo, true] # @car.sellers = Seller.find_all_by_name_and_active("Hugo", true)
5
- sellers_by_name_and_active: [[Hugo, Egon], true] # @car.sellers = Seller.find_all_by_name_and_active(["Hugo", "Egon"], true)
3
+ category_by_name: Sport # => @car.category = Category.find_by_name("Sport")
4
+ sellers_by_name_and_active: [Hugo, true] # @car.sellers = Seller.find_all_by_name_and_active("Hugo", true)
5
+ sellers_by_name_and_active: [[Hugo, Egon], true] # @car.sellers = Seller.find_all_by_name_and_active(["Hugo", "Egon"], true)
6
6
  * mark objects as modified when saved with save!
7
7
 
8
8
  # 0.0.4 (2010-06-11)
data/lib/has_alter_ego.rb CHANGED
@@ -14,6 +14,7 @@ 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
17
18
  send :include, InstanceMethods
18
19
  reserve_space(opts[:reserved_space])
19
20
  parse_yml
@@ -52,7 +53,7 @@ module HasAlterEgo
52
53
  end
53
54
  else
54
55
  # Check for destroyed alter_egos
55
- alter_ego = AlterEgo.find_by_alter_ego_object_id_and_alter_ego_object_type(primary_key, self.name)
56
+ alter_ego = AlterEgo.find_by_alter_ego_object_id_and_alter_ego_object_type(primary_key.to_s, self.name)
56
57
  return if alter_ego.try(:state) == "destroyed"
57
58
 
58
59
  db_object = self.new
@@ -96,6 +97,10 @@ module HasAlterEgo
96
97
  end
97
98
 
98
99
  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
+
99
104
  def has_alter_ego?
100
105
  return self.alter_ego.present?
101
106
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_alter_ego
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 0
8
- - 5
9
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
10
11
  platform: ruby
11
12
  authors:
12
13
  - "Andr\xC3\xA9 Duffeck"
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-06-13 00:00:00 +02:00
18
+ date: 2010-09-28 00:00:00 +02:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -28,21 +29,21 @@ extensions: []
28
29
  extra_rdoc_files: []
29
30
 
30
31
  files:
32
+ - lib/has_alter_ego/alter_ego.rb
33
+ - lib/has_alter_ego/dumper.rb
31
34
  - lib/generators/has_alter_ego_generator.rb
32
35
  - lib/has_alter_ego.rb
33
- - lib/has_alter_ego/dumper.rb
34
- - lib/has_alter_ego/alter_ego.rb
35
36
  - lib/tasks/has_alter_ego.rake
36
- - README.md
37
37
  - Changelog.md
38
+ - README.md
38
39
  - Rakefile
39
40
  - rails/init.rb
40
41
  - generators/has_alter_ego/templates/create_alter_egos.rb
41
42
  - generators/has_alter_ego/has_alter_ego_generator.rb
42
- - test/db/fixtures/alter_egos/drinks.yml
43
- - test/db/fixtures/alter_egos/cars.yml
44
43
  - test/db/fixtures/alter_egos/sellers.yml
45
44
  - test/db/fixtures/alter_egos/bikes.yml
45
+ - test/db/fixtures/alter_egos/cars.yml
46
+ - test/db/fixtures/alter_egos/drinks.yml
46
47
  - test/test_helper.rb
47
48
  - test/has_alter_ego_test.rb
48
49
  has_rdoc: true
@@ -55,23 +56,27 @@ rdoc_options: []
55
56
  require_paths:
56
57
  - lib
57
58
  required_ruby_version: !ruby/object:Gem::Requirement
59
+ none: false
58
60
  requirements:
59
61
  - - ">="
60
62
  - !ruby/object:Gem::Version
63
+ hash: 3
61
64
  segments:
62
65
  - 0
63
66
  version: "0"
64
67
  required_rubygems_version: !ruby/object:Gem::Requirement
68
+ none: false
65
69
  requirements:
66
70
  - - ">="
67
71
  - !ruby/object:Gem::Version
72
+ hash: 3
68
73
  segments:
69
74
  - 0
70
75
  version: "0"
71
76
  requirements: []
72
77
 
73
78
  rubyforge_project:
74
- rubygems_version: 1.3.6
79
+ rubygems_version: 1.3.7
75
80
  signing_key:
76
81
  specification_version: 3
77
82
  summary: A Rails plugin which makes it possible to keep seed and live data in parallel