title: Ruby Classes; Error: Uninitialized constant BookInStock::ArguementError (NameError)
body: <p>I'm new to ruby but trying my best to grasp it. The ques is...</p>
  
  <p>Define a class BookInStock which represents a book with an isbn number, isbn, and price of the book as a floating-point number, price, as attributes. The constructor should accept the ISBN number (a string) as the first argument and price as second argument, and should raise ArgumentError (one of Ruby's built-in exception types) if the ISBN number is the empty string or if the price is less than or equal to zero.</p>
  
  <p>Include the proper getters and setters for these attributes. Include a method price_as_string that returns the price of the book with a leading dollar sign and trailing zeros, that is, a price of 20 should display as "$20.00" and a price of 33.8 should display as "$33.80".</p>
  
  <p>My code:-</p>
  
  <pre><code>class BookInStock
    #getters and setters
    attr_reader :isbn, :price
  
    def isbn= (isbn)
      if isbn == ''
        raise ArguementError.new("Must have an ISBN number")
      end
      @isbn = isbn
    end
  
    def price= (price)
      price = price.to_f
      if price &lt;= 0
        raise ArguementError.new("Must have price")
      end
      @price = price
    end
  
    def initialize(isbn, price)
      self.isbn = @isbn
      self.price = @price
    end
  
    def self.price_as_string
      return "$" + sprinff("%.2f", @price)
    end
  end
  </code></pre>
  
  <p>However, I'm getting an error when I try</p>
  
  <pre><code>BookInStock.new('',9.00)
  </code></pre>
  
  <p>I get a <code>Uninitialized constant BookInStock::ArgumentError (NameError)</code></p>
  
  <p>Upon doing some research on the error it says that I may be referring to a class or module that doesn't exist?
  PLease help, thanks</p>