acts_as_readonlyable 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.
Files changed (2) hide show
  1. data/lib/acts_as_readonlyable.rb +13 -10
  2. metadata +2 -2
@@ -11,11 +11,12 @@ module ActiveRecord::Acts::ActsAsReadonlyable
11
11
  module ClassMethods
12
12
 
13
13
  def acts_as_readonlyable(*readonly_dbs)
14
- @readonly_dbs = readonly_dbs.flatten.collect(&:to_s)
15
- @readonly_models = readonly_classes(@readonly_dbs)
16
- if @readonly_models.empty?
14
+ readonly_dbs = readonly_dbs.flatten.collect(&:to_s)
15
+ readonly_models = readonly_classes(readonly_dbs)
16
+ if readonly_models.empty?
17
17
  logger.warn("Read only mode is not activated for #{ self }")
18
- else
18
+ else
19
+ define_readonly_model_method(readonly_models)
19
20
  self.extend(FinderClassOverrides)
20
21
  end
21
22
  self.send(:include, FinderInstanceOverrides)
@@ -40,12 +41,18 @@ module ActiveRecord::Acts::ActsAsReadonlyable
40
41
  end
41
42
 
42
43
  def define_readonly_class(db)
43
- eval <<-CLASS_DEF
44
+ eval %Q!
44
45
  class ActiveRecord::#{ readonly_class_name(db) } < ActiveRecord::Base
45
46
  self.abstract_class = true
46
47
  establish_connection configurations[RAILS_ENV]['#{ db }']
47
48
  end
48
- CLASS_DEF
49
+ !
50
+ end
51
+
52
+ def define_readonly_model_method(readonly_models)
53
+ (class << self; self; end).class_eval do
54
+ define_method(:readonly_model) { readonly_models[rand(readonly_models.size)] }
55
+ end
49
56
  end
50
57
 
51
58
  module FinderClassOverrides
@@ -113,10 +120,6 @@ module ActiveRecord::Acts::ActsAsReadonlyable
113
120
 
114
121
  end
115
122
 
116
- def readonly_model
117
- @readonly_models[rand(@readonly_models.size)]
118
- end
119
-
120
123
  end
121
124
 
122
125
  module FinderInstanceOverrides
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.6
7
- date: 2007-06-07 00:00:00 -04:00
6
+ version: 0.0.7
7
+ date: 2007-06-12 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