Class: Heatwave::Crawler::Result

Inherits:
Data
  • Object
show all
Defined in:
app/services/heatwave/crawler/result.rb

Overview

Public result of fetch. Immutable value object.

+details+ is a free-form hash for tier/mode-specific data so the struct
stays small: sizes (+raw_bytes+/+content_chars+), +redirect_chain+,
+location+ (probe mode, no-follow), +console_errors+, +failed_requests+,
+screenshot_path+, +seo+, +content_type+, +error_class+, +exception+.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success: nil, url: nil, final_url: nil, status: nil, tier: nil, content: nil, error: nil, details: {}) ⇒ Result

Returns a new instance of Result.



13
14
15
16
# File 'app/services/heatwave/crawler/result.rb', line 13

def initialize(success: nil, url: nil, final_url: nil, status: nil,
               tier: nil, content: nil, error: nil, details: {})
  super
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content

Returns:

  • (Object)

    the current value of content



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def content
  @content
end

#detailsObject (readonly)

Returns the value of attribute details

Returns:

  • (Object)

    the current value of details



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def details
  @details
end

#errorObject (readonly)

Returns the value of attribute error

Returns:

  • (Object)

    the current value of error



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def error
  @error
end

#final_urlObject (readonly)

Returns the value of attribute final_url

Returns:

  • (Object)

    the current value of final_url



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def final_url
  @final_url
end

#statusObject (readonly)

Returns the value of attribute status

Returns:

  • (Object)

    the current value of status



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def status
  @status
end

#successObject (readonly)

Returns the value of attribute success

Returns:

  • (Object)

    the current value of success



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def success
  @success
end

#tierObject (readonly)

Returns the value of attribute tier

Returns:

  • (Object)

    the current value of tier



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def tier
  @tier
end

#urlObject (readonly)

Returns the value of attribute url

Returns:

  • (Object)

    the current value of url



10
11
12
# File 'app/services/heatwave/crawler/result.rb', line 10

def url
  @url
end

Instance Method Details

#success?Boolean

Returns:

  • (Boolean)


18
# File 'app/services/heatwave/crawler/result.rb', line 18

def success? = success == true