Class: Aviator::Request

Inherits:
Object show all
Defined in:
lib/puppet/feature/aviator/core/request.rb

Defined Under Namespace

Classes: ApiVersionNotDefinedError, EndpointTypeNotDefinedError, PathNotDefinedError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session_data = nil) ⇒ Request

Returns a new instance of Request.



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/puppet/feature/aviator/core/request.rb', line 24

def initialize(session_data=nil)
  @session_data = session_data

  params = self.class.params_class.new if self.class.params_class

  if params
    yield(params) if block_given?
    validate_params(params)
  end

  @params = params
end

Class Method Details

.anonymous?Boolean

Returns:

  • (Boolean)


111
112
113
# File 'lib/puppet/feature/aviator/core/request.rb', line 111

def anonymous?
  respond_to?(:anonymous) && anonymous == true
end

.body?Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/puppet/feature/aviator/core/request.rb', line 116

def body?
  instance_methods.include? :body
end

.headers?Boolean

Returns:

  • (Boolean)


121
122
123
# File 'lib/puppet/feature/aviator/core/request.rb', line 121

def headers?
  instance_methods.include? :headers
end


126
127
128
# File 'lib/puppet/feature/aviator/core/request.rb', line 126

def links
  @links ||= []
end

.optional_paramsObject



147
148
149
# File 'lib/puppet/feature/aviator/core/request.rb', line 147

def optional_params
  @optional_params ||= []
end

.param_aliasesObject



131
132
133
# File 'lib/puppet/feature/aviator/core/request.rb', line 131

def param_aliases
  @param_aliases ||= {}
end

.params_classObject



136
137
138
139
140
141
142
143
144
# File 'lib/puppet/feature/aviator/core/request.rb', line 136

def params_class
  all_params = required_params + optional_params

  if all_params.length > 0 && @params_class.nil?
    @params_class = build_params_class(all_params, self.param_aliases)
  end

  @params_class
end

.querystring?Boolean

Returns:

  • (Boolean)


152
153
154
# File 'lib/puppet/feature/aviator/core/request.rb', line 152

def querystring?
  instance_methods.include? :querystring
end

.required_paramsObject



157
158
159
# File 'lib/puppet/feature/aviator/core/request.rb', line 157

def required_params
  @required_params ||= []
end

.url?Boolean

Returns:

  • (Boolean)


162
163
164
# File 'lib/puppet/feature/aviator/core/request.rb', line 162

def url?
  instance_methods.include? :url
end

Instance Method Details

#anonymous?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/puppet/feature/aviator/core/request.rb', line 38

def anonymous?
  self.class.anonymous?
end

#body?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/puppet/feature/aviator/core/request.rb', line 43

def body?
  self.class.body?
end

#headers?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/puppet/feature/aviator/core/request.rb', line 48

def headers?
  self.class.headers?
end


53
54
55
# File 'lib/puppet/feature/aviator/core/request.rb', line 53

def links
  self.class.links
end

#optional_paramsObject



58
59
60
# File 'lib/puppet/feature/aviator/core/request.rb', line 58

def optional_params
  self.class.optional_params
end

#paramsObject



63
64
65
# File 'lib/puppet/feature/aviator/core/request.rb', line 63

def params
  @params.dup
end

#querystring?Boolean

Returns:

  • (Boolean)


83
84
85
# File 'lib/puppet/feature/aviator/core/request.rb', line 83

def querystring?
  self.class.querystring?
end

#required_paramsObject



68
69
70
# File 'lib/puppet/feature/aviator/core/request.rb', line 68

def required_params
  self.class.required_params
end

#session_dataObject



73
74
75
# File 'lib/puppet/feature/aviator/core/request.rb', line 73

def session_data
  @session_data
end

#session_data?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/puppet/feature/aviator/core/request.rb', line 78

def session_data?
  !session_data.nil?
end

#url?Boolean

Returns:

  • (Boolean)


88
89
90
# File 'lib/puppet/feature/aviator/core/request.rb', line 88

def url?
  self.class.url?
end