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