class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :uncamelcase_params_hash_keys
- before_filter :find_object_by_uuid
+ before_filter :find_object_by_uuid, :except => :index
+
+ def index
+ @objects ||= model_class.all
+ render_list
+ end
+
+ def show
+ render json: @object
+ end
protected
end
h
end
+
+ def render_list
+ @object_list = {
+ :kind => "orvos##{model_class.to_s.camelize(:down)}List",
+ :etag => "",
+ :self_link => "",
+ :next_page_token => "",
+ :next_link => "",
+ :items => @objects.map { |x| x }
+ }
+ render json: @object_list
+ end
end
class Orvos::V1::MetadataController < ApplicationController
def index
- @metadata = Collection.all
- @metadatumlist = {
- :kind => "orvos#metadatumList",
- :etag => "",
- :self_link => "",
- :next_page_token => "",
- :next_link => "",
- :items => @metadata.map { |x| x }
- }
- respond_to do |format|
- format.json { render json: @metadatumlist }
- end
- end
-
- def show
- @m = Metadatum.find(params[:id])
-
- respond_to do |format|
- format.json { render json: @m }
+ if params[:target_kind] and params[:target_uuid]
+ @objects = Metadatum.where('target_kind=? and target_uuid=?',
+ params[:target_kind], params[:target_uuid])
end
+ super
end
def create
end
end
end
+
end
resources :metadata
resources :nodes
match '/nodes/:uuid/ping' => 'nodes#ping', :as => :ping_node
+ match '/metadata/:target_kind/:target_uuid' => 'metadata#index'
end
end