Sha256: 06074e911fe43728a3fb3f8de9fa7839a84c8d7950e890886371a22afdb23afd

Contents?: true

Size: 740 Bytes

Versions: 1

Compression:

Stored size: 740 Bytes

Contents

# frozen_string_literal: true

module Auxilium
  module Concerns
    module Metadata
      extend ActiveSupport::Concern

      included do
        validates :metadata_yaml, yaml: true
      end

      def metadata_yaml=(yaml)
        write_attribute :metadata, YAML.safe_load(yaml.gsub("\t", '  '))
      rescue StandardError
        write_attribute :metadata, yaml
      end

      def metadata_yaml
        return '' if attributes['metadata'].blank?

        if attributes['metadata'].is_a? String
          begin
            YAML.load(attributes['metadata'])
          rescue StandardError
            attributes['metadata']
          end
        else
          YAML.dump(attributes['metadata'])
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
auxilium-3.0.24 lib/auxilium/concerns/metadata.rb