Sha256: 98c15476cf4b154ee313463890ac9e63497785a15da580f7457e8d913698e3b6
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
module CouchRest # CouchRest Model Configuration support, stolen from Carrierwave by jnicklas # http://github.com/jnicklas/carrierwave/blob/master/lib/carrierwave/uploader/configuration.rb module Model module Configuration extend ActiveSupport::Concern included do add_config :model_type_key add_config :mass_assign_any_attribute add_config :auto_update_design_doc configure do |config| config.model_type_key = 'model' # was 'couchrest-type' config.mass_assign_any_attribute = false config.auto_update_design_doc = true end end module ClassMethods def add_config(name) class_eval <<-RUBY, __FILE__, __LINE__ + 1 def self.#{name}(value=nil) @#{name} = value if value return @#{name} if self.object_id == #{self.object_id} || defined?(@#{name}) name = superclass.#{name} return nil if name.nil? && !instance_variable_defined?("@#{name}") @#{name} = name && !name.is_a?(Module) && !name.is_a?(Symbol) && !name.is_a?(Numeric) && !name.is_a?(TrueClass) && !name.is_a?(FalseClass) ? name.dup : name end def self.#{name}=(value) @#{name} = value end def #{name} self.class.#{name} end RUBY end def configure yield self end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
couchrest_model-1.1.0.beta4 | lib/couchrest/model/configuration.rb |
couchrest_model-1.1.0.beta3 | lib/couchrest/model/configuration.rb |