11# frozen_string_literal: true
2- require "pry"
3- require "pry-byebug"
2+
3+ require 'pry'
4+ require 'pry-byebug'
45
56require 'faraday'
67require 'faraday/retry'
@@ -70,14 +71,14 @@ def initialize(config)
7071 end
7172
7273 def validate_offline_mode!
73- if @config . offline_mode? and not @config . offline_handler
74+ if @config . offline_mode? && ! @config . offline_handler
7475 raise Flagsmith ::ClientError ,
7576 'The offline_mode config param requires a matching offline_handler.'
7677 end
77- if @config . offline_handler and @config . default_flag_handler
78- raise Flagsmith :: ClientError ,
79- 'Cannot use offline_handler and default_flag_handler at the same time.'
80- end
78+ return unless @config . offline_handler && @config . default_flag_handler
79+
80+ raise Flagsmith :: ClientError ,
81+ 'Cannot use offline_handler and default_flag_handler at the same time.'
8182 end
8283
8384 def api_client
@@ -126,9 +127,7 @@ def environment_from_api
126127 # Get all the default for flags for the current environment.
127128 # @returns Flags object holding all the flags for the current environment.
128129 def get_environment_flags # rubocop:disable Naming/AccessorMethodName
129- if @config . local_evaluation? or @config . offline_mode
130- return environment_flags_from_document
131- end
130+ return environment_flags_from_document if @config . local_evaluation? || @config . offline_mode
132131
133132 environment_flags_from_api
134133 end
@@ -194,7 +193,7 @@ def environment_flags_from_document
194193 engine . get_environment_feature_states ( environment ) ,
195194 analytics_processor : analytics_processor ,
196195 default_flag_handler : default_flag_handler ,
197- offline_handler : offline_handler ,
196+ offline_handler : offline_handler
198197 )
199198 end
200199
@@ -205,23 +204,25 @@ def get_identity_flags_from_document(identifier, traits = {})
205204 engine . get_identity_feature_states ( environment , identity_model ) ,
206205 analytics_processor : analytics_processor ,
207206 default_flag_handler : default_flag_handler ,
208- offline_handler : offline_handler ,
207+ offline_handler : offline_handler
209208 )
210209 end
211210
211+ # rubocop:disable Metrics/MethodLength
212212 def environment_flags_from_api
213213 if offline_handler
214214 begin
215- return process_environment_flags_from_api
216- rescue
217- return environment_flags_from_document
215+ process_environment_flags_from_api
216+ rescue StandardError
217+ environment_flags_from_document
218218 end
219219 else
220220 rescue_with_default_handler do
221221 return process_environment_flags_from_api
222222 end
223223 end
224224 end
225+ # rubocop:enable Metrics/MethodLength
225226
226227 def process_environment_flags_from_api
227228 api_flags = api_client . get ( @config . environment_flags_url ) . body
@@ -234,19 +235,21 @@ def process_environment_flags_from_api
234235 )
235236 end
236237
238+ # rubocop:disable Metrics/MethodLength
237239 def get_identity_flags_from_api ( identifier , traits = { } )
238240 if offline_handler
239241 begin
240- return process_identity_flags_from_api ( identifier , traits )
241- rescue
242- return get_identity_flags_from_document ( identifier , traits )
242+ process_identity_flags_from_api ( identifier , traits )
243+ rescue StandardError
244+ get_identity_flags_from_document ( identifier , traits )
243245 end
244246 else
245247 rescue_with_default_handler do
246248 return process_identity_flags_from_api ( identifier , traits )
247249 end
248250 end
249251 end
252+ # rubocop:enable Metrics/MethodLength
250253
251254 def process_identity_flags_from_api ( identifier , traits = { } )
252255 data = generate_identities_data ( identifier , traits )
0 commit comments