acts_as_readonlyable 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/acts_as_readonlyable.rb +12 -4
  2. metadata +2 -2
@@ -12,19 +12,27 @@ module ActiveRecord::Acts::ActsAsReadonlyable
12
12
 
13
13
  def acts_as_readonlyable(readonly_db)
14
14
  @readonly_db = readonly_db.to_s
15
- @readonly_klass = def_class(@readonly_db)
15
+ @readonly_klass = readonly_class(@readonly_db)
16
16
  self.extend(FinderClassOverrides)
17
17
  self.send(:include, FinderObjectOverrides)
18
18
  end
19
19
 
20
20
  private
21
21
 
22
- def def_class(readonly_db)
22
+ def readonly_class(readonly_db)
23
+ define_readonly_class(readonly_db) unless ActiveRecord.const_defined?(readonly_class_name(readonly_db))
24
+ ActiveRecord.const_get(readonly_class_name(readonly_db))
25
+ end
26
+
27
+ def readonly_class_name(readonly_db)
28
+ "Generated#{ readonly_db.camelize }"
29
+ end
30
+
31
+ def define_readonly_class(readonly_db)
23
32
  eval <<-CLASS_DEF
24
- class ::Generated#{ readonly_db.camelize } < ActiveRecord::Base
33
+ class ActiveRecord::#{ readonly_class_name(readonly_db) } < ActiveRecord::Base
25
34
  self.abstract_class = true
26
35
  establish_connection configurations[RAILS_ENV]['#{ readonly_db }']
27
- self
28
36
  end
29
37
  CLASS_DEF
30
38
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: acts_as_readonlyable
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.3
7
- date: 2007-04-21 00:00:00 -04:00
6
+ version: 0.0.4
7
+ date: 2007-04-22 00:00:00 -04:00
8
8
  summary: acts_as_readonlyable allows to add read-only slaves DBs to models
9
9
  require_paths:
10
10
  - lib