lsbservice to_xml now
[opensuse:yast-rest-service.git] / yast-api / app / controllers / services_controller.rb
1 class ServicesController < ApplicationController
2   require 'lsbservice'
3   private
4   def init_services
5     services = Hash.new
6     Lsbservice.all.each do |d|
7       service = Lsbservice.new d
8       services[service.name] = service
9     end
10     session['services'] = services
11   end
12   def respond data
13     STDERR.puts "Respond #{data.class}"
14     if data
15       respond_to do |format|
16         format.xml do
17           render :xml => data.to_xml
18         end
19         format.json do
20           render :json => data.to_json
21         end
22         format.html do
23           render
24         end
25       end
26     else
27       render :nothing => true, :status => 404 unless @service # not found
28     end
29   end
30   public
31   def index
32     init_services unless session['services']
33     @services ||= session['services']
34     respond @services
35   end
36   def show
37     id = params[:id]
38 #    STDERR.puts "services/show #{id}"
39     init_services unless session['services']
40     @service = session['services'][id]
41 #    STDERR.puts "@service #{@service}"
42     respond @service
43   end
44 end