2018-11-20 20:47:30 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-07-07 11:18:12 +05:30
|
|
|
class ProgrammingLanguage < ApplicationRecord
|
2018-11-18 11:00:15 +05:30
|
|
|
validates :name, presence: true
|
|
|
|
validates :color, allow_blank: false, color: true
|
2019-03-02 22:35:43 +05:30
|
|
|
|
2022-06-21 17:19:12 +05:30
|
|
|
# Returns all programming languages which match any of the given names (case
|
2019-03-02 22:35:43 +05:30
|
|
|
# insensitively).
|
2022-06-21 17:19:12 +05:30
|
|
|
scope :with_name_case_insensitive, ->(*names) do
|
|
|
|
sanitized_names = names.map(&method(:sanitize_sql_like))
|
|
|
|
where(arel_table[:name].matches_any(sanitized_names))
|
2019-03-02 22:35:43 +05:30
|
|
|
end
|
2018-11-18 11:00:15 +05:30
|
|
|
end
|