Class: Journeybook::Page

Inherits:
ApplicationRecord show all
Defined in:
app/models/journeybook/page.rb

Constant Summary collapse

STATUSES =
%w[draft published archived].freeze
PAGE_TYPES =
%w[page blog_post kb_article glossary_term].freeze

Instance Method Summary collapse

Instance Method Details

#blog_post?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/models/journeybook/page.rb', line 37

def blog_post?
  page_type == "blog_post"
end

#component_validation_errorsObject



53
54
55
# File 'app/models/journeybook/page.rb', line 53

def component_validation_errors
  ComponentValidator.new.errors_for(self)
end

#glossary_term?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'app/models/journeybook/page.rb', line 45

def glossary_term?
  page_type == "glossary_term"
end

#kb_article?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'app/models/journeybook/page.rb', line 41

def kb_article?
  page_type == "kb_article"
end

#layout_nameObject



49
50
51
# File 'app/models/journeybook/page.rb', line 49

def layout_name
  layout.presence || site.layout_name
end

#published?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/journeybook/page.rb', line 33

def published?
  status == "published" && (published_at.blank? || published_at <= Time.current)
end