Module: Optimizely::Helpers::Validator
- Defined in:
- lib/optimizely/helpers/validator.rb
Class Method Summary collapse
- .attributes_valid?(attributes) ⇒ Boolean
- .datafile_valid?(datafile) ⇒ Boolean
- .error_handler_valid?(error_handler) ⇒ Boolean
- .event_dispatcher_valid?(event_dispatcher) ⇒ Boolean
- .event_tags_valid?(event_tags) ⇒ Boolean
- .inputs_valid?(variables, logger = NoOpLogger.new, level = Logger::ERROR) ⇒ Boolean
- .logger_valid?(logger) ⇒ Boolean
- .string_numeric?(str) ⇒ Boolean
Class Method Details
.attributes_valid?(attributes) ⇒ Boolean
27 28 29 30 31 32 33 34 35 |
# File 'lib/optimizely/helpers/validator.rb', line 27 def attributes_valid?(attributes) # Determines if provided attributes are valid. # # attributes - User attributes to be validated. # # Returns boolean depending on validity of attributes. attributes.is_a?(Hash) end |
.datafile_valid?(datafile) ⇒ Boolean
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/optimizely/helpers/validator.rb', line 47 def datafile_valid?(datafile) # Determines if a given datafile is valid. # # datafile - String JSON representing the project. # # Returns boolean depending on validity of datafile. begin datafile = JSON.parse(datafile) rescue return false end JSON::Validator.validate(Helpers::Constants::JSON_SCHEMA_V2, datafile) end |
.error_handler_valid?(error_handler) ⇒ Boolean
63 64 65 66 67 68 69 70 71 |
# File 'lib/optimizely/helpers/validator.rb', line 63 def error_handler_valid?(error_handler) # Determines if a given error handler is valid. # # error_handler - error_handler to be validated. # # Returns boolean depending on whether error_handler has a handle_error method. error_handler.respond_to?(:handle_error) end |
.event_dispatcher_valid?(event_dispatcher) ⇒ Boolean
73 74 75 76 77 78 79 80 81 |
# File 'lib/optimizely/helpers/validator.rb', line 73 def event_dispatcher_valid?(event_dispatcher) # Determines if a given event dispatcher is valid. # # event_dispatcher - event_dispatcher to be validated. # # Returns boolean depending on whether event_dispatcher has a dispatch_event method. event_dispatcher.respond_to?(:dispatch_event) end |
.event_tags_valid?(event_tags) ⇒ Boolean
37 38 39 40 41 42 43 44 45 |
# File 'lib/optimizely/helpers/validator.rb', line 37 def () # Determines if provided event tags are valid. # # event_tags - Event tags to be validated. # # Returns boolean depending on validity of event tags. .is_a?(Hash) end |
.inputs_valid?(variables, logger = NoOpLogger.new, level = Logger::ERROR) ⇒ Boolean
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/optimizely/helpers/validator.rb', line 99 def inputs_valid?(variables, logger = NoOpLogger.new, level = Logger::ERROR) # Determines if values of variables in given array are non empty string. # # variables - array values to validate. # # logger - logger. # # Returns boolean True if all of the values are valid, False otherwise. return false unless variables.respond_to?(:each) && !variables.empty? is_valid = true variables.each do |key, value| next if value.is_a?(String) && !value.empty? is_valid = false if logger_valid?(logger) && level logger.log(level, "#{Optimizely::Helpers::Constants::INPUT_VARIABLES[key.to_s.upcase]} is invalid") end end is_valid end |
.logger_valid?(logger) ⇒ Boolean
83 84 85 86 87 88 89 90 91 |
# File 'lib/optimizely/helpers/validator.rb', line 83 def logger_valid?(logger) # Determines if a given logger is valid. # # logger - logger to be validated. # # Returns boolean depending on whether logger has a log method. logger.respond_to?(:log) end |
.string_numeric?(str) ⇒ Boolean
93 94 95 96 97 |
# File 'lib/optimizely/helpers/validator.rb', line 93 def string_numeric?(str) !Float(str).nil? rescue false end |