Class: ConsoleUtils::RequestUtils::Requester

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

Direct Known Subclasses

Exap, Remo

Constant Summary collapse

INFO_HASH_FIELDS =
i(url size time human_size human_time).freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#urlObject (readonly)

Returns the value of attribute url.



15
16
17
# File 'lib/console_utils/request_utils/requester.rb', line 15

def url
  @url
end

Instance Method Details

#pbcopy(content = nil) ⇒ Object

Copies to pasteboard



29
30
31
32
33
# File 'lib/console_utils/request_utils/requester.rb', line 29

def pbcopy(content = nil)
  content ||= JSONOutput::Default.instance.format(to_s)
  IO.popen('pbcopy', 'w') { |io| io << content.to_s }
  puts PBCOPY_MESSAGE
end

#preview(mth = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/console_utils/request_utils/requester.rb', line 17

def preview(mth = nil)
  if output = to_s.presence
    JSONOutput.formatter.(output)
    show_complete_in!
    show_transfered!
    yield(self) if block_given?
  else
    puts NO_RESPONSE
  end
end


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

def print_info
  tap { printf(INFO_FORMAT, to_info_hash) }
end

#sizeObject



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

def size
  @_size.bytes
end

#timeObject



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

def time
  @_time.in_milliseconds
end

#to_info_hashObject



57
58
59
# File 'lib/console_utils/request_utils/requester.rb', line 57

def to_info_hash
  INFO_HASH_FIELDS.zip(INFO_HASH_FIELDS.map(&method(:public_send))).to_h
end