Module: Festivity::Extensions::PageExtensions::PageMethods

Defined in:
lib/festivity/extensions/page_extensions.rb

Instance Method Summary collapse

Instance Method Details

#create_page_defaultsObject



26
27
28
# File 'lib/festivity/extensions/page_extensions.rb', line 26

def create_page_defaults
  self.save if festivity_base_page?
end

#find_by_path_with_vanity_urls(path, live = true, clean = true) ⇒ Object

Raises:

  • (MissingRootPageError)


60
61
62
63
64
65
66
67
# File 'lib/festivity/extensions/page_extensions.rb', line 60

def find_by_path_with_vanity_urls(path, live = true, clean = true)
  raise MissingRootPageError unless root
  page = self.find_by_path_without_vanity_urls(path, live, clean)
  if page.is_a?(FileNotFoundPage)
    vanity_url = VanityUrlPage.find_vanity_url_by_path(path, live)
  end
  vanity_url ? vanity_url : page
end

#imageObject



38
39
40
# File 'lib/festivity/extensions/page_extensions.rb', line 38

def image
  page_image_url('featured_image')
end

#market_end_date=(value) ⇒ Object



46
47
48
# File 'lib/festivity/extensions/page_extensions.rb', line 46

def market_end_date=(value)
  super(Chronic.parse(value))
end

#market_start_date=(value) ⇒ Object



42
43
44
# File 'lib/festivity/extensions/page_extensions.rb', line 42

def market_start_date=(value)
  super(Chronic.parse(value))
end

#organizationObject



50
51
52
53
54
55
56
57
58
# File 'lib/festivity/extensions/page_extensions.rb', line 50

def organization
  page_organization = nil
  page_parent = self.parent
  while page_organization == nil
    page_organization = page_parent.site
    page_parent = page_parent.parent
  end
  page_organization
end

#set_page_defaultsObject



30
31
32
33
34
35
36
# File 'lib/festivity/extensions/page_extensions.rb', line 30

def set_page_defaults
  if festivity_base_page? && self.id
    self.slug = self.id unless self.slug == self.id
    parts.create(:name => 'video_embed', :content => "") unless parts.any? { |part| part.name == 'video_embed' }
    parts.create(:name => 'sponsor_logo', :content => "") unless parts.any? { |part| part.name == 'sponsor_logo' }
  end
end