class Stattleship::Validators::BaseValidator
Attributes
class_name[R]
key[R]
params[R]
Public Class Methods
new(key:, params:, class_name:)
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 4 def initialize(key:, params:, class_name:) @class_name = class_name @key = key @params = params end
Public Instance Methods
validate()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 10 def validate raise 'Validator subclass must implement validate method' end
validates_date()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 14 def validates_date if value.is_a?(Date) return else fail ArgumentError.new("expected #{key} to be a Date") end end
validates_league_prefix()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 38 def validates_league_prefix if blank?(value) return elsif blank?(league_prefix) return else if value.start_with?("#{league_prefix}-") return end end fail ArgumentError. new("expected #{key} to start with '#{league_prefix}'") end
validates_positive_integer()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 30 def validates_positive_integer if value.is_a?(Integer) && value > 0 return else fail ArgumentError.new("expected #{key} to be an integer > 0") end end
validates_positive_or_zero_integer()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 22 def validates_positive_or_zero_integer if value.is_a?(Integer) && value >= 0 return else fail ArgumentError.new("expected #{key} to be an integer >= 0") end end
validates_sport_prefix()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 53 def validates_sport_prefix if blank?(value) return elsif blank?(sport_prefix) return else if value.start_with?("#{sport_prefix}") || value.start_with?("#{sport_prefix}_") return end end fail ArgumentError. new("expected #{key} to start with '#{sport_prefix}'") end
Private Instance Methods
blank?(value)
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 72 def blank?(value) value.to_s.strip == '' end
league_prefix()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 88 def league_prefix if query_parameter_class.start_with?('Baseball') 'mlb' elsif query_parameter_class.start_with?('Basketball') 'nba' elsif query_parameter_class.start_with?('Football') 'nfl' elsif query_parameter_class.start_with?('Hockey') 'nhl' else '' end end
present?(value)
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 76 def present?(value) !blank?(value) end
query_parameter_class()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 84 def query_parameter_class class_name.split('::').last end
sport_prefix()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 102 def sport_prefix if query_parameter_class.start_with?('Baseball') 'baseball' elsif query_parameter_class.start_with?('Basketball') 'basketball' elsif query_parameter_class.start_with?('Football') 'football' elsif query_parameter_class.start_with?('Hockey') 'hockey' else '' end end
value()
click to toggle source
# File lib/stattleship/validators/base_validator.rb, line 80 def value params[key] end