• Stars
    star
    393
  • Rank 107,057 (Top 3 %)
  • Language
    Ruby
  • License
    Other
  • Created over 14 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CRUD through HTTP is a good step forward to using resources and becoming RESTful. Another step further into it is to make use of hypermedia-based services and the Restfulie gem allows you to do it very quickly.

Status

Restfulie Ruby is not being actively maintained. Restfulie C# and Java (through VRaptor) support can be found on the mailing list.

Web site

Restfulie’s site has a lot of information on Restfulie itself

Quit pretending

CRUD through HTTP and web services (aka Rest) in Rails is a good step forward to using resources and becoming RESTful, another step further into it is to make use of hypermedia and semantic meaningful media types: this gem allows you to do it really fast. Go go go!

Bite me!

One liners for your pleasure. First, how to let restfulie know which media types you can handle:

class ItemsController < ...
  respond_to :atom, :html, :xml, :commerce, :opensearch
end

Now let’s handle them all:

def index
  respond_with @orders = Order.all
end

And what is the first difference between simple web services with Rails and a REST architecture? Let’s add hypermedia to the game:

memeber(@order) do |order|
  order.link "payment", payment_url(order)
end

There you go, hypermedia, on the fly. You can also throw in link headers and much more fun for your life when maintaining your services. Lets grab it and navigate!

response = Restfulie.at('http://localhost:3030/orders').get
puts response.code

orders = response.resource
response = orders.link(payment).follow.post {creditcard => 4444}

That was it for your first hypermedia introduction with Restfulie. Now its time for the real deal.

Download it, install it, use it, ask questions in the mailing list and read the documentation on Restfulie’s website!

Installing

Execute:

gem install restfulie

For use in Rails 2.3, make sure to require the responders_backport gem in addition to the restfulie gem, either in environment.rb or in the Gemfile.

Building the project

If you want to build the project and run its tests, remember to install all (client and server) required gem.
Bundler is required to easily manage dependencies

bundle install
rake test:spec test:integration

Contributions

Restfulie was created and is maintained by Caelum, and has received enormous contributions from all those developers:

Project Leader
Guilherme Silveira, Caelum

Caue Guerra, caelum
George Guimaraes, abril and plataforma
Fabio Akita
Diego Carrion
Leandro Silva
Gavin-John Noonan
Antonio Marques
Luis Cipriani, abril
Everton Ribeiro, abril
Paulo Ahagon, abril
Elomar França
Thomas Stefano
David Paniz
Caike Souza

Rails 2

If you want to use Restfulie with Rails2, please use any release up to 0.9.2 and its minor releases.

More Repositories

1

caelum-stella

O Caelum Stella visa suprir as necessidades do dia a dia do desenvolvedor brasileiro
Java
644
star
2

apostila-microservices-com-spring-cloud

Apostila do curso de Microservices com Spring Cloud da Caelum.
500
star
3

vraptor

Simple Java Web MVC Framework
Java
385
star
4

vraptor4

A web MVC action-based framework, on top of CDI, for fast and maintainable Java development.
Java
349
star
5

mamute

Q&A Engine
Java
341
star
6

apostila-oo-avancado-em-java

Apostila do curso Práticas de Design e Arquitetura de Código da Caelum. https://www.caelum.com.br/curso-design-arquitetura-de-aplicacoes-java
200
star
7

agiletickets

Ticket system
Java
119
star
8

apostila-devops

Apostila do curso de DevOps
TSQL
106
star
9

tubaina

Tubaina is a book generator. Given a text written in afc syntax, a markup language, an html or pdf output is generated
HTML
99
star
10

restfulie-java

restfulie implementation in java, with support to vraptor
Java
94
star
11

vraptor-scaffold

VRaptor Scaffold extension to make it easier configuring new projects and plugins
Ruby
55
star
12

alura-funcionalidades

Sugestões e pedidos de novas funcionalidades para a Alura
51
star
13

vraptor-contrib

VRaptor contributions.
42
star
14

arquiteturajava.com.br

Site do Livro de arquitetura usando responsive design e media queries
JavaScript
38
star
15

guj.com.br

source code for Grupo de Usuarios Java
Java
34
star
16

agile-tickets-csharp

csharp version
JavaScript
34
star
17

calopsita

Agile teams project management tool
Java
32
star
18

apostila-csharp-orientacao-objetos

30
star
19

onibus-android

Versão para android, encontre-se melhor no transporte coletivo!
Java
30
star
20

apostila-java-orientacao-objetos

27
star
21

agile-workshop-tdd

agile-workshop-tdd
Java
26
star
22

programadorpoliglota

Ruby
25
star
23

caelum-stella-csharp

Versão C# beta da Caelum Stella
C#
24
star
24

apostila-html-css-javascript

24
star
25

restfulie-py

Python port of Restfulie
Python
23
star
26

apostila-python-orientacao-a-objetos

23
star
27

restfulie-net

C# implementation of restfulie
C#
20
star
28

agile-workshop-tdd-csharp

workshop de tdd em c#
C#
17
star
29

