Skip to content

Commit 0909508

Browse files
committed
Stub out initial files
1 parent a953070 commit 0909508

File tree

8 files changed

+123
-0
lines changed

8 files changed

+123
-0
lines changed

.ruby-version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.3.0

.travis.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
language: ruby
2+
bundler_args: --without debug
3+
script: "bundle exec rspec spec"
4+
sudo: false
5+
cache: bundler
6+
rvm:
7+
- 2.0
8+
- 2.1
9+
- 2.2.4
10+
- 2.3.0
11+
- jruby-9.0.4.0
12+
- rbx-2
13+
matrix:
14+
allow_failures:
15+
- rvm: jruby-9.0.4.0
16+
- rvm: rbx-2
17+
services:
18+
- mongodb

AUTHORS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* MJ Suhonos <[email protected]>

Gemfile

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
3+
gemspec

VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.5.0

app/ladder.rb

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
require 'rack/ldp'
2+
require 'sinatra/base'
3+
4+
class RDF::Ladder < Sinatra::Base
5+
6+
use Rack::LDP::ContentNegotiation
7+
use Rack::LDP::Errors
8+
use Rack::LDP::Responses
9+
use Rack::ConditionalGet
10+
use Rack::LDP::Requests
11+
12+
# Set defaults in case user has not configured values
13+
configure do
14+
# TODO: we're not actually going to use a repository
15+
# will have to modify RDFSource (or Resource)
16+
set :repository, RDF::Repository.new
17+
end
18+
19+
get '/*' do
20+
RDF::LDP::Container.new(RDF::URI(request.url), settings.repository)
21+
.create('', 'text/turtle') if settings.repository.empty?
22+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
23+
end
24+
25+
patch '/*' do
26+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
27+
end
28+
29+
post '/*' do
30+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
31+
end
32+
33+
put '/*' do
34+
begin
35+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
36+
rescue RDF::LDP::NotFound
37+
model = request.env.fetch('HTTP_LINK', '')
38+
RDF::LDP::Resource.interaction_model(model)
39+
.new(RDF::URI(request.url), settings.repository)
40+
end
41+
end
42+
43+
options '/*' do
44+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
45+
end
46+
47+
head '/*' do
48+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
49+
end
50+
51+
delete '/*' do
52+
RDF::LDP::Resource.find(RDF::URI(request.url), settings.repository)
53+
end
54+
55+
run! if app_file == $0
56+
end

bin/ladder

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env ruby
2+
$:.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..', 'app')))
3+
require 'ladder'
4+
5+
RDF::Ladder.run!

ladder-ldp.gemspec

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env ruby -rubygems
2+
# -*- encoding: utf-8 -*-
3+
4+
Gem::Specification.new do |gem|
5+
gem.version = File.read('VERSION').chomp
6+
gem.date = File.mtime('VERSION').strftime('%Y-%m-%d')
7+
8+
gem.name = 'ladder-ldp'
9+
gem.homepage = 'https://github.com/ladder/ladder'
10+
gem.license = 'Apache-2.0'
11+
gem.summary = 'An opinionated LDP server based on RDF::LDP.'
12+
gem.description = 'TODO'
13+
14+
gem.authors = ['MJ Suhonos']
15+
gem.email = '[email protected]'
16+
17+
gem.platform = Gem::Platform::RUBY
18+
gem.files = %w(AUTHORS README.md VERSION) +
19+
Dir.glob('lib/**/*.rb') + Dir.glob('app/**/*.rb')
20+
gem.bindir = %q(bin)
21+
gem.executables = %w(ladder)
22+
gem.default_executable = gem.executables.first
23+
gem.require_paths = %w(lib app)
24+
gem.has_rdoc = false
25+
26+
gem.required_ruby_version = '>= 2.0.0'
27+
gem.requirements = []
28+
29+
gem.add_runtime_dependency 'rdf-ldp'
30+
gem.add_runtime_dependency 'mongoid-grid_fs'
31+
gem.add_runtime_dependency 'active_triples-mongoid_strategy'
32+
33+
gem.add_development_dependency 'pry'
34+
gem.add_development_dependency 'rspec'
35+
gem.add_development_dependency 'yard'
36+
37+
gem.post_install_message = nil
38+
end

0 commit comments

Comments
 (0)