What does the "set" keyword mean in ruby?

capistrano, ruby

Solution

That's not a keyword in standard Ruby. It's an example of an element in a Domain Specific Language (DSL).

Basically, a DSL allows you to work at a higher level of abstraction by providing more targeted constructs than a general-purpose language like Ruby. The "set" here is an example of this. It's probably just a function in Ruby that you're actually calling, but when you use it, it feels more like a language construct in its own right. Ruby is particularly good at writing DSLs

As for what this does in Capistrano, I have no idea, I've never used Capistrano. :)

Problem

I'm going through the capistrano handbook https://github.com/leehambley/capistrano-handbook/blob/master/index.markdown And see the keyword "set" appear ``` set :deploy_via, :remote_cache ``` Does set in this example set the symbol `:deploy_via` to `:remote_cache`?

Original source