title: lua Error : attempt to call global 'Class' (a boolean value)
body: <p>I am new to lua language .I have downloaded a class.lua file from github. I wrote a code for game developement by making classes in lua with love2d framework.I was making a pong game that needs paddles and ball,but it is giving me error like this:</p>
  <h3>Error</h3>
  <pre><code>Ball.lua:2: attempt to call global 'Class' (a boolean value)
  
  
  Traceback  
  Ball.lua:2: in main chunk  
  [C]: in function 'require'  
  main.lua:6: in main chunk  
  [C]: in function 'require'  
  [C]: in function 'xpcall'  
  [C]: in function 'xpcall'  
  </code></pre>
  <p>I have spent  so much time on it to solve but nothing happens.</p>
  <h2>main.lua</h2>
  <p>code is:</p>
  <pre><code>push =require 'push'
  Class=require 'class'
  
  require  &quot;Ball&quot;
  require  &quot;Paddle&quot;
  WINDOW_WIDTH=1280
  WINDOW_HEIGHT=720
  
  VIRTUAL_WIDTH=432
  VIRTUAL_HEIGHT=243
  
  --speed at which we will move our paddles; multiplied by dt in update
  PADDLE_SPEED=200
  
  function love.load()
      
   
      love.graphics.setDefaultFilter('nearest','nearest')
      --more 'retro-looking' font object we can use for any text
      --os.time() give the time from 1 jan 1970
      math.randomseed(os.time())
      smallFont=love.graphics.newFont('font.ttf',8)
      --set love2d active font to the small font object
      scoreFont=love.graphics.newFont('font.ttf' , 32)
      --larger font for drawing the score on the screen
      love.graphics.setFont(smallFont)
      --initialize window with virtual resolution 
      push:setupScreen(VIRTUAL_WIDTH,VIRTUAL_HEIGHT,WINDOW_WIDTH,WINDOW_HEIGHT,{
          fullscreen=false,
          resizable=false,
          vsync=true
      })
      --Paddle(x,y,width,height)
      player1=Paddle(10,30,5,20)
      player2=Paddle(VIRTUAL_WIDTH-10,VIRTUAL_HEIGHT-30,5,20)
      --place a  ball in the middle of the screen 
      ball=Ball(VIRTUAL_WIDTH/2-2,VIRTUAL_HEIGHT/2-2,4,4)
  
      gameState='start'
  end 
  function love.update(dt)
      --player 1 movement
      if love.keyboard.isDown('w') then
          --add negative paddle speed to current Y scaled by deltaTime
          player1.dy=-PADDLE_SPEED
          --player1Y= math.max ( 0, player1Y + -PADDLE_SPEED * dt)
      elseif love.keyboard.isDown('s') then
          --add positive paddle speed to current Y scaled by deltaTime    
          player1.dy=PADDLE_SPEED
      else
          player.dy=0        
          --player1Y = math.min ( VIRTUAL_HEIGHT -20 , player1Y + PADDLE_SPEED * dt)    
      end
      --player 2 movement
      if love.keyboard.isDown('up') then
          --add negative paddle speed to current Y scaled by deltaTime
          player2.dy=-PADDLE_SPEED
          --player2Y=math.max( 0, player2Y + -PADDLE_SPEED * dt)
      elseif love.keyboard.isDown('down') then
          player2.dy=PADDLE_SPEED
      else
          player2.dy=0
      end
      
      if gameState=='play' then 
          ball:update(dt)
      end
      player1:update(dt)
      player2:update(dt)
  end                 
  function love.keypressed(key)
     --key can be acessed by sting name
     if key=='escape' then
           --function love give us to terminate application
           love.event.quit()
     elseif key == 'enter' or key == 'return' then
         if gameState == 'start' then
             gameState = 'play'
         else
             gameState = 'start'
  
             ball:reset()
         end   
     end     
  end
  function love.draw()
     --begin rendering at virtual screen
     push:apply('start')
     --recent versions  of pong has grey color it sets grey color
     love.graphics.clear( 0 , 0 , 0 , 255)
     --note we are now using virtual width and height now for text placement
     --draw welcome text  on top of the screen 
     love.graphics.setFont(smallFont)
     if gameState == 'start' then
        love.graphics.printf('hello start state!', 0 , 20 , VIRTUAL_WIDTH , 'center' )
     else
        love.graphics.printf('hello play state!', 0 , 20 , VIRTUAL_WIDTH , 'center')
     end
     love.graphics.setFont(scoreFont)
     love.graphics.print(tostring(player1Score),VIRTUAL_WIDTH / 2 - 50 , VIRTUAL_HEIGHT / 3)
     love.graphics.print(tostring(player2Score),VIRTUAL_WIDTH / 2 + 30 , VIRTUAL_HEIGHT / 3)
  
     player1:render()
     player2:render()
  
     ball:render()
     --end rendering at virtual resolution 
     push:apply('end')
  end             
  
  </code></pre>
  <h2>Ball.lua</h2>
  <p>code is:</p>
  <pre><code>--making a Ball class
  Ball = Class{}
  function Ball:init(x,y,width,height)
      self.x=x
      self.y=y
      self.width=width
      self.height=height
      self.dy=math.random(2) ==1 and -100 or 100
      self.dx=math.random(-50,50)
  end
  
  --[[places the ball in the middle of the screen with an
  initial random velocity on both axes.]]
  
  function Ball:reset()
      self.x=VIRTUAL_WIDTH/2-2
      self.y=VIRTUAL_HEIGHT/2-2
      self.dy=math.random(2) == 1 and -100 or 100
      self.dx=math.random(-50,50)
  end
  function Ball:update(dt)
      self.x=self.x+self.dx * dt
      self.y=self.y+self.dy * dt
  end
  function Ball:render()
      love.graphics.rectangle('fill',self.x,self.y,self.width,self.height)
  end     
  return Ball
          
  </code></pre>
  <p>plz help me on this matter.<br />
  Thanks in advance.</p>