SkillAgentSearch skills...

Wtruby

Wt::Ruby - Ruby bindings for the Wt web toolkit

Install / Use

/learn @rdale/Wtruby
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

From the Wt website at http://www.webtoolkit.eu/wt

"Wt (pronounced 'witty') is a C++ library and application server for developing and deploying web applications. It is not a 'framework', which enforces a way of programming, but a library.

The API is widget-centric, and inspired by existing C++ Graphical User Interface (GUI) APIs. To the developer, it offers complete abstraction of any web-specific implementation details, including event handling and graphics support"

The Wt::Ruby bindings provide the same widget based api for Ruby programmers. It is based on the well proven QtRuby code and could be described as a 'QtRuby for web programming'.

Here is a simple 'hello world' program that shows how a complete web application can be coded in a single source file 'hello.rb'.

#!/usr/bin/env ruby require 'wt'

class HelloApplication < Wt::WApplication def initialize(env) super(env) setTitle("Hello world") root.addWidget(Wt::WText.new("Your name, please ? ")) @nameEdit = Wt::WLineEdit.new(root) do |e| e.setFocus end button = Wt::WPushButton.new("Greet me.", root) do |b| b.setMargin(Wt::WLength.new(5), Wt::Left) end root.addWidget(Wt::WBreak.new) @greeting = Wt::WText.new(root) button.clicked.connect(SLOT(self, :greet)) @nameEdit.enterPressed.connect(SLOT(self, :greet)) end

def greet @greeting.text = "Hello there, " + @nameEdit.text end end

Wt::WRun(ARGV) do |env| HelloApplication.new(env) end

During development this program can be started from the command line, where it will run as a self contained web server:

$ ./hello.rb -- --docroot . --http-address localhost --http-port 4000

A release version can be run under Apache2 via the FastGCI interface with no change to the source.

See the tutorial on the Wt::Ruby wiki for an introduction to the Wt toolkit, and programming in ruby:

http://wiki.github.com/rdale/wtruby/tutorial

View on GitHub
GitHub Stars24
CategoryDevelopment
Updated1y ago
Forks1

Languages

Ruby

Security Score

60/100

Audited on Nov 28, 2024

No findings