Module: Trek::Pages::Versionable

Extended by:
ActiveSupport::Concern
Included in:
Page
Defined in:
app/models/concerns/trek/pages/versionable.rb

Instance Method Summary collapse

Instance Method Details

#create_current_version_from_page!Object



19
20
21
22
23
24
25
# File 'app/models/concerns/trek/pages/versionable.rb', line 19

def create_current_version_from_page!
  versions.create!(
    current_since: Time.zone.now,
    content:,
    image:
  )
end

#current_contentObject



39
40
41
# File 'app/models/concerns/trek/pages/versionable.rb', line 39

def current_content
  (current_version || self).content
end

#current_imageObject



47
48
49
# File 'app/models/concerns/trek/pages/versionable.rb', line 47

def current_image
  current_version&.image || self&.image || parent&.current_image
end

#current_image_urlObject



51
52
53
# File 'app/models/concerns/trek/pages/versionable.rb', line 51

def current_image_url
  current_version&.image_url || image_url || parent&.current_image_url
end

#current_sectionsObject



43
44
45
# File 'app/models/concerns/trek/pages/versionable.rb', line 43

def current_sections
  (current_version || self).sections
end

#current_versionObject



27
28
29
30
31
# File 'app/models/concerns/trek/pages/versionable.rb', line 27

def current_version
  return unless versioned?

  @current_version ||= versions.current
end

#current_version=(version) ⇒ Object



33
34
35
36
37
# File 'app/models/concerns/trek/pages/versionable.rb', line 33

def current_version=(version)
  return unless versioned?

  @current_version = version
end