Module: PassiveRecord

Defined in:
lib/passive_record.rb,
lib/passive_record/hooks.rb,
lib/passive_record/version.rb,
lib/passive_record/core/query.rb,
lib/passive_record/associations.rb,
lib/passive_record/class_methods.rb,
lib/passive_record/core/identifier.rb,
lib/passive_record/pretty_printing.rb,
lib/passive_record/instance_methods.rb,
lib/passive_record/associations/has_one.rb,
lib/passive_record/associations/has_many.rb,
lib/passive_record/associations/belongs_to.rb,
lib/passive_record/associations/has_many_through.rb

Defined Under Namespace

Modules: Associations, ClassMethods, Core, Hooks, InstanceMethods, PrettyPrinting Classes: Identifier, SecureRandomIdentifier

Constant Summary collapse

VERSION =

passive_record version

"0.3.1"

Class Method Summary collapse

Class Method Details

.configurationObject



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

def self.configuration
  @config ||= default_configuration
end

.configure {|configuration| ... } ⇒ Object

Yields:



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

def self.configure
  yield configuration
end

.default_configurationObject



51
52
53
54
55
# File 'lib/passive_record.rb', line 51

def self.default_configuration
  OpenStruct.new(
    :identify_using => Identifier
  )
end

.drop_allObject



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

def self.drop_all
  (model_classes + model_classes.flat_map(&:descendants)).each(&:destroy_all)
end

.included(base) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/passive_record.rb', line 21

def self.included(base)
  base.send :include, InstanceMethods
  base.send :include, ClassLevelInheritableAttributes
  base.send :include, PrettyPrinting

  base.class_eval do
    inheritable_attrs :hooks, :associations
  end

  base.extend(ClassMethods)

  model_classes << base
end

.model_classesObject



35
36
37
# File 'lib/passive_record.rb', line 35

def self.model_classes
  @model_classes ||= []
end