Git Product home page Git Product logo

rack-scaffold's Introduction

Rack::Scaffold

Automatically generate RESTful CRUD services

This project is no longer maintained.

Installation

Gemfile

source :rubygems

gem 'rack-scaffold', require: 'rack/scaffold'

gem 'sequel'
gem 'core_data'

gem 'unicorn'
gem 'pg'

Usage

An example web API using a Core Data model can be found the /example directory.

config.ru

require 'sequel'
require 'core_data'
require 'rack/scaffold'

DB = Sequel.connect(ENV['DATABASE_URL'])

run Rack::Scaffold model: './Example.xcdatamodeld', only: [:create, :read]

Available Actions

By default, Rack::Scaffold will enable all of the actions described below. Actions can be whitelisted or blacklisted by passing either the only or except options, respectively.

  • create (POST /resources): Creates a new resource with the fields in a www-form-urlencoded or application/json encoded HTTP request body.
  • read (GET /resources & GET /resources/123): Reads a collection of resources or an individual resource at the specified URI. Supports pagination by passing either page & per_page or limit & offset parameters.
  • update (PUT OR PATCH /resources/123): Updates the specified resource with the fields in a www-form-urlencoded or application/json encoded HTTP request body.
  • delete (DELETE /resources/123): Deletes the specified resource.
  • susbscribe (SUBSCRIBE or GET /resources with Accept: text/event-stream): Subscribes to create, update, and delete actions performed, streaming corresponding JSON Patch diffs. You can read more about the Rocket technique for streaming REST resources at http://rocket.github.io.

Supported Data Models

Contact

Mattt

License

Rack::Scaffold is available under the MIT license. See the LICENSE file for more info.

rack-scaffold's People

Contributors

bartvandendriessche avatar dawogfather avatar dulacp avatar endoze avatar mattt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.