Sha256: 22748d167b44321c7563878cae5e4e5a0234c9331698f79ee6818089248dfa0f
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
module EditableComponents module Concerns module Editable extend ActiveSupport::Concern included do # embeds_many :ec_blocks, as: :parent, cascade_callbacks: true, order: :position.desc, class_name: 'EditableComponents::Block' has_many :ec_blocks, as: :parent, foreign_key: 'parent_id', class_name: Block.to_s accepts_nested_attributes_for :ec_blocks, allow_destroy: true def create_block( type = :text, params = {} ) block = Block.new( block_type: type ) block.options = params[:options] if params[:options] block.validations = params[:validations] if params[:validations] ec_blocks << block block end def current_blocks( version = 0 ) return @current_blocks if @current_blocks version = 0 unless EditableComponents::Engine.edit_mode # no admin = only current version @current_blocks = ec_blocks.where( version: version.to_i ).with_nested.published end def get_block( name, version = 0 ) current_blocks( version ).each do |block| return block if block.name == name end nil end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
editable_components-0.1.3 | app/models/editable_components/concerns/editable.rb |
editable_components-0.1.2 | app/models/editable_components/concerns/editable.rb |