class HaveAPI::Metadata::ActionMetadata
Attributes
action[W]
Public Instance Methods
clone()
click to toggle source
# File lib/haveapi/metadata.rb, line 16 def clone m = self.class.new m.action = @action m.instance_variable_set(:@input, @input && @input.clone) m.instance_variable_set(:@output, @output && @output.clone) m end
describe(context)
click to toggle source
# File lib/haveapi/metadata.rb, line 48 def describe(context) { input: @input && @input.describe(context), output: @output && @output.describe(context) } end
input(layout = :hash, &block)
click to toggle source
# File lib/haveapi/metadata.rb, line 24 def input(layout = :hash, &block) if block @input ||= Params.new(:input, @action) @input.action = @action @input.layout = layout @input.namespace = false @input.add_block(block) else @input end end
output(layout = :hash, &block)
click to toggle source
# File lib/haveapi/metadata.rb, line 36 def output(layout = :hash, &block) if block @output ||= Params.new(:output, @action) @output.action = @action @output.layout = layout @output.namespace = false @output.add_block(block) else @output end end