class MatterCompiler::Resource
represents 'resource section'
@attr uri_template
[String] RFC 6570 URI template @attr model [Model] model payload for the resource or nil @attr parameters [Parameters] action-specific URI parameters or nil @attr actions [Array<Action>] array of resource actions or nil
Attributes
actions[RW]
model[RW]
parameters[RW]
uri_template[RW]
Public Instance Methods
load_ast!(ast)
click to toggle source
Calls superclass method
MatterCompiler::NamedBlueprintNode#load_ast!
# File lib/matter_compiler/blueprint.rb, line 474 def load_ast!(ast) super(ast) if ast[:uriTemplate].blank? || ast[:uriTemplate][0] != '/' failure_message = "Invalid input: A resource is missing URI template" failure_message << " ('#{ast[:name]}' resource)" unless ast[:name].blank? abort(failure_message); end @uri_template = ast[:uriTemplate] @model = Model.new(ast[:model]) unless ast[:model].blank? @parameters = Parameters.new(ast[:parameters]) unless ast[:parameters].blank? unless ast[:actions].blank? @actions = Array.new ast[:actions].each { |action_ast| @actions << Action.new(action_ast) } end end
serialize()
click to toggle source
# File lib/matter_compiler/blueprint.rb, line 493 def serialize buffer = "" if @name.blank? buffer << "## #{@uri_template}\n" else buffer << "## #{@name} [#{@uri_template}]\n" end buffer << "#{@description}" unless @description.blank? ensure_description_newlines(buffer) buffer << @model.serialize unless @model.nil? buffer << @parameters.serialize unless @parameters.nil? @actions.each { |action| buffer << action.serialize } unless @actions.nil? buffer end