You can edit almost every page by Creating an account and confirming your email.

Roda (software)

From EverybodyWiki Bios & Wiki

Roda
Original author(s)Jeremy Evans
Initial releaseJuly 2014; 11 years ago (2014-07)[1]
Written inRuby
Engine
    TypeWeb application framework
    LicenseMIT License

    Search Roda (software) on Amazon.

    Roda is a free and open source software web application library written in Ruby. It is an alternative to other Ruby web application frameworks such as Sinatra (software) or Ruby on Rails. It is dependent on the Rack web server interface. Initially released with the moniker Sinuba, drawing influences from the Sinatra and Cuba web frameworks, it was later named Roda, after the Roda trees which appear in the Ys (series) of games.[2]

    Roda is developed by Jeremy Evans, who is also the lead developer of the Sequel database library, the Rodauth authentication framework, and many other Ruby libraries. He is the maintainer of Ruby ports for the OpenBSD operating system, and has contributed to CRuby and JRuby, as well as many popular Ruby libraries.[3]

    Roda started out as a fork of the Cuba framework, from which it borrows the idea of using a routing tree (which Cuba in turn took from RUM[4]. [2] From Sinatra, it takes the ideas that route blocks should return the request bodies and that routes should be canonical. Roda’s plugin system is based on the plugin system used by the Sequel ORM.[2]

    Roda is a lightweight library. The basic features enabled by default are implemented in fewer than 800 lines of code. However, Roda ships with over 100 plugins that can handle the needs of most web applications.[5]

    Some notable uses of Roda include Bridgetown Site Generator and Ubicloud.

    Routing Tree

    Roda performs routing by implementing what it calls a routing tree. The primary advantage of the routing tree is that request handling and routing are integrated, so that we can handle a request while routing it. This can remove a lot of duplication inherent in web frameworks that separate routing from request handling.[6]

    Example

    require "roda"
    
    class App < Roda
      route do |r|
        name = "Roda"
    
        r.on "hello" do
          "Hello, #{name}!"
        end
    
        r.on "goodbye" do
          "Goodbye, #{name}!"
        end
      end
    end
    

    References

    1. "Roda: The routing tree web framework". code.jeremyevans.net. 20 November 2014. Retrieved 2023-02-01.
    2. 2.0 2.1 2.2 Jeremy Evans (2014). "Roda Routing Tree Web Framework Presentation, SacRuby Meetup, November 2014". Retrieved 2023-02-02.
    3. "Interview with Jeremy Evans, Lead developer of Sequel & Roda". 2021. Retrieved 2023-02-02.
    4. RUM)
    5. Iachetti, Federico (2019). "Mastering Roda - About Roda". Retrieved 2023-02-02.
    6. Iachetti, Federico (2019). "Mastering Roda - About Roda". Retrieved 2023-02-02.

    Further reading


    This article "Roda (software)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Roda (software). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.