Module: Kashmir

Defined in:
lib/kashmir.rb,
lib/kashmir/dsl.rb,
lib/kashmir/caching.rb,
lib/kashmir/version.rb,
lib/kashmir/inline_dsl.rb,
lib/kashmir/plugins/ar.rb,
lib/kashmir/representable.rb,
lib/kashmir/representation.rb,
lib/kashmir/plugins/ar_relation.rb,
lib/kashmir/plugins/null_caching.rb,
lib/kashmir/plugins/memory_caching.rb,
lib/kashmir/plugins/memcached_caching.rb,
lib/kashmir/plugins/active_record_representation.rb

Defined Under Namespace

Modules: AR, ArRelation, Caching, Dsl, InlineDsl, Representable Classes: ActiveRecordRepresentation, Representation

Constant Summary collapse

VERSION =
"0.1.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



14
15
16
# File 'lib/kashmir.rb', line 14

def logger
  @logger
end

Class Method Details

.cachingObject



39
40
41
# File 'lib/kashmir.rb', line 39

def caching
  @caching ||= Kashmir::Caching::Null.new
end

.included(klass) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/kashmir.rb', line 16

def included(klass)
  klass.extend Representable::ClassMethods
  klass.send(:include, Representable)

  if klass.ancestors.include?(::ActiveRecord::Base)
    klass.send(:include, Kashmir::AR)
  end
end

.init(options = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/kashmir.rb', line 25

def init(options={})
  if client = options[:cache_client]
    @caching = client
  end

  if logger = options[:logger]
    @logger = logger
  end
end