Class: WalmartApIs::Client

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/walmart_ap_is/client.rb

Overview

walmart_ap_is client class.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, basic_auth_credentials: nil, config: nil) ⇒ Client

Returns a new instance of Client.



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/walmart_ap_is/client.rb', line 112

def initialize(
  connection: nil, adapter: :net_http_persistent, timeout: 30,
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
  retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
  logging_configuration: nil, environment: Environment::PRODUCTION,
  basic_auth_credentials: nil, config: nil
)
  @config = if config.nil?
              Configuration.new(
                connection: connection, adapter: adapter, timeout: timeout,
                max_retries: max_retries, retry_interval: retry_interval,
                backoff_factor: backoff_factor,
                retry_statuses: retry_statuses,
                retry_methods: retry_methods, http_callback: http_callback,
                proxy_settings: proxy_settings,
                logging_configuration: logging_configuration,
                environment: environment,
                basic_auth_credentials: basic_auth_credentials
              )
            else
              config
            end
  user_agent_params = BaseApi.user_agent_parameters

  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
                                             .base_uri_executor(@config.method(:get_base_uri))
                                             .global_errors(BaseApi::GLOBAL_ERRORS)
                                             .user_agent(BaseApi.user_agent,
                                                         agent_parameters: user_agent_params)

  initialize_auth_managers(@global_configuration)
  @global_configuration = @global_configuration.auth_managers(@auth_managers)
end

Instance Attribute Details

#auth_managersObject (readonly)

Returns the value of attribute auth_managers.



10
11
12
# File 'lib/walmart_ap_is/client.rb', line 10

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



10
11
12
# File 'lib/walmart_ap_is/client.rb', line 10

def config
  @config
end

Class Method Details

.from_env(**overrides) ⇒ Object

Creates a client directly from environment variables.



157
158
159
160
161
# File 'lib/walmart_ap_is/client.rb', line 157

def self.from_env(**overrides)
  default_config = Configuration.build_default_config_from_env
  new_config = default_config.clone_with(**overrides)
  new(config: new_config)
end

Instance Method Details

#cppreferenceCppreferenceApi

Access to cppreference controller.

Returns:



90
91
92
# File 'lib/walmart_ap_is/client.rb', line 90

def cppreference
  @cppreference ||= CppreferenceApi.new @global_configuration
end

#detailDetailApi

Access to detail controller.

Returns:

  • (DetailApi)

    Returns the controller instance.



96
97
98
# File 'lib/walmart_ap_is/client.rb', line 96

def detail
  @detail ||= DetailApi.new @global_configuration
end

#feedsFeedsApi

Access to feeds controller.

Returns:

  • (FeedsApi)

    Returns the controller instance.



66
67
68
# File 'lib/walmart_ap_is/client.rb', line 66

def feeds
  @feeds ||= FeedsApi.new @global_configuration
end

#feeds_feed_type_incentive_enrollmentFeedsFeedTypeIncentiveEnrollmentApi

Access to feeds_feed_type_incentive_enrollment controller.

Returns:



84
85
86
# File 'lib/walmart_ap_is/client.rb', line 84

def feeds_feed_type_incentive_enrollment
  @feeds_feed_type_incentive_enrollment ||= FeedsFeedTypeIncentiveEnrollmentApi.new @global_configuration
end

#feeds_feed_type_price_and_promotionFeedsFeedTypePriceAndPromotionApi

Access to feeds_feed_type_price_and_promotion controller.

Returns:



72
73
74
# File 'lib/walmart_ap_is/client.rb', line 72

def feeds_feed_type_price_and_promotion
  @feeds_feed_type_price_and_promotion ||= FeedsFeedTypePriceAndPromotionApi.new @global_configuration
end

#feeds_feed_type_walmart_funded_incentives_enrollmentFeedsFeedTypeWalmartFundedIncentivesEnrollmentApi

Access to feeds_feed_type_walmart_funded_incentives_enrollment controller.

Returns:



78
79
80
# File 'lib/walmart_ap_is/client.rb', line 78

def feeds_feed_type_walmart_funded_incentives_enrollment
  @feeds_feed_type_walmart_funded_incentives_enrollment ||= FeedsFeedTypeWalmartFundedIncentivesEnrollmentApi.new @global_configuration
end

#get_pricing_insightsGetPricingInsightsApi

Access to get_pricing_insights controller.

Returns:



48
49
50
# File 'lib/walmart_ap_is/client.rb', line 48

def get_pricing_insights
  @get_pricing_insights ||= GetPricingInsightsApi.new @global_configuration
end

#incentivesIncentivesApi

Access to incentives controller.

Returns:



42
43
44
# File 'lib/walmart_ap_is/client.rb', line 42

def incentives
  @incentives ||= IncentivesApi.new @global_configuration
end

#initialize_auth_managers(global_config) ⇒ Object

Initializes the auth managers hash used for authenticating API calls.

Parameters:

  • global_config (GlobalConfiguration)

    The global configuration of the SDK)



149
150
151
152
153
154
# File 'lib/walmart_ap_is/client.rb', line 149

def initialize_auth_managers(global_config)
  @auth_managers = {}
  http_client_config = global_config.client_configuration
  %w[basic].each { |auth| @auth_managers[auth] = nil }
  @auth_managers['basic'] = BasicAuth.new(http_client_config.basic_auth_credentials)
end

#m_strategy_collection_idMStrategyCollectionIdApi

Access to m_strategy_collection_id controller.

Returns:



18
19
20
# File 'lib/walmart_ap_is/client.rb', line 18

def m_strategy_collection_id
  @m_strategy_collection_id ||= MStrategyCollectionIdApi.new @global_configuration
end

#miscMiscApi

Access to misc controller.

Returns:

  • (MiscApi)

    Returns the controller instance.



108
109
110
# File 'lib/walmart_ap_is/client.rb', line 108

def misc
  @misc ||= MiscApi.new @global_configuration
end

#pricePriceApi

Access to price controller.

Returns:

  • (PriceApi)

    Returns the controller instance.



54
55
56
# File 'lib/walmart_ap_is/client.rb', line 54

def price
  @price ||= PriceApi.new @global_configuration
end

#repricer_feedsRepricerFeedsApi

Access to repricer_feeds controller.

Returns:



60
61
62
# File 'lib/walmart_ap_is/client.rb', line 60

def repricer_feeds
  @repricer_feeds ||= RepricerFeedsApi.new @global_configuration
end

#strategiesStrategiesApi

Access to strategies controller.

Returns:



30
31
32
# File 'lib/walmart_ap_is/client.rb', line 30

def strategies
  @strategies ||= StrategiesApi.new @global_configuration
end

#strategyStrategyApi

Access to strategy controller.

Returns:



24
25
26
# File 'lib/walmart_ap_is/client.rb', line 24

def strategy
  @strategy ||= StrategyApi.new @global_configuration
end

#tokenTokenApi

Access to token controller.

Returns:

  • (TokenApi)

    Returns the controller instance.



102
103
104
# File 'lib/walmart_ap_is/client.rb', line 102

def token
  @token ||= TokenApi.new @global_configuration
end

#user_agent_detailObject



12
13
14
# File 'lib/walmart_ap_is/client.rb', line 12

def user_agent_detail
  config.user_agent_detail
end

#wfpreferenceWfpreferenceApi

Access to wfpreference controller.

Returns:



36
37
38
# File 'lib/walmart_ap_is/client.rb', line 36

def wfpreference
  @wfpreference ||= WfpreferenceApi.new @global_configuration
end