vraptor-panettone

A fast, secure, robust, concise and sex-appealing typesafe template engine written in Java
Java
17
star
30

apostila-java-web

16
star
31

hypertemplate

A hypermedia resource template engine
Ruby
16
star
32

git-reports

this project aims to extract statistics from GitHub commits
Ruby
16
star
33

rest-client

Um client rest para web.
Java
15
star
34

restfulie-javascript

Restfulie's javascript port
JavaScript
15
star
35

vraptor-simplemail

Simple mailer for vraptor
Java
15
star
36

tatame

support for dojo sessions
Ruby
13
star
37

onibus-ios

Uma app para facilitar sua vida no transporte coletivo. Por enquanto apenas para busões em SP. Contribuições são bem vindas!
Objective-C
13
star
38

imersaocss

Código das aulas da Imersão CSS 05/2020
13
star
39

vraptor-test

A test plugin for vraptor
Java
12
star
40

apostila-sql-e-modelagem-com-banco-de-dados

12
star
41

vraptor-console

Java
12
star
42

apostila-ux-usabilidade-mobile-web

12
star
43

cotuba

Gerador de ebooks implementado em Java. É usado no curso FJ-38.
Java
11
star
44

tubaina2

Shell
10
star
45

fj22-ingressos

Java
10
star
46

relata

Helps poking around with relationships when using ARel
Ruby
9
star
47

FJ-59-android-anvacado

Java
9
star
48

projeto-wd47

HTML
9
star
49

conexaojava

Java
9
star
50

restfulie-python

Python port of Restfulie
Python
8
star
51

selenium-dsl

A DSL for working with Selenium and Java
Java
8
star
52

restfulie-restbuy

An advanced and integrated store implementation using hypermedia and Restfuli
Ruby
7
star
53

javafx-lib-contas

Java
7
star
54

onibus-web

BusaoSP web edition
JavaScript
7
star
55

vraptor-i18n

I18n support for vraptor
Java
7
star
56

vraptor-jpa

Java
7
star
57

calopsita-monografia

6
star
58

vraptor-environment

A environment reader for vraptor
Java
6
star
59

projeto-js45

Arquivos base para o curso JS-45 40hs
CSS
6
star
60

envie

Feature toggle api
Ruby
6
star
61

vraptor-brutauth

Java
6
star
62

restfulie-objectivec

Objective C implementation of Restfulie
Objective-C
6
star
63

vraptor-dash

vraptor dashboard by gui
Java
6
star
64

vraptor-mauth

An auth plugin for vraptor
Java
6
star
65

restfulie-test

Ruby
6
star
66

medie

Media type registry to use on client and servers. A media type registry that allows you to register handlers for marshalling and unmarshalling.
Ruby
6
star
67

caelumpic-server

API Rest do Caelumpic
JavaScript
6
star
68

vraptor-simple-validator

A simple way to use VRaptor validators
Java
5
star
69

vraptor-error-control

Error plugin control by email
Java
5
star
70

agile-workshop-tdd-en

JavaScript
5
star
71

vraptor-hibernate

A hibernate plugin for vraptor
Java
5
star
72

vraptor-java8

Java
4
star
73

fj11-contas

Java
4
star
74

restfulie-guide

book on practical rest
Ruby
4
star
75

pm87-agiletickets

Sistema de venda de ingressos usado como exemplo no curso PM-87 da Caelum
Java
4
star
76

jquery-table-me

Easily "tablerize" a table
JavaScript
4
star
77

restfulie-nodejs

JavaScript
4
star
78

pm-75-leiloes

Projeto de leilões para o curso PM75
Java
4
star
79

arquivos-js46

Repositório com os arquivos do curso
JavaScript
4
star
80

restfulie-php

php version of restfulie client
PHP
4
star
81

cotuba-modular

Java
3
star
82

vraptor-scala-mydvds

A project using scala and vraptor for a better web development
Java
3
star
83

quarentenadev

JavaScript
3
star
84

panettone-eclipse

A panettone plugin for eclipse
Java
3
star
85

vcontainer

A pico container based implementation of Dependecy Injection to Rails.
Ruby
3
star
86

busaosp-android

Java
3
star
87

NET-Selenium-DSL

NET Selenium DSL
C#
3
star
88

vraptor-paperclip

Java
3
star
89

vraptor-future

Future support for vraptor in several ways
Java
3
star
90

vraptor-paginator

Paginator
Java
3
star
91

timemachine

joda time time machine helper
Java
3
star
92

restbucks-java

restbucks implementation in java, using vraptor and restfulie-vraptor
Java
3
star
93

vraptor-quartzjob

A simple quartz job
Java
3
star
94

rails-and-solid

a little more s.o.l.i.d., a little less responsibilities into one place.
Ruby
3
star
95

jaxrs2-caelum

caelum changes
Java
2
star
96

integra

Java
2
star
97

dynamicRepositoryBuilder

Java
2
star
98

vraptor-routes

Java
2
star
99

cmail-back

JavaScript
2
star
100

otimizador-web

Java
2
star