module Eezee::Client::Builder
Public Class Methods
extended(base)
click to toggle source
# File lib/eezee/client/builder.rb, line 8 def self.extended(base) base.send(:build_eezee_options) base.send(:build_eezee_request_attributes) base.eezee_options end
Public Instance Methods
eezee_request_options(options)
click to toggle source
# File lib/eezee/client/builder.rb, line 14 def eezee_request_options(options) build_eezee_request_options(options) end
eezee_service(name, options = {})
click to toggle source
# File lib/eezee/client/builder.rb, line 18 def eezee_service(name, options = {}) build_eezee_service(name, { lazy: false }.merge(options || {})) end
Private Instance Methods
build_eezee_options()
click to toggle source
# File lib/eezee/client/builder.rb, line 24 def build_eezee_options define_singleton_method(:eezee_options) { @eezee_options ||= {} } end
build_eezee_request(force = false)
click to toggle source
# File lib/eezee/client/builder.rb, line 39 def build_eezee_request(force = false) Eezee.configuration .find_service(eezee_options[:service_name]) .then { |service| handle_unknown_service!(service, force) } .then { |service| create_request(service, force) } .then { |request| eezee_options[:request] = request } .then { build_eezee_request_attributes } end
build_eezee_request_attributes()
click to toggle source
# File lib/eezee/client/builder.rb, line 48 def build_eezee_request_attributes define_singleton_method(:eezee_request_attributes) { eezee_options&.[](:request)&.attributes || {} } end
build_eezee_request_options(options = {})
click to toggle source
# File lib/eezee/client/builder.rb, line 28 def build_eezee_request_options(options = {}) eezee_options[:request_options] ||= options build_eezee_request end
build_eezee_service(name = nil, options = {})
click to toggle source
# File lib/eezee/client/builder.rb, line 33 def build_eezee_service(name = nil, options = {}) eezee_options[:service_name] ||= name eezee_options[:service_options] ||= options build_eezee_request end
create_request(service, force)
click to toggle source
# File lib/eezee/client/builder.rb, line 63 def create_request(service, force) return unless take_request?(force) Eezee.configuration.request_by(service, eezee_options[:request_options]) end
handle_unknown_service!(service, force)
click to toggle source
# File lib/eezee/client/builder.rb, line 52 def handle_unknown_service!(service, force) return unless take_request?(force) raise UnknownServiceError if !service && eezee_options[:service_name] service end
take_request?(force)
click to toggle source
# File lib/eezee/client/builder.rb, line 59 def take_request?(force) !eezee_options.dig(:service_options, :lazy) || force end