Module: ArCache

Defined in:
lib/ar_cache/log_subscriber.rb,
lib/ar_cache.rb,
lib/ar_cache/query.rb,
lib/ar_cache/store.rb,
lib/ar_cache/table.rb,
lib/ar_cache/record.rb,
lib/ar_cache/marshal.rb,
lib/ar_cache/version.rb,
lib/ar_cache/mock_table.rb,
lib/ar_cache/where_clause.rb,
lib/ar_cache/configuration.rb,
lib/ar_cache/active_record/core.rb,
lib/ar_cache/active_record/relation.rb,
lib/ar_cache/active_record/insert_all.rb,
lib/ar_cache/active_record/persistence.rb,
lib/ar_cache/active_record/model_schema.rb,
lib/generators/ar_cache/install_generator.rb,
lib/ar_cache/active_record/associations/association.rb,
lib/ar_cache/active_record/associations/singular_association.rb,
lib/ar_cache/active_record/associations/has_one_through_association.rb,
lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb,
lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb

Overview

TODO

Defined Under Namespace

Modules: ActiveRecord, Generators, Marshal Classes: Configuration, LogSubscriber, MockTable, Query, Record, Store, Table, WhereClause

Constant Summary collapse

VERSION =
'1.5.0'

Class Method Summary collapse

Class Method Details

.cache_reflection?(reflection) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/ar_cache.rb', line 56

def cache_reflection?(reflection)
  @cache_reflection.fetch(reflection) { @cache_reflection[reflection] = yield }
end

.expireObject



45
46
47
48
49
50
51
52
53
54
# File 'lib/ar_cache.rb', line 45

def expire
  return yield if expire?

  begin
    Thread.current[:ar_cache_expire] = true
    yield
  ensure
    Thread.current[:ar_cache_expire] = false
  end
end

.expire?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/ar_cache.rb', line 41

def expire?
  Thread.current[:ar_cache_expire]
end

.skipObject



30
31
32
33
34
35
36
37
38
39
# File 'lib/ar_cache.rb', line 30

def skip
  return yield if skip?

  begin
    Thread.current[:ar_cache_skip] = true
    yield
  ensure
    Thread.current[:ar_cache_skip] = false
  end
end

.skip?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/ar_cache.rb', line 26

def skip?
  Thread.current[:ar_cache_skip]
end