Ruby

Ruby programming with blocks, metaprogramming, gems, and Rails conventions. Use for .rb files.

G1Joshi Updated

File contents

Ruby

A dynamic, interpreted language known for its elegant syntax.

When to Use

  • Web Development (Ruby on Rails)
  • Scripting / Automation
  • DevOps tools (Chef, Puppet)
  • Prototyping

Quick Start

puts "Hello, World!"

class Greeter
  def initialize(name)
    @name = name
  end

  def say_hi
    puts "Hi #{@name}!"
  end
end

g = Greeter.new("Alice")
g.say_hi

Core Concepts

Everything is an Object

Numbers, strings, even nil are objects.

1.odd? # => true

Blocks & Iterators

Functional-style constructs for iteration.

[1, 2, 3].each do |n|
  puts n * 2
end

Metaprogramming

Writing code that writes code (used heavily in Rails).

Best Practices

Do:

  • Optimize for developer happiness (readability)
  • Use standard style guide (RuboCop)
  • Use blocks for resource management (File.open)

Don't:

  • Overuse monkey patching (modifying core classes)
  • Write "Perl-ish" Ruby (keep it clean)

References

G1Joshi/Agent-Skills/tree/main/skills/languages/ruby commit 4a2f23f6b6

Frequently asked questions

npx skillmds@latest add g1joshi/ruby