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)


165
166
167
# File 'lib/suretax/concerns/validatable.rb', line 165

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

#valid_business_unit?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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)


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

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

#valid_client_tracking?(value) ⇒ Boolean

Returns:

  • (Boolean)


123
124
125
# File 'lib/suretax/concerns/validatable.rb', line 123

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

#valid_data_month?(value) ⇒ Boolean

Returns:

  • (Boolean)


87
88
89
# File 'lib/suretax/concerns/validatable.rb', line 87

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

#valid_data_year?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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)


139
140
141
# File 'lib/suretax/concerns/validatable.rb', line 139

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

#valid_items?(items) ⇒ Boolean

Returns:

  • (Boolean)


91
92
93
# File 'lib/suretax/concerns/validatable.rb', line 91

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

#valid_line_number?(value) ⇒ Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/suretax/concerns/validatable.rb', line 135

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

#valid_list?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#valid_regulatory_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


156
157
158
# File 'lib/suretax/concerns/validatable.rb', line 156

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

#valid_response_group?(value) ⇒ Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/suretax/concerns/validatable.rb', line 127

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

#valid_response_type?(value) ⇒ Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/suretax/concerns/validatable.rb', line 131

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

#valid_return_file_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


119
120
121
# File 'lib/suretax/concerns/validatable.rb', line 119

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

#valid_sales_type_code?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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)


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

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

#valid_tax_situs_rule?(value) ⇒ Boolean

Returns:

  • (Boolean)


143
144
145
# File 'lib/suretax/concerns/validatable.rb', line 143

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

#valid_total_revenue?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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)


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

def valid_trans_type_code?(value)
  !blank?(value) && Suretax::TRANSACTION_TYPE_CODES.keys.include?(value)
end

#valid_validation_key?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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