Sha256: 3d49aa71d9f495ddc62796be9f047dae1c614a58fdcbf52b49e2319751cdffd9

Contents?: true

Size: 739 Bytes

Versions: 3

Compression:

Stored size: 739 Bytes

Contents

require 'rubygems'
require 'sinatra'
require 'classy_resources/sequel'
require '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
end

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

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

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
giraffesoft-classy_resources-0.1.1 test/fixtures/sequel_test_app.rb
giraffesoft-classy_resources-0.2.0 test/fixtures/sequel_test_app.rb
giraffesoft-classy_resources-0.2.1 test/fixtures/sequel_test_app.rb