module KirguduBase class DynamicPages::HttpClientBuilder < ::KirguduBase::DynamicPages::PageElementBuilder def initialize(name, &block) self.builder_options.merge!( { url: nil, http_method: :get, page: 1, per_page: 30, is_paged_result: false, is_background_job: false, on_before_request: nil, on_after_request: nil, on_start: nil, on_complete: nil, on_error: nil } ) super(name, &block) end def url(value) self.builder_options[:url] = value end def http_method(value) self.builder_options[:http_method] = value end def page(value) self.builder_options[:page] = value end def per_page(value) self.builder_options[:id_paged_result] = value end def id_paged_result(value) self.builder_options[:id_paged_result] = value end def is_background_job(value) self.builder_options[:per_page] = value end def on_before_request(value) self.builder_options[:on_before_request] = value end def on_after_request(value) self.builder_options[:on_after_request] = value end def on_error(value) self.builder_options[:on_error] = value end def on_start(value) self.builder_options[:on_start] = value end def on_complete(value) self.builder_options[:on_complete] = value end def to_element element = ::KirguduBase::DynamicPages::HttpClient.new self.build_element(element) self.validate_generated_element(element) element end end end