Sha256: a491c87e0b3b35c6ddaf5402f9dfbeaeb772432e80d9a6ccddf850adc946957d
Contents?: true
Size: 808 Bytes
Versions: 4
Compression:
Stored size: 808 Bytes
Contents
require 'rack/core-data' class Helios::Backend::Data < Sinatra::Base use Rack::PostBodyContentTypeParser def initialize(xcdatamodel) super(Rack::CoreData(xcdatamodel)) @model = Rack::CoreData::DataModel.new(xcdatamodel) end before do content_type :json end helpers Sinatra::Param options '/' do pass unless settings.frontend rescue false links = [] @model.entities.each do |entity| links << %{</#{entity.name.downcase.pluralize}>; rel="resource"} end response['Link'] = links.join("\n") @model.entities.collect{ |entity| { name: entity.name, url: "/#{entity.name.downcase.pluralize}", attributes: Hash[entity.attributes.collect{|attribute| [attribute.name, attribute.type]}] } }.to_json end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
helios-0.0.5 | ./lib/helios/backend/data.rb |
helios-0.0.4 | ./lib/helios/backend/data.rb |
helios-0.0.3 | ./lib/helios/backend/data.rb |
helios-0.0.2 | ./lib/helios/backend/data.rb |