Functions that end with ? in Ruby are functions that only return a boolean, that is, true, or false.
When you write a function that can only return true or false, you should end the function name with a question mark.
The example you gave shows a ternary statement, which is a one-line if-statement. .nil?
is a boolean function that returns true if the value is nil and false if it is not. It first checks if the function is true, or false. Then performs an if/else to assign the value (if the .nil?
function returns true, it gets nil as value, else it gets the File.join(root_dir, '/')
as value.
It can be rewritten like so:
if root_dir.nil? prefix = nil else prefix = File.join(root_dir, '/') end
Related Posts:
- Rails 5 ActionController::InvalidAuthenticityToken error
- Rails 4 RoutingError: No Route Matches
- PG::ConnectionBad – could not connect to server: Connection refused
- Rails syntax error : unexpected keyword_ensure, expecting end-of-input
- Ruby: What is the easiest way to remove the first element from an array?
- Ruby String to Date Conversion
- Uploading a file in Rails
- Get underlined text with Markdown
- What is the meaning of *nix?
- Get underlined text with Markdown
- Why does Ruby on Rails use http://0.0.0.0:3000 instead of http://localhost:3000?
- What does the “map” method do in Ruby?
- How to write a switch statement in Ruby
- How to update Ruby Version 2.0.0 to the latest version in Mac OSX Yosemite?
- What does %w(array) mean?
- How to use “gets” and “gets.chomp” in Ruby
- Getting a substring in Ruby by x number of chars
- How to check whether a string contains a substring in Ruby
- Ruby: How to install a specific version of a ruby gem?
- Parsing XML with Ruby
- ruby operator “=~” [duplicate]
- Unable to install gem – Failed to build gem native extension – cannot load such file — mkmf (LoadError)
- What is attr_accessor in Ruby?
- ActionController::UnknownFormat
- What does ||= (or-equals) mean in Ruby?
- How to read lines of a file in Ruby
- Array to Hash Ruby
- Cannot load such file — bcrypt_ext
- How do I remove Permission denied @ rb_sysopen – Gem install error?
- Ruby: undefined method `[]’ for nil:NilClass when trying to get Enumerator on an Array of Hashes
- How to map with index in Ruby?
- warning: constant ::Fixnum is deprecated When generating new model
- Ruby equivalent for Python’s “try”?
- What does “+=” (plus equals) mean?
- How to sum array of numbers in Ruby?
- Ruby array to string conversion
- How to check if a value exists in an array in Ruby
- undefined method (NoMethodError) ruby
- Multi-Line Comments in Ruby?
- How to uninstall ruby installed by ruby-install
- Removing all installed Gems and starting over
- Ruby `send` vs `call` method
- What is the meaning of “do | |” in Ruby?
- RVM is not a function, selecting rubies with ‘rvm use …’ will not work
- How to delete specific characters from a string in Ruby?
- bcrypt LoadError: Cannot load such file
- Uninitialized constant “Controller Name”
- Ruby: kind_of? vs. instance_of? vs. is_a?
- Rails: I installed Ruby, now “bundle install” doesn’t work
- How to do a newline in output
- p vs puts in Ruby
- Determining type of an object in ruby
- Difference between rake db:migrate db:reset and db:schema:load
- Fizz Buzz in Ruby for dummies
- How to Uninstall RVM? [duplicate]
- What is the “right” way to iterate through an array in Ruby?
- TypeError: no implicit conversion of Symbol into Integer
- What is the difference between a Process’ pid, ppid, uid, euid, gid and egid?
- Equivalent of “continue” in Ruby
- What does the Ruby method ‘to_sym’ do?
- Difference between map and collect in Ruby?
- An unhandled lowlevel error occurred. The application logs may have details
- Rails button_to vs. HTML Button Tag
- Creating and iterating a 2d array in Ruby
- GROUP BY and COUNT using ActiveRecord
- What is the best way to convert an array to a hash in Ruby
- Purge or recreate a Ruby on Rails database
- Ruby 2.0.0p0 IRB warning: “DL is deprecated, please use Fiddle”
- Getting error: dyld: Symbol not found: _clock_gettime
- Uninstall old versions of Ruby gems
- Migrations are pending; run ‘bin/rake db:migrate RAILS_ENV=development’ to resolve this issue
- What is java interface equivalent in Ruby?
- Sort hash by key, return hash in Ruby
- Gem installation error: You have to install development tools first
- An error occurred while installing json (1.8.1), and Bundler cannot continue – Rails
- How to understand strptime vs. strftime
- Nginx error: client intended to send too large body
- How can I delete one element from an array by value
- How to break out from a ruby block?
- How do I parse JSON with Ruby on Rails? [duplicate]
- ERROR: While executing gem … (Gem::FilePermissionError)
- No such file or directory @ rb_sysopen ruby
- How to add to an existing hash in Ruby
- Ruby ‘require’ error: cannot load such file
- How to convert a string to lower or upper case in Ruby
- What is the canonical way to trim a string in Ruby without creating a new string?
- Difference between $stdout and STDOUT in Ruby
- No implicit conversion of String into Integer (TypeError)?
- Multi-Line Comments in Ruby?
- Explain what " means
- ActionController::InvalidAuthenticityToken
- Why use Ruby’s attr_accessor, attr_reader and attr_writer?
- How to update Ruby with Homebrew?
- Using Pundit for all-access “super_admin” role
- How to tell if homebrew is installed on Mac OS X
- Difference between `not` and `!` in ruby
- PG::ConnectionBad: fe_sendauth: no password supplied
- Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets
- Uncaught ReferenceError: React is not defined
- What are those pipe symbols for in Ruby?