lib/pricehubble.rb in pricehubble-1.1.0 vs lib/pricehubble.rb in pricehubble-1.2.0
- old
+ new
@@ -1,112 +1,3 @@
# frozen_string_literal: true
-require 'active_support'
-require 'active_support/concern'
-require 'active_support/configurable'
-require 'active_support/time'
-require 'active_support/time_with_zone'
-require 'active_support/core_ext/object'
-require 'active_support/core_ext/module'
-require 'active_support/core_ext/hash'
-require 'active_support/core_ext/string'
-require 'active_model'
-require 'recursive-open-struct'
-require 'faraday'
-require 'faraday_middleware'
-
-# Load polyfills if needed
-require 'pricehubble/core_ext/hash'
-
-# The top level namespace for the PriceHubble gem.
-module PriceHubble
- # Top level elements
- autoload :Configuration, 'pricehubble/configuration'
- autoload :ConfigurationHandling, 'pricehubble/configuration_handling'
- autoload :Client, 'pricehubble/client'
- autoload :Identity, 'pricehubble/identity'
- autoload :Instrumentation, 'pricehubble/instrumentation'
-
- # Entities
- autoload :BaseEntity, 'pricehubble/entity/base_entity'
- autoload :Authentication, 'pricehubble/entity/authentication'
- autoload :Valuation, 'pricehubble/entity/valuation'
- autoload :ValuationScores, 'pricehubble/entity/valuation_scores'
- autoload :ValuationRequest, 'pricehubble/entity/valuation_request'
- autoload :Property, 'pricehubble/entity/property'
- autoload :PropertyConditions, 'pricehubble/entity/property_conditions'
- autoload :PropertyQualities, 'pricehubble/entity/property_qualities'
- autoload :PropertyType, 'pricehubble/entity/property_type'
- autoload :Location, 'pricehubble/entity/location'
- autoload :Address, 'pricehubble/entity/address'
- autoload :Coordinates, 'pricehubble/entity/coordinates'
- autoload :Dossier, 'pricehubble/entity/dossier'
-
- # Some general purpose utilities
- module Utils
- autoload :Decision, 'pricehubble/utils/decision'
- autoload :Bangers, 'pricehubble/utils/bangers'
- end
-
- # Instrumentation
- module Instrumentation
- autoload :LogSubscriber, 'pricehubble/instrumentation/log_subscriber'
- end
-
- # Dedicated application HTTP (low level) client
- module Client
- # All our utilities used for the low level client
- module Utils
- autoload :Request, 'pricehubble/client/utils/request'
- autoload :Response, 'pricehubble/client/utils/response'
- end
-
- # Faraday request middlewares
- module Request
- autoload :DataSanitization, 'pricehubble/client/request/data_sanitization'
- autoload :DefaultHeaders, 'pricehubble/client/request/default_headers'
- end
-
- # Faraday response middlewares
- module Response
- autoload :DataSanitization,
- 'pricehubble/client/response/data_sanitization'
- autoload :RecursiveOpenStruct,
- 'pricehubble/client/response/recursive_open_struct'
- end
-
- autoload :Base, 'pricehubble/client/base'
- autoload :Authentication, 'pricehubble/client/authentication'
- autoload :Valuation, 'pricehubble/client/valuation'
- autoload :Dossiers, 'pricehubble/client/dossiers'
- end
-
- # Separated features of an entity instance
- module EntityConcern
- autoload :Callbacks, 'pricehubble/entity/concern/callbacks'
- autoload :Attributes, 'pricehubble/entity/concern/attributes'
- autoload :Associations, 'pricehubble/entity/concern/associations'
- autoload :Client, 'pricehubble/entity/concern/client'
- autoload :Persistence, 'pricehubble/entity/concern/persistence'
-
- # Some custom typed attribute helpers
- module Attributes
- base = 'pricehubble/entity/concern/attributes'
- autoload :DateArray, "#{base}/date_array"
- autoload :Enum, "#{base}/enum"
- autoload :Range, "#{base}/range"
- autoload :StringInquirer, "#{base}/string_inquirer"
- end
- end
-
- # Load standalone code
- require 'pricehubble/version'
- require 'pricehubble/errors'
- require 'pricehubble/faraday'
- require 'pricehubble/railtie' if defined? Rails
-
- # Include top-level features
- include PriceHubble::ConfigurationHandling
- include PriceHubble::Client
- include PriceHubble::Identity
- include PriceHubble::Instrumentation
-end
+require 'price_hubble'