Module: Exegesis::Design::DesignDocs

Included in:
Exegesis::Design
Defined in:
lib/exegesis/design/design_docs.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



8
9
10
# File 'lib/exegesis/design/design_docs.rb', line 8

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#design_doc(reload = false) ⇒ Object



76
77
78
79
# File 'lib/exegesis/design/design_docs.rb', line 76

def design_doc reload=false
  @design_doc = nil if reload
  @design_doc ||= database.get "_design/#{design_doc_name}" rescue nil
end

#design_doc_hashObject



72
73
74
# File 'lib/exegesis/design/design_docs.rb', line 72

def design_doc_hash
  design_doc.nil? ? '' : self.class.hash_for_design(design_doc)
end

#push_design!Object



81
82
83
84
85
86
87
88
89
# File 'lib/exegesis/design/design_docs.rb', line 81

def push_design!
  return if design_doc_hash == self.class.design_doc_hash
  if design_doc
    design_doc.update(self.class.design_doc)
    design_doc.save
  else
    database.save_doc(self.class.design_doc)
  end
end