Class: ConsoleUtils::RequestUtils::RequestParams

Inherits:
Object
  • Object
show all
Defined in:
lib/console_utils/request_utils/request_params.rb

Instance Method Summary collapse

Constructor Details

#initialize(uid_or_params = true, params = nil, headers_or_env = nil) ⇒ RequestParams

Returns a new instance of RequestParams.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/console_utils/request_utils/request_params.rb', line 3

def initialize(uid_or_params = true, params = nil, headers_or_env = nil)
  if ConsoleUtils.auto_token
    @uid = case uid_or_params
           when Numeric, true, false, nil then uid_or_params
           when headers_or_env.nil?       then need_shift!
           end
  else
    need_shift!
  end

  params, headers_or_env = [uid_or_params, params] if need_shift?

  @params = params.is_a?(Hash) ? params : {}
  @headers = headers_or_env.to_h

  if need_default_token?
    use_token ConsoleUtils.default_token
  else
    @uid = ConsoleUtils.default_uid if need_default_uid?
    use_token ConsoleUtils.auto_token_for(@uid) if @uid.present?
  end
end

Instance Method Details

#need_default_token?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/console_utils/request_utils/request_params.rb', line 43

def need_default_token?
  @uid == true && ConsoleUtils.default_token.present?
end

#need_default_uid?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/console_utils/request_utils/request_params.rb', line 39

def need_default_uid?
  @uid == true && ConsoleUtils.default_token.nil?
end

#need_shift!Object



47
48
49
# File 'lib/console_utils/request_utils/request_params.rb', line 47

def need_shift!
  @need_shift = true
end

#need_shift?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/console_utils/request_utils/request_params.rb', line 51

def need_shift?
  !!@need_shift
end

#to_aObject



26
27
28
# File 'lib/console_utils/request_utils/request_params.rb', line 26

def to_a
  [@params.presence, @headers.presence].tap(&:compact!)
end

#use_token(value) ⇒ Object



30
31
32
# File 'lib/console_utils/request_utils/request_params.rb', line 30

def use_token value
  @params[ConsoleUtils.token_param] ||= value
end

#with_default(default_params = nil) ⇒ Object



34
35
36
37
# File 'lib/console_utils/request_utils/request_params.rb', line 34

def with_default(default_params = nil)
  @params.merge!(default_params.to_h)
  to_a
end