Sha256: a7a93f92fd2b667ed8726d222d4bc301dc39a819af9901e58b6628072854fd9d

Contents?: true

Size: 506 Bytes

Versions: 25

Compression:

Stored size: 506 Bytes

Contents

# frozen_string_literal: true

module Nuntius
  module Concerns
    module Yamlify
      extend ActiveSupport::Concern

      class_methods do
        def yamlify(attr)
          define_method(:"#{attr}_yaml=") do |yaml|
            write_attribute attr, YAML.safe_load(yaml.gsub("\t", "  "))
          end

          define_method(:"#{attr}_yaml") do
            return "" if attributes[attr.to_s].blank?

            YAML.dump(attributes[attr.to_s])
          end
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
nuntius-1.3.19 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.18 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.17 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.16 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.15 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.14 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.13 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.12 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.11 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.10 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.9 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.8 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.7 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.6 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.5 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.4 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.3 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.2 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.1 app/models/nuntius/concerns/yamlify.rb
nuntius-1.3.0 app/models/nuntius/concerns/yamlify.rb