Ruby fixed-capacity LRU cache

Ruby
class LruCache
  def initialize(capacity)
    raise ArgumentError, 'capacity must be positive' unless capacity.positive?
    @capacity = capacity
    @data = {}
  end

  def get(key)
    return nil unless @data.key?(key)
    @data[key] = @data.delete(key)
  end

  def put(key, value)
    @data.delete(key)
    @data[key] = value
    @data.delete(@data.first[0]) while @data.size > @capacity
    value
  end
end