Module: ConsoleUtils::RequestUtils

Extended by:
ActiveSupport::Autoload
Defined in:
lib/console_utils/request_utils.rb,
lib/console_utils/request_utils/exap.rb,
lib/console_utils/request_utils/remo.rb,
lib/console_utils/request_utils/requester.rb,
lib/console_utils/request_utils/json_output.rb

Overview

:nodoc:

Defined Under Namespace

Modules: JSONOutput Classes: Exap, Remo, Requester

Instance Method Summary collapse

Instance Method Details

#autoken(id) ⇒ Object

:call-seq:

autoken(id)
autoken(:any)

Returns user’s token by primary key. Use :any to get random user.



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

def autoken(id)
  user = id == :any ? user_scope.anyone : ConsoleUtils.find_user(id, scope: user_scope)
  puts "User #{user.public_send(ConsoleUtils.user_primary_key)}" if id == :any
  user.public_send(ConsoleUtils.user_token_column)
end

#exapObject

:call-seq:

exap(.get|.post|.put|...)(url, user_id = nil, **params)

Local API requester context. See also: ConsoleUtils::RequestUtils::Exap

Examples:

Appends auth token of default user to params, makes request and prints formatted response:

exap.get("api/posts.json").preview

Authorize user #42, also copy formatted response to the pasteboard:

exap.get("api/posts.json", 42).preview(&:pbcopy)

Authorize random user:

exap.get("api/comments.json", :any).preview

Use additional request params (skip the second parameter to use default user), don’t print response body:

exap.put("api/account.json", 42, user: { name: "Anton" })

Skip auto-fetching user’s token:

exap.post("api/signup.json", nil, user: { name: "Guest" }).preview


60
61
62
# File 'lib/console_utils/request_utils.rb', line 60

def exap
  Exap.new(self)
end

#remoObject

:call-seq:

remo(.get|.post|.put|...)(url, user_id = nil, **params)

Remote API requester context. See also: ConsoleUtils::RequestUtils::Remo

Examples:

See exap examples.



72
73
74
# File 'lib/console_utils/request_utils.rb', line 72

def remo
  Remo.new(self)
end