Sha256: 70c2b62de5b789c0122470864f52629e4846078fc019a6c4d618b41df2a36be2

Contents?: true

Size: 671 Bytes

Versions: 1

Compression:

Stored size: 671 Bytes

Contents

module Pageflow
  class UsedFile < SimpleDelegator
    def initialize(file, usage = nil)
      super(file)
      @file = file
      @usage = usage || file.usages.first
    end

    def configuration
      @usage.configuration
    end

    def update!(attributes)
      super(attributes.except(:configuration))
      @usage.update!(attributes.slice(:configuration))
    end

    def usage_id
      @usage.id
    end

    def perma_id
      @usage.perma_id
    end

    # Not delegated by default. Required to allow using instances in
    # Active Record conditions.

    def is_a?(klass)
      @file.is_a?(klass)
    end

    def class
      @file.class
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pageflow-16.1.0 app/models/pageflow/used_file.rb