module Apipie::DSL::Action
Public Instance Methods
Source
# File lib/apipie/dsl_definition.rb, line 96 def api(method, path, desc = nil, options = {}) #:doc: return unless Apipie.active_dsl? _apipie_dsl_data[:api] = true _apipie_dsl_data[:api_args] << [method, path, desc, options] end
# load paths from routes and don’t provide description api
Source
# File lib/apipie/dsl_definition.rb, line 105 def api!(desc = nil, options = {}) #:doc: return unless Apipie.active_dsl? _apipie_dsl_data[:api] = true _apipie_dsl_data[:api_from_routes] = { :desc => desc, :options =>options } end
# load paths from routes api! “short description”,
Source
# File lib/apipie/dsl_definition.rb, line 88 def def_param_group(name, &block) Apipie.add_param_group(self, name, &block) end
Source
# File lib/apipie/dsl_definition.rb, line 123 def example(example) #:doc: return unless Apipie.active_dsl? _apipie_dsl_data[:examples] << example.strip_heredoc end
Show some example of what does the described method return.
Source
# File lib/apipie/dsl_definition.rb, line 143 def resource_description(options = {}, &block) #:doc: return unless Apipie.active_dsl? raise ArgumentError, "Block expected" unless block dsl_data = ResourceDescriptionDsl.eval_dsl(self, &block) versions = dsl_data[:api_versions] Apipie.set_controller_versions(self, versions) @apipie_resource_descriptions = versions.map do |version| Apipie.define_resource_description(self, version, dsl_data) end end
Describe whole resource
Example: api :desc => “Show user profile”, :path => “/users/”, :version => ‘1.0 - 3.4.2012’ param :id, Integer, :desc => “User ID”, :required => true desc <<-EOS
Long description...
EOS
Source
# File lib/apipie/dsl_definition.rb, line 116 def see(*args) return unless Apipie.active_dsl? _apipie_dsl_data[:see] << args end
Reference other similar method
api :PUT, '/articles/:id' see "articles#create" def update; end
Source
# File lib/apipie/dsl_definition.rb, line 130 def show(show) return unless Apipie.active_dsl? _apipie_dsl_data[:show] = show end
Determine if the method should be included in the documentation