Class: DocSmoosher::Request

Inherits:
ApiObject show all
Defined in:
lib/doc_smoosher/request.rb

Instance Attribute Summary collapse

Attributes inherited from ApiObject

#default, #description, #example, #name, #required, #type

Attributes included from Parameters

#parameters, #resource

Instance Method Summary collapse

Methods included from Parameters

#parameter

Constructor Details

#initialize(params = {}, &block) ⇒ Request

Returns a new instance of Request.



5
6
7
8
9
10
# File 'lib/doc_smoosher/request.rb', line 5

def initialize(params = {}, &block)
  # Defaults
  self.call_type = :get
  
  super(params)
end

Instance Attribute Details

#call_typeObject

Returns the value of attribute call_type.



3
4
5
# File 'lib/doc_smoosher/request.rb', line 3

def call_type
  @call_type
end

#fieldsObject

Returns the value of attribute fields.



3
4
5
# File 'lib/doc_smoosher/request.rb', line 3

def fields
  @fields
end

#pathObject

Returns the value of attribute path.



3
4
5
# File 'lib/doc_smoosher/request.rb', line 3

def path
  @path
end

#responseObject

Returns the value of attribute response.



3
4
5
# File 'lib/doc_smoosher/request.rb', line 3

def response
  @response
end

Instance Method Details

#as_json(options = {}) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/doc_smoosher/request.rb', line 27

def as_json(options={})
  super.merge(
    {
      :fields => fields.map(&:as_json),
      :parameters => parameters.map(&:as_json)
    }
  )
end

#field(params = {}, &block) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/doc_smoosher/request.rb', line 17

def field(params = {}, &block)
  if params.class == Field
    f = params
  else
    f = Field.new(params, &block)
  end
  fields << f unless fields.include?(f)
  p
end