Comment

Comment by t-writescode

It's not. The method, RubyLLM.chat creates a new instance of the Chat object, as has been copied here:

  module RubyLLM
    class Error < StandardError; end

    class << self
      def chat(model: nil)
        Chat.new(model: model)
      end
https://github.com/crmne/ruby_llm/blob/9825f4fea089b1b974961...

If you're wondering about module RubyLLM. That's just how Ruby is often written.

Addendum: Ruby does not require you to put the opening and closing parenthesis on a function to run that function, and it's not always put there when you have zero or 1 parameter (I find it to be cleaner when you have a parameter, but have no opinion when there isn't a parameter)

In the example code from the link itself, you'll see:

  chat.ask "What's the best way to learn Ruby?"
which is the same as

  chat.ask("What's the best way to learn Ruby?")

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton