Class: RapiDoc::MethodDoc
- Inherits:
-
Object
- Object
- RapiDoc::MethodDoc
- Defined in:
- lib/rapi_doc/method_doc.rb
Overview
This class holds methods about a doc.
Instance Attribute Summary collapse
-
#content ⇒ Object
Returns the value of attribute content.
-
#method_order ⇒ Object
Returns the value of attribute method_order.
-
#outputs ⇒ Object
Returns the value of attribute outputs.
-
#params ⇒ Object
Returns the value of attribute params.
-
#request ⇒ Object
Returns the value of attribute request.
-
#response ⇒ Object
Returns the value of attribute response.
-
#scope ⇒ Object
Returns the value of attribute scope.
Instance Method Summary collapse
- #get_binding ⇒ Object
-
#initialize(resource_name, type, order) ⇒ MethodDoc
constructor
A new instance of MethodDoc.
- #process_line(line, current_scope) ⇒ Object
Constructor Details
#initialize(resource_name, type, order) ⇒ MethodDoc
Returns a new instance of MethodDoc.
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/rapi_doc/method_doc.rb', line 6 def initialize(resource_name, type, order) @resource_name = resource_name @scope = type @method_order = order @content = "" @request = "" @response = "" @outputs = {} @params = [] end |
Instance Attribute Details
#content ⇒ Object
Returns the value of attribute content.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def content @content end |
#method_order ⇒ Object
Returns the value of attribute method_order.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def method_order @method_order end |
#outputs ⇒ Object
Returns the value of attribute outputs.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def outputs @outputs end |
#params ⇒ Object
Returns the value of attribute params.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def params @params end |
#request ⇒ Object
Returns the value of attribute request.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def request @request end |
#response ⇒ Object
Returns the value of attribute response.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def response @response end |
#scope ⇒ Object
Returns the value of attribute scope.
4 5 6 |
# File 'lib/rapi_doc/method_doc.rb', line 4 def scope @scope end |
Instance Method Details
#get_binding ⇒ Object
66 67 68 |
# File 'lib/rapi_doc/method_doc.rb', line 66 def get_binding binding end |
#process_line(line, current_scope) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/rapi_doc/method_doc.rb', line 17 def process_line(line, current_scope) #puts "In scope #{current_scope} processing: #{line}" new_scope = current_scope case current_scope when :response if line =~ /::response-end::/ new_scope = :function else @response << line end when :request if line =~ /::request-end::/ new_scope = :function else @request << line end when :output # append output if line =~ /::output-end::/ new_scope = :function else last_output_key = @outputs.keys.last @outputs[last_output_key] << ERB::Util.html_escape(line) end when :class, :function result = line.scan(/(\w+)\:\:\s*(.+)/) if not result.empty? key, value = result[0] case key when "response", "request" new_scope = key.to_sym when "output" new_scope = key.to_sym @outputs[value] = '' # add the new output format as a key when "param" @params << value else # user wants this new shiny variable whose name is the key with value = value instance_variable_set("@#{key}".to_sym, value) define_singleton_method(key.to_sym) { value } # define accessor for the templates to read it end else # add line to block @content << line end else raise ParsingException, "logic error: unknown current scope #{current_scope}" end new_scope end |