Class: Cash::Config::Config

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Config.



53
54
55
# File 'lib/cash/config.rb', line 53

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.



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

def active_record
  @active_record
end

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

Instance Method Details

#indicesObject



69
70
71
# File 'lib/cash/config.rb', line 69

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

#inherit(active_record) ⇒ Object



73
74
75
# File 'lib/cash/config.rb', line 73

def inherit(active_record)
  Cash::Config.create(active_record, @options, indices)
end

#repositoryObject



57
58
59
# File 'lib/cash/config.rb', line 57

def repository
  @options[:repository]
end

#ttlObject



61
62
63
# File 'lib/cash/config.rb', line 61

def ttl
  @ttl ||= (repository.respond_to?(:default_ttl) && repository.default_ttl) || @options[:ttl]
end

#versionObject



65
66
67
# File 'lib/cash/config.rb', line 65

def version
  @options[:version] || 1
end