Class: ApiBuilder::BaseRenderer
- Inherits:
-
Object
- Object
- ApiBuilder::BaseRenderer
- Defined in:
- lib/api_builder/renderer.rb
Instance Attribute Summary collapse
-
#out ⇒ Object
readonly
Returns the value of attribute out.
Class Method Summary collapse
Instance Method Summary collapse
- #array(&block) ⇒ Object
- #element(*args, &block) ⇒ Object
-
#initialize(*args, &block) ⇒ BaseRenderer
constructor
A new instance of BaseRenderer.
Constructor Details
#initialize(*args, &block) ⇒ BaseRenderer
Returns a new instance of BaseRenderer.
78 79 80 |
# File 'lib/api_builder/renderer.rb', line 78 def initialize(*args, &block) instance_eval(&block) end |
Instance Attribute Details
#out ⇒ Object (readonly)
Returns the value of attribute out.
76 77 78 |
# File 'lib/api_builder/renderer.rb', line 76 def out @out end |
Class Method Details
.render(format = "json", &block) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/api_builder/renderer.rb', line 63 def self.render(format = "json", &block) renderer = self.new(&block) case format when "json" renderer.out.to_json when "xml" renderer.out.to_xml else raise "unknown format #{format}" end end |
Instance Method Details
#array(&block) ⇒ Object
87 88 89 90 |
# File 'lib/api_builder/renderer.rb', line 87 def array(&block) raise "root element already defined" unless @out.nil? @out = ArrayRenderer.render(&block) end |
#element(*args, &block) ⇒ Object
82 83 84 85 |
# File 'lib/api_builder/renderer.rb', line 82 def element(*args, &block) raise "root element already defined" unless @out.nil? @out = ElementRenderer.render(*args, &block) end |