Module: Suretax::Concerns::Validatable::Validations

Defined in:
lib/suretax/concerns/validatable.rb

Instance Method Summary collapse

Instance Method Details

#optional_north_american_phone_number?(value) ⇒ Boolean Also known as: valid_bill_to_number?, valid_orig_number?, valid_term_number?

Returns:

  • (Boolean)


159
160
161
# File 'lib/suretax/concerns/validatable.rb', line 159

def optional_north_american_phone_number?(value)
  blank?(value) || north_american_phone_number?(value)
end

#valid_business_unit?(value) ⇒ Boolean

Returns:

  • (Boolean)


99
100
101
# File 'lib/suretax/concerns/validatable.rb', line 99

def valid_business_unit?(value)
  blank?(value) || (value.length <= 20 && alphanumeric?(value))
end

#valid_client_number?(value) ⇒ Boolean Also known as: valid_customer_number?

Returns:

  • (Boolean)


93
94
95
96
# File 'lib/suretax/concerns/validatable.rb', line 93

def valid_client_number?(value)
  return false if blank?(value)
  numeric?(value) && value.length <= 10
end

#valid_client_tracking?(value) ⇒ Boolean

Returns:

  • (Boolean)


117
118
119
# File 'lib/suretax/concerns/validatable.rb', line 117

def valid_client_tracking?(value)
  blank?(value) || value.length <= 100
end

#valid_data_month?(value) ⇒ Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/suretax/concerns/validatable.rb', line 81

def valid_data_month?(value)
  matches?(value, month_list_subexpression)
end

#valid_data_year?(value) ⇒ Boolean

Returns:

  • (Boolean)


75
76
77
78
79
# File 'lib/suretax/concerns/validatable.rb', line 75

def valid_data_year?(value)
  return false if blank?(value)
  value.length == 4 &&
    (value.to_i <= 2050 && value.to_i >= 1990)
end

#valid_invoice_number?(value) ⇒ Boolean

Returns:

  • (Boolean)


133
134
135
# File 'lib/suretax/concerns/validatable.rb', line 133

def valid_invoice_number?(value)
  blank?(value) || (value.length <= 20 && alphanumeric?(value))
end

#valid_items?(items) ⇒ Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/suretax/concerns/validatable.rb', line 85

def valid_items?(items)
  items.none? { |item| item.errors.any? }
end

#valid_line_number?(value) ⇒ Boolean

Returns:

  • (Boolean)


129
130
131
# File 'lib/suretax/concerns/validatable.rb', line 129

def valid_line_number?(value)
  blank?(value) || (value.length <= 20 && alphanumeric?(value))
end

#valid_list?(value) ⇒ Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/suretax/concerns/validatable.rb', line 89

def valid_list?(value)
  value.respond_to?(:each)
end

#valid_regulatory_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


150
151
152
# File 'lib/suretax/concerns/validatable.rb', line 150

def valid_regulatory_code?(value)
  !blank?(value) && Suretax::REGULATORY_CODES.values.include?(value)
end

#valid_response_group?(value) ⇒ Boolean

Returns:

  • (Boolean)


121
122
123
# File 'lib/suretax/concerns/validatable.rb', line 121

def valid_response_group?(value)
  Suretax::RESPONSE_GROUPS.values.include?(value)
end

#valid_response_type?(value) ⇒ Boolean

Returns:

  • (Boolean)


125
126
127
# File 'lib/suretax/concerns/validatable.rb', line 125

def valid_response_type?(value)
  matches?(value, "[DS][1-9]")
end

#valid_return_file_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/suretax/concerns/validatable.rb', line 113

def valid_return_file_code?(value)
  matches?(value.to_s, "[Q0]")
end

#valid_sales_type_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


145
146
147
148
# File 'lib/suretax/concerns/validatable.rb', line 145

def valid_sales_type_code?(value)
  match_value = "[#{Suretax::SALES_TYPE_CODES.values.join}]"
  !blank?(value) && matches?(value, match_value)
end

#valid_tax_exemption_code_list?(value) ⇒ Boolean Also known as: valid_tax_exemption_codes?

Returns:

  • (Boolean)


154
155
156
# File 'lib/suretax/concerns/validatable.rb', line 154

def valid_tax_exemption_code_list?(value)
  valid_list?(value) && !blank?(value.first)
end

#valid_tax_situs_rule?(value) ⇒ Boolean

Returns:

  • (Boolean)


137
138
139
# File 'lib/suretax/concerns/validatable.rb', line 137

def valid_tax_situs_rule?(value)
  Suretax::TAX_SITUS_RULES.values.include?(value)
end

#valid_total_revenue?(value) ⇒ Boolean

Returns:

  • (Boolean)


108
109
110
111
# File 'lib/suretax/concerns/validatable.rb', line 108

def valid_total_revenue?(value)
  matches?(value, total_revenue_positive_subexpression) ||
    matches?(value, total_revenue_negative_subexpression)
end

#valid_trans_type_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


141
142
143
# File 'lib/suretax/concerns/validatable.rb', line 141

def valid_trans_type_code?(value)
  !blank?(value)
end

#valid_validation_key?(value) ⇒ Boolean

Returns:

  • (Boolean)


103
104
105
106
# File 'lib/suretax/concerns/validatable.rb', line 103

def valid_validation_key?(value)
  return false if blank?(value)
  value.length <= 36
end