Class: Cash::Config::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/cash/config.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(active_record, options = {}) ⇒ Config

Returns a new instance of Config.



43
44
45
# File 'lib/cash/config.rb', line 43

def initialize(active_record, options = {})
  @active_record, @options = active_record, options
end

Instance Attribute Details

#active_recordObject (readonly)

Returns the value of attribute active_record.



36
37
38
# File 'lib/cash/config.rb', line 36

def active_record
  @active_record
end

#optionsObject (readonly)

Returns the value of attribute options.



36
37
38
# File 'lib/cash/config.rb', line 36

def options
  @options
end

Class Method Details

.create(active_record, options, indices = []) ⇒ Object



38
39
40
41
# File 'lib/cash/config.rb', line 38

def self.create(active_record, options, indices = [])
  active_record.cache_config = new(active_record, options)
  indices.each { |i| active_record.index i.attributes, i.options }
end

Instance Method Details

#indicesObject



55
56
57
# File 'lib/cash/config.rb', line 55

def indices
  @indices ||= active_record == ActiveRecord::Base ? [] : [Index.new(self, active_record, active_record.primary_key)]
end

#inherit(active_record) ⇒ Object



59
60
61
# File 'lib/cash/config.rb', line 59

def inherit(active_record)
  self.class.create(active_record, @options, indices)
end

#repositoryObject



47
48
49
# File 'lib/cash/config.rb', line 47

def repository
  @options[:repository]
end

#ttlObject



51
52
53
# File 'lib/cash/config.rb', line 51

def ttl
  @options[:ttl]
end