If you are ever stuck trying to make sense of all this alphabet soup - these glossaries may be helpful!Have a look at the general Glossary, the Command Line Glossary, the Ruby and Rails Glossary, and the Docker Glossary.
Classes and Instances: Types and objects. If we have a class (type) called Car, then Peugeot 406 and Fiat Ritmo will be instances (objects) of this class. There may also be other instances unique to Peugeot 406, differentiated by, for example, their Model number.
Command Line Interface (or Console / Terminal): Allows you to interact with your computer (add, delete, modify files and much more) solely by typing instructions (commands).
Function: Code that can be re-used; if a formula has to change, you only need to change it in one place.
Git: A type of Version Control Software (VCS).
Github: A site that hosts git repositories. Github also adds a number of tools that aid interaction between developers collaborating on software.
Grouping: Indents and whitespaces are used for grouping code together and simplify readability. Ruby also uses do … end to group.
Heroku: A site that allows you to host your Ruby on Rails applications. Heroku also supports other languages and frameworks.
Home directory: On a OS X or Linux computer, this is where the files and settings belonging to your user are stored.
Loop: While something is true, do this. When something becomes not true then break the loop / stop.
Markdown: A lightweight markup language that allows you to write using an easy-to-read, easy-to-write plain text format, and then convert it to structurally valid XHTML (or HTML).
Rake: A Ruby application that can be used to perform a number of custom tasks. It is often used to carry out maintenance or ad-hoc jobs.
Repository (or Repo): A grouping of files within Version Control Software. When using Git, you will need to have access to a particular repository before you can start making changes to the source code.
Ruby: A programming language.
Ruby on Rails: A web framework written in Ruby. It has been designed in such a way as to make web development as fast and as easy as possible.
RubyGem: A package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems and a server for distributing them.
RVM: The Ruby Version Manager. An application that makes it easy to have multiple versions of Ruby on your computer at once.
Script: A term often used to describe a text file containing a series of instructions, written in Ruby, that will be used to produce the output visible in a browser.
Shell: The software that interprets your commandline instructions. Often used as a synonym for the Command Line Interface.
SSH: Secure Shell. A way to securely connect to a remote computer.
String: Text only, typed between inverted commas.
Text editor: A program that allows you to create and modify the text files that will be used by Ruby on Rails to run your command. Some text editors are optimised for software development and provide tools that increase productivity.
Variable: A storage location and an associated symbolic name (an identifier) which contains some known or unknown quantity or information (a value). The variable name is the usual way to reference the stored value; this separation of name and content allows the name to be used independently of the exact information it represents.
Version Control Software: Software that tracks changes to your source code and also allows you to undo or combine changes.
Command Line Glossary
~ Called 'tilde'. On OS X or Linux, this is a shortcut to the home directory for your user.
\ When you use an 'escape sequence' in front of a character, the normal interpretation of that character is not applied.
= Assignment to make whatever follows, to be treated as true (Name="Veronica").
== Boolean, a data type with only 2 possible values: True or False (Is name=="Veronica"? True).
cd (or cd ~) Change into your home directory.
cd directory (or cd ..) Change into the parent directory of your current directory.
cd ../../ Go up 2 levels / multiple levels.
cd foo Change into the directory named foo.
cp original.rb copy.rb Makes a copy of the original.rb file.
ls List the contents of your current directory.
ls directory Shows all contents (files and folders) of the directory.
pwd Shows the full path of the directory you are currently in (e.g. /home/heidi/tehcodez/Railsbridge).
-h (or --help) Can be run with all commands to list more helpful information.
git branch Shows you the branch that you're currently in.
git status Shows you any pending changes that you've created since your last commit.
git add -A Will add all your changes to your next commit.
git add file1.md file2.md file3.md Will add only the files you specify to your next commit.
git commit -m "some useful message for your future self" Commits all your changes with your descriptive message to git.
git push origin remote_branch_name This pushes the code in your current branch to the remote_branch_name branch on the remote repo named 'origin'.
Ruby and Rails Glossary
puts something Prints its argument to the console. Can be used in Rails apps to print something in the console where the server is running.
rails new NameApp Creates a new Rails application with the entire Rails directory structure to run your application.
rails server (or rails s) Launches a web server named Puma that you will use any time you want to access your application through a web browser.
rails generate (or rails g) Uses templates to create a bunch of directories and files in your application.
rails generate scaffold Creates a full set of model, database migration for that model, controller to manipulate it, views to view and manipulate the data and a test suite for each of the above.
rake Rake is ‘Ruby Make', used to build up a list of tasks.
rails console (or rails c) Lets you interact with your Rails application from the command line, useful for testing out quick ideas with code and changing data server-side without touching the website.
rails console --sandbox If you wish to test out some code without changing any data.
rails dbconsole (or rails db) Used to figure out which database you're using and drops you into whichever command line interface you would use with. It supports MySQL, PostgreSQL, SQLite and SQLite3.
rails destroy (or rails d) Does the opposite of generate. It will figure out what generate did and undo it.
docker-compose run web <
>will runs given commands in web service container.
docker-compose run web rails c will run rails console in web service container.
docker-compose run web bash runs bash to interact with the directory inside the web service container. You can also use this to run Rails commands such as
docker-compose build will build an image when
Dockerfilechanges or when you want to update or add gems.
docker-compose up starts up the containers.
docker-compose up -d starts up the containers in the background.
docker-compose down stops containers. If you have a Rails server running, this is how you stop it.
docker-compose ps lists container processes, container name, container id.
docker attach <
>attaches to the named container to interact with
Control + p,
Control + q, detach from container.