Q:

Understanding Ruby (Sinatra) - very very basic

I was looking at Sinatra and trying to understand the syntax:
require 'sinatra'

get '/' do
  "Hello, World!"
end

I understand it does this:

This is a ‘Route’. Here, we’re telling Sinatra that if the home, or root, URL '/' is requested, using the normal GET HTTP method, to display “Hello, World!”

But what is happening the Ruby language?

What does this syntax mean: get '/'? Is get a method and '/' a parameter to it? If it is method, then in Ruby, I can call a method as methodname (parameter) {}. What is { } there for?
I usually understand do and end as { }, which are kinds of enclosures to function bodies. 
Between do and end we have "Hello, World!" so is it a statement? What I mean is, it is getting printed, but we did not call it as print "Hello, World!", so what is going on? 
It seems get is a method defined in Sinatra, but if I add a gem, where there is a get method already defined, then how do I know which 'get' method it would call? Or, does it refer to the HTTP get method?

I am sorry if this question sounds very basic, but I want to get through it before I move forward.

A:

May I suggest going through a tutorial on ruby before tackling a larger problem like sinatra which is a fairly specialized library.
A good place to start is with the Ruby Koans
As for your questions.

get is a method. '/' is its argument. and do ... end denotes a block in ruby just like {} would.
Yeah that's what do ... end are
Blocks in Ruby return the last value calculated by default so in the is case having a string is the same as having return "String".
If you are getting a namespace collision, Ruby will complain. In this case get is the sinatra defined method get. Abstractly it stands for an HTTP GET request against the server.

