Mercurial > hg > soundsoftware-site
annotate lib/redmine/views/builders.rb @ 1545:f81fcbde7eaf feature_1136
Merge
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Tue, 12 Jan 2016 15:14:36 +0000 |
parents | e248c7af89ec |
children |
rev | line source |
---|---|
Chris@119 | 1 # Redmine - project management software |
Chris@1494 | 2 # Copyright (C) 2006-2014 Jean-Philippe Lang |
Chris@119 | 3 # |
Chris@119 | 4 # This program is free software; you can redistribute it and/or |
Chris@119 | 5 # modify it under the terms of the GNU General Public License |
Chris@119 | 6 # as published by the Free Software Foundation; either version 2 |
Chris@119 | 7 # of the License, or (at your option) any later version. |
Chris@909 | 8 # |
Chris@119 | 9 # This program is distributed in the hope that it will be useful, |
Chris@119 | 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
Chris@119 | 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
Chris@119 | 12 # GNU General Public License for more details. |
Chris@909 | 13 # |
Chris@119 | 14 # You should have received a copy of the GNU General Public License |
Chris@119 | 15 # along with this program; if not, write to the Free Software |
Chris@119 | 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
Chris@119 | 17 |
Chris@1464 | 18 require 'redmine/views/builders/json' |
Chris@1464 | 19 require 'redmine/views/builders/xml' |
Chris@1464 | 20 |
Chris@119 | 21 module Redmine |
Chris@119 | 22 module Views |
Chris@119 | 23 module Builders |
Chris@1115 | 24 def self.for(format, request, response, &block) |
Chris@119 | 25 builder = case format |
Chris@1115 | 26 when 'xml', :xml; Builders::Xml.new(request, response) |
Chris@1115 | 27 when 'json', :json; Builders::Json.new(request, response) |
Chris@119 | 28 else; raise "No builder for format #{format}" |
Chris@119 | 29 end |
Chris@119 | 30 if block |
Chris@119 | 31 block.call(builder) |
Chris@119 | 32 else |
Chris@119 | 33 builder |
Chris@119 | 34 end |
Chris@119 | 35 end |
Chris@119 | 36 end |
Chris@119 | 37 end |
Chris@119 | 38 end |