SketchUp is a surface modeler. Everything in SketchUp is basically made up of edges, vertices, and faces.
There are no complex built-in 3D shape classes in the SketchUp Ruby API.
Instead primitives are either grouped into  Group class instances, or  ComponentInstance class instances. (Each have a defining  ComponentDefinition class instance.)
These mentioned classes are all sub-classes of  Entity, and inherit it's functionality (as well as the intermediate  Drawingelement class functionality.)
Any  Entity subclass instance can have any number of  AttributeDictionary instances attached to them. You can put whatever custom data you wish into attributes in a custom dictionary, usually named the same as your plugin. (Ex: "Ruts_Shaper_Properties")
Back to the grouped 3D shape. Groups and components have a built-in definition name and each instance of them can have a separate more unique instance name. Group and component instances have built-in transformation property, from which you can query all the translational, rotational, scaling and axial subproperties. See the  Geom::Transformation class.
All  Drawingelement subclasses (the objects that can be seen in the model,) have an invisible  boundingbox, from which you can get the corners and the center. See the  Geom::BoundingBox class.
It would be more efficient to create the basic shapes as an external SKP component library, and insert them into the model, rather than draw each using code, but drawing them adhoc can be done.
You should most likely install the SketchUp Team's example Shapes plugin, and study the code.
http://extensions.sketchup.com/en/search/site/Shapes