Sha256: 8f2197df50bde11ab6fde4c7baae3824fb415192740141904b62bb6ead1219a8

Contents?: true

Size: 883 Bytes

Versions: 2

Compression:

Stored size: 883 Bytes

Contents

module Yaks
  class NullResource < Resource
    include Equalizer.new(:collection?)

    def initialize(opts = {})
      super()
      @collection = opts.fetch(:collection) { false }
    end

    def each
      to_enum
    end

    def collection?
      @collection
    end

    def null_resource?
      true
    end

    def update_attributes(_new_attrs)
      raise UnsupportedOperationError, "Operation #{__method__} not supported on #{self.class}"
    end

    def add_link(_link)
      raise UnsupportedOperationError, "Operation #{__method__} not supported on #{self.class}"
    end

    def add_control(_control)
      raise UnsupportedOperationError, "Operation #{__method__} not supported on #{self.class}"
    end

    def add_subresource(_rel, _subresource)
      raise UnsupportedOperationError, "Operation #{__method__} not supported on #{self.class}"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yaks-0.6.2 lib/yaks/null_resource.rb
yaks-0.6.1 lib/yaks/null_resource.rb