class NeverBounce::API::Request::JobsCreate
Attributes
allow_manual_review[RW]
@return [Boolean]
auto_parse[RW]
@return [Boolean]
auto_start[RW]
@return [Boolean]
callback_headers[RW]
@return [Hash]
callback_url[RW]
@return [String]
filename[RW]
@return [String]
historical[RW]
@return [Boolean]
input[RW]
Input specification. @return [String] URL if input_location
is "remote". @return [Array<Array<email, name>>] Structure if <tt>input_location
is “supplied”.
input_location[RW]
@return [String]
run_sample[RW]
@return [Boolean]
Public Class Methods
http_method()
click to toggle source
@return [Symbol]
# File lib/never_bounce/api/request/jobs_create.rb, line 43 def self.http_method :post end
path()
click to toggle source
@return [String]
# File lib/never_bounce/api/request/jobs_create.rb, line 48 def self.path "jobs/create" end
response_klass()
click to toggle source
@return [Response::JobsCreate]
# File lib/never_bounce/api/request/jobs_create.rb, line 53 def self.response_klass Response::JobsCreate end
Public Instance Methods
leverage_historical()
click to toggle source
# File lib/never_bounce/api/request/jobs_create.rb, line 38 def leverage_historical defined?(@historical) ? @historical : true end
mode_h()
click to toggle source
Return a ready-to-merge mode attributes hash. @return [Hash]
# File lib/never_bounce/api/request/jobs_create.rb, line 59 def mode_h @mode_h ||= {}.tap do |_| unless (v = auto_start).nil? _[:auto_start] = v end unless (v = auto_parse).nil? _[:auto_parse] = v end unless (v = run_sample).nil? _[:run_sample] = v end unless (v = allow_manual_review).nil? _[:allow_manual_review] = v end unless (v = callback_url).nil? _[:callback_url] = v end unless (v = callback_headers).nil? _[:callback_headers] = v end unless historical.nil? _[:request_meta_data] = {leverage_historical_data: leverage_historical} end end end
to_h()
click to toggle source
@return [Hash]
# File lib/never_bounce/api/request/jobs_create.rb, line 92 def to_h input = require_attr(:input) input_location = require_attr(:input_location) # Validate `input_location` and `input`. if not ["remote_url", "supplied"].include? input_location raise AttributeError, "Unknown `input_location`: #{input_location.inspect}" end if input_location == "supplied" raise AttributeError, "Invalid `input` for `input_location` == #{input_location.inspect}: #{input.inspect}" if not input.is_a? Array # Skim through elements of `input`, raise if invalid structure detected, with details. input.each do |elem| em = [AttributeError, "Invalid `input` element: #{elem.inspect}"] raise(*em) unless elem.is_a? Array raise(*em) unless elem.map(&:class) == [String, String] end end # Result. { input: input, input_location: input_location, filename: require_attr(:filename), key: require_attr(:api_key), }.merge(mode_h) end