Sha256: cb8db576ff3a1a396fd110a031753201a640eb7b93bbf2b6834e9c9bf942fcb1

Contents?: true

Size: 430 Bytes

Versions: 20

Compression:

Stored size: 430 Bytes

Contents

# An ActiveRecord validator for any liquid field that you would use with effective_email_templates or otherwise
#
# validates :body, liquid: true

class LiquidValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    if value.present?
      begin
        Liquid::Template.parse(value)
      rescue Liquid::SyntaxError => e
        record.errors.add(attribute, e.message)
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
effective_email_templates-1.9.0 lib/validators/liquid_validator.rb
effective_email_templates-1.8.0 lib/validators/liquid_validator.rb
effective_email_templates-1.7.0 lib/validators/liquid_validator.rb
effective_email_templates-1.6.0 lib/validators/liquid_validator.rb
effective_email_templates-1.5.1 lib/validators/liquid_validator.rb
effective_email_templates-1.5.0 lib/validators/liquid_validator.rb
effective_email_templates-1.4.1 lib/validators/liquid_validator.rb
effective_email_templates-1.4.0 lib/validators/liquid_validator.rb
effective_email_templates-1.3.0 lib/validators/liquid_validator.rb
effective_email_templates-1.2.3 lib/validators/liquid_validator.rb
effective_email_templates-1.2.2 lib/validators/liquid_validator.rb
effective_email_templates-1.2.1 lib/validators/liquid_validator.rb
effective_email_templates-1.2.0 lib/validators/liquid_validator.rb
effective_email_templates-1.1.4 lib/validators/liquid_validator.rb
effective_email_templates-1.1.3 lib/validators/liquid_validator.rb
effective_email_templates-1.1.2 lib/validators/liquid_validator.rb
effective_email_templates-1.1.1 lib/validators/liquid_validator.rb
effective_email_templates-1.1.0 lib/validators/liquid_validator.rb
effective_email_templates-1.0.13 lib/validators/liquid_validator.rb
effective_email_templates-1.0.12 lib/validators/liquid_validator.rb