Sha256: 6021f063798f5e0f8cca2ffb34f9fe05be4b04f4b95bba87060ab2b268ec0f1e
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
module Spree class CmsSection < Base include DisplayLink acts_as_list scope: :cms_page belongs_to :cms_page, touch: true IMAGE_COUNT = ['one', 'two', 'three'] IMAGE_TYPES = ['image/png', 'image/jpg', 'image/jpeg', 'image/gif'].freeze IMAGE_SIZE = ['sm', 'md', 'lg', 'xl'] IMAGE_COUNT.each do |count| send(:has_one_attached, "image_#{count}".to_sym) IMAGE_SIZE.each do |size| define_method("img_#{count}_#{size}") do |dimensions = nil| return if !send("image_#{count}").attached? || dimensions.nil? send("image_#{count}").variant(resize: dimensions) end end end belongs_to :linked_resource, polymorphic: true default_scope { order(position: :asc) } validates :name, :cms_page, presence: true validates :image_one, :image_two, :image_three, content_type: IMAGE_TYPES LINKED_RESOURCE_TYPE = [] TYPES = ['Spree::Cms::Sections::HeroImage', 'Spree::Cms::Sections::FeaturedArticle', 'Spree::Cms::Sections::ProductCarousel', 'Spree::Cms::Sections::ImageGallery', 'Spree::Cms::Sections::SideBySideImages', 'Spree::Cms::Sections::RichTextContent'] def boundaries ['Container', 'Screen'] end def css_classes ['row', 'section-row'].compact end def gutters_sizes ['Gutters', 'No Gutters'] end def fullscreen? fit == 'Screen' end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
spree_core-4.3.0.rc3 | app/models/spree/cms_section.rb |
spree_core-4.3.0.rc2 | app/models/spree/cms_section.rb |
spree_core-4.3.0.rc1 | app/models/spree/cms_section.rb |