class Fictium::Action

Attributes

deprecated[RW]
description[RW]
docs[RW]
examples[R]
method[RW]
params[R]
path[RW]
resource[R]
summary[RW]
tags[RW]

Public Class Methods

new(resource) click to toggle source
# File lib/fictium/poros/action.rb, line 6
def initialize(resource)
  @resource = resource
  @params = ActiveSupport::HashWithIndifferentAccess.new
  @examples = []
  @tags = []
  @deprecated = false
end

Public Instance Methods

[](section) click to toggle source
# File lib/fictium/poros/action.rb, line 18
def [](section)
  @params[section] ||= ActiveSupport::HashWithIndifferentAccess.new
end
add_example() click to toggle source
# File lib/fictium/poros/action.rb, line 27
def add_example
  Fictium::Example.new(self).tap { |example| examples << example }
end
add_params_in(section, &block) click to toggle source
# File lib/fictium/poros/action.rb, line 22
def add_params_in(section, &block)
  self[section].merge!(Fictium::ParameterEvaluator.new.evaluate_params(&block))
  nil
end
combined_tags() click to toggle source
# File lib/fictium/poros/action.rb, line 31
def combined_tags
  resource.tags + tags
end
default_example() click to toggle source
# File lib/fictium/poros/action.rb, line 39
def default_example
  examples.find(&:default?).presence || examples.first
end
deprecated?() click to toggle source
# File lib/fictium/poros/action.rb, line 35
def deprecated?
  deprecated
end
full_path() click to toggle source
# File lib/fictium/poros/action.rb, line 14
def full_path
  "#{resource.base_path}#{path}"
end