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



32
33
34
35
36
# File 'lib/console_utils/request_utils/requester.rb', line 32

def pbcopy(content = nil)
  content ||= @formatted
  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
27
28
29
# File 'lib/console_utils/request_utils/requester.rb', line 17

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


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

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

#sizeObject



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

def size
  @_size.bytes
end

#timeObject



46
47
48
# File 'lib/console_utils/request_utils/requester.rb', line 46

def time
  @_time.in_milliseconds
end

#to_info_hashObject



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

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