Module: MarkdownRecord::Associations

Extended by:
ActiveSupport::Concern
Includes:
PathUtilities
Included in:
Base
Defined in:
lib/markdown_record/models/associations.rb

Instance Method Summary collapse

Methods included from PathUtilities

#base_content_root_name, #base_rendered_path, #base_rendered_root, #clean_path, #erb_locals_from_path, #fragment_attributes_from_path, #full_path_to_parts, #path_to_fragment_id, #remove_prefix, #rendered_path, #scoped_id_to_parts, #to_scoped_id

Instance Method Details

#children(filters = {}) ⇒ Object



87
88
89
90
# File 'lib/markdown_record/models/associations.rb', line 87

def children(filters = {})
  sub_start = "#{subdirectory}/".delete_prefix("/")
  self.class.new_association(filters.merge({:scope => scope, :subdirectory => Regexp.new("#{sub_start}[\\S|\\w]+")}).merge!(not_self))
end

#class_siblings(filters = {}) ⇒ Object



83
84
85
# File 'lib/markdown_record/models/associations.rb', line 83

def class_siblings(filters = {})
  self.class.new_association(filters.merge({:klass => self.class, :scope => scope, :subdirectory => subdirectory, :__not__ => { :id => self.id }}))
end

#fragmentObject



92
93
94
# File 'lib/markdown_record/models/associations.rb', line 92

def fragment
  @fragment ||= self.class.new_association.fragmentize.__find__(fragment_id)
end

#siblings(filters = {}) ⇒ Object



79
80
81
# File 'lib/markdown_record/models/associations.rb', line 79

def siblings(filters = {})
  self.class.new_association(filters.merge({:subdirectory => subdirectory, :scope => scope}).merge!(not_self))
end