Sha256: 244a554fa5846ccb8fd483cfc644befb5ff5f796decf9cb79623637c8f4ff92c

Contents?: true

Size: 740 Bytes

Versions: 3

Compression:

Stored size: 740 Bytes

Contents

require 'rubygems'
require 'sinatra'
require 'sequel'
require 'classy_resources/sequel'

Sequel::Model.db = Sequel.sqlite

Sequel::Model.db.instance_eval do
  create_table! :users do
    primary_key :id
    varchar :name
  end

  create_table! :subscriptions do
    primary_key :id
    int :user_id
    varchar :name
  end
end

class User < Sequel::Model(:users)
  one_to_many :subscriptions
  validates_presence_of :name
end

class Subscription < Sequel::Model(:subscriptions)
  many_to_one :users
  validates_presence_of :user_id
end

set :raise_errors, false

define_resource :users, :collection => [:get, :post],
                        :member     => [:put, :delete, :get]

define_resource :subscriptions, :collection => [:get, :post]

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
giraffesoft-classy_resources-0.3.0 test/fixtures/sequel_test_app.rb
giraffesoft-classy_resources-0.3.1 test/fixtures/sequel_test_app.rb
classy_resources-0.3.1 test/fixtures/sequel_test_app.rb