Sha256: dea49861407f9f1bac0719896eeb370b7642bc721335fa58454ab611627bcaf3

Contents?: true

Size: 586 Bytes

Versions: 5

Compression:

Stored size: 586 Bytes

Contents

module Joint
  class AttachmentProxy
    def initialize(instance, name)
      @instance, @name = instance, name
    end

    def id
      @instance.send("#{@name}_id")
    end

    def name
      @instance.send("#{@name}_name")
    end

    def size
      @instance.send("#{@name}_size")
    end

    def type
      @instance.send("#{@name}_type")
    end

    def nil?
      !@instance.send("#{@name}?")
    end

    def grid_io
      @grid_io ||= @instance.grid.get(id)
    end

    def method_missing(method, *args, &block)
      grid_io.send(method, *args, &block)
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
jamieorc-joint-0.5.6 lib/joint/attachment_proxy.rb
joint-0.5.5 lib/joint/attachment_proxy.rb
joint-0.5.4 lib/joint/attachment_proxy.rb
joint-0.5.3 lib/joint/attachment_proxy.rb
joint-0.5.2 lib/joint/attachment_proxy.rb