Module: Flexirest::Configuration::ClassMethods

Defined in:
lib/flexirest/configuration.rb

Constant Summary collapse

@@base_url =
nil
@@alias_type =
nil
@@username =
nil
@@password =
nil
@@request_body_type =
:form_encoded
@@disable_automatic_date_parsing =
nil

Instance Method Summary collapse

Instance Method Details

#_reset_configuration!Object



277
278
279
280
281
282
283
284
285
286
287
288
# File 'lib/flexirest/configuration.rb', line 277

def _reset_configuration!
  @base_url             = nil
  @@base_url            = nil
  @request_body_type    = nil
  @@request_body_type   = nil
  @whiny_missing        = nil
  @lazy_load            = false
  @faraday_config       = default_faraday_config
  @adapter              = Faraday.default_adapter
  @api_auth_access_id   = nil
  @api_auth_secret_key  = nil
end

#adapterObject



178
179
180
# File 'lib/flexirest/configuration.rb', line 178

def adapter
  @adapter ||= Faraday.default_adapter
end

#adapter=(adapter) ⇒ Object



173
174
175
176
# File 'lib/flexirest/configuration.rb', line 173

def adapter=(adapter)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Adapter set to be #{adapter}"
  @adapter = adapter
end

#alias_type(value = nil) ⇒ Object



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/flexirest/configuration.rb', line 112

def alias_type(value = nil)
  @alias_type ||= nil
  if value.nil?
    if @alias_type.nil?
      if value.nil? && superclass.respond_to?(:alias_type)
        superclass.alias_type
      else
        @@alias_type || nil
      end
    else
      @alias_type
    end
  else
    @alias_type = value
  end
end

#api_auth_access_idObject



219
220
221
222
223
224
225
226
227
228
# File 'lib/flexirest/configuration.rb', line 219

def api_auth_access_id
  @api_auth_access_id ||= nil
  if !@api_auth_access_id.nil?
    return @api_auth_access_id
  elsif self.superclass.respond_to?(:api_auth_access_id)
    return self.superclass.api_auth_access_id
  end

  return nil
end

#api_auth_credentials(access_id, secret_key, options = {}) ⇒ Object



203
204
205
206
207
208
209
210
211
212
213
# File 'lib/flexirest/configuration.rb', line 203

def api_auth_credentials(access_id, secret_key, options = {})
  begin
    require 'api-auth'
  rescue LoadError
    raise MissingOptionalLibraryError.new("You must include the gem 'api-auth' in your Gemfile to set api-auth credentials.")
  end

  @api_auth_access_id = access_id
  @api_auth_secret_key = secret_key
  @api_auth_options = options
end

#api_auth_optionsObject



240
241
242
243
244
245
246
247
248
# File 'lib/flexirest/configuration.rb', line 240

def api_auth_options
  if !@api_auth_options.nil?
    return @api_auth_options
  elsif self.superclass.respond_to?(:api_auth_options)
    return self.superclass.api_auth_options
  end

  return {}
end

#api_auth_secret_keyObject



230
231
232
233
234
235
236
237
238
# File 'lib/flexirest/configuration.rb', line 230

def api_auth_secret_key
  if !@api_auth_secret_key.nil?
    return @api_auth_secret_key
  elsif self.superclass.respond_to?(:api_auth_secret_key)
    return self.superclass.api_auth_secret_key
  end

  return nil
end

#base_url(value = nil) ⇒ 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
# File 'lib/flexirest/configuration.rb', line 17

def base_url(value = nil)
  @base_url ||= nil
  @@base_url ||= nil
  if value.nil?
    value = if @base_url.nil?
      @@base_url
    else
      @base_url
    end
    if value.nil? && superclass.respond_to?(:base_url)
      value = superclass.base_url
    end
    value
  else
    if value.is_a?(Array)
      value.each_with_index do |v, k|
        value[k] = v.gsub(/\/$/, '')
      end
    else
      value = value.gsub(/\/$/, '')
    end
    @base_url = value
  end
end

#base_url=(value) ⇒ Object



42
43
44
45
46
# File 'lib/flexirest/configuration.rb', line 42

def base_url=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Base URL set to be #{value}"
  value = value.gsub(/\/+$/, '')
  @@base_url = value
end

#disable_automatic_date_parsing(value = nil) ⇒ Object



151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/flexirest/configuration.rb', line 151

def disable_automatic_date_parsing(value = nil)
  @disable_automatic_date_parsing ||= nil
  if value.nil?
    if @disable_automatic_date_parsing.nil?
      if value.nil? && superclass.respond_to?(:disable_automatic_date_parsing)
        superclass.disable_automatic_date_parsing
      else
        @@disable_automatic_date_parsing || false
      end
    else
      @disable_automatic_date_parsing
    end
  else
    @disable_automatic_date_parsing = value
  end
end

#disable_automatic_date_parsing=(value) ⇒ Object



168
169
170
171
# File 'lib/flexirest/configuration.rb', line 168

def disable_automatic_date_parsing=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Request Body Type set to be #{value}"
  @@disable_automatic_date_parsing = value
end

#faraday_config(&block) ⇒ Object



182
183
184
185
186
187
188
# File 'lib/flexirest/configuration.rb', line 182

def faraday_config(&block)
  if block
    @faraday_config = block
  else
    @faraday_config ||= default_faraday_config
  end
end

#lazy_load!Object



190
191
192
# File 'lib/flexirest/configuration.rb', line 190

def lazy_load!
  @lazy_load = true
end

#lazy_load?Boolean

Returns:

  • (Boolean)


194
195
196
# File 'lib/flexirest/configuration.rb', line 194

def lazy_load?
  @lazy_load ||= false
end

#password(value = nil, &block) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/flexirest/configuration.rb', line 81

def password(value = nil, &block)
  if value.nil?
    if block_given?
      @password = block
    else
      value = if @password.nil?
        @@password
      else
        @password
      end
      if value.nil? && superclass.respond_to?(:password)
        value = superclass.password
      end
      value
    end
  else
    if value.respond_to?(:call)
      @password = value
    else
      value = CGI::escape(value) if value.present? && !value.include?("%")
      @password = value
    end
  end
end

#password=(value) ⇒ Object



106
107
108
109
110
# File 'lib/flexirest/configuration.rb', line 106

def password=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Password set..."
  value = CGI::escape(value) if value.present? && !value.include?("%")
  @@password = value
end

#proxy(value = nil) ⇒ Object



265
266
267
268
269
270
271
272
273
274
275
# File 'lib/flexirest/configuration.rb', line 265

def proxy(value = nil)
  @proxy ||= nil
  value ? @proxy = value : @proxy || nil

  if !@proxy.nil?
    return @proxy
  elsif self.superclass.respond_to?(:proxy)
    return self.superclass.proxy
  end
  nil
end

#request_body_type(value = nil) ⇒ Object



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/flexirest/configuration.rb', line 129

def request_body_type(value = nil)
  @request_body_type ||= nil
  if value.nil?
    if @request_body_type.nil?
      if value.nil? && superclass.respond_to?(:request_body_type)
        superclass.request_body_type
      else
        @@request_body_type || :form_encoded
      end
    else
      @request_body_type
    end
  else
    @request_body_type = value
  end
end

#request_body_type=(value) ⇒ Object



146
147
148
149
# File 'lib/flexirest/configuration.rb', line 146

def request_body_type=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Request Body Type set to be #{value}"
  @@request_body_type = value
end

#translator(value = nil) ⇒ Object



259
260
261
262
263
# File 'lib/flexirest/configuration.rb', line 259

def translator(value = nil)
  Flexirest::Logger.warn("DEPRECATION: The translator functionality of Flexirest has been replaced with proxy functionality, see https://github.com/andyjeffries/flexirest#proxying-apis for more information") unless value.nil?
  @translator ||= nil
  value ? @translator = value : @translator
end

#username(value = nil, &block) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/flexirest/configuration.rb', line 48

def username(value = nil, &block)
  @username ||= nil
  @@username ||= nil
  if value.nil?
    if block_given?
      @username = block
    else
      value = if @username.nil?
        @@username
      else
        @username
      end
      if value.nil? && superclass.respond_to?(:username)
        value = superclass.username
      end
      value
    end
  else
    if value.respond_to?(:call)
      @username = value
    else
      value = CGI::escape(value) if value.present? && !value.include?("%")
      @username = value
    end
  end
end

#username=(value) ⇒ Object



75
76
77
78
79
# File 'lib/flexirest/configuration.rb', line 75

def username=(value)
  Flexirest::Logger.info "\033[1;4;32m#{name}\033[0m Username set to be #{value}"
  value = CGI::escape(value) if value.present? && !value.include?("%")
  @@username = value
end

#using_api_auth?Boolean

Returns:

  • (Boolean)


215
216
217
# File 'lib/flexirest/configuration.rb', line 215

def using_api_auth?
  !self.api_auth_access_id.nil? && !self.api_auth_secret_key.nil?
end

#verbose(value = nil) ⇒ Object



254
255
256
257
# File 'lib/flexirest/configuration.rb', line 254

def verbose(value = nil)
  @verbose ||= false
  value ? @verbose = value : @verbose
end

#verbose!Object



250
251
252
# File 'lib/flexirest/configuration.rb', line 250

def verbose!
  @verbose = true
end

#whiny_missing(value = nil) ⇒ Object



198
199
200
201
# File 'lib/flexirest/configuration.rb', line 198

def whiny_missing(value = nil)
  @whiny_missing ||= false
  value ? @whiny_missing = value : @whiny_missing
end