2015-08-05 14:05:14 +03:00
|
|
|
module Devops
|
|
|
|
|
module Model
|
|
|
|
|
module ModelWithProvider
|
|
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
class << self
|
|
|
|
|
def included(mod)
|
|
|
|
|
mod.field :provider, type: String
|
2015-11-19 14:09:38 +03:00
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
mod.validates_presence_of :provider, message: "'provider' is undefined"
|
|
|
|
|
end
|
2015-10-06 13:50:26 +03:00
|
|
|
end
|
|
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
def check_provider_type hash
|
|
|
|
|
raise Devops::Exception::ParserError.new("Parameter 'provider' is not a string") unless hash["provider"].is_a?(String)
|
2015-08-05 14:05:14 +03:00
|
|
|
end
|
2015-10-27 12:01:21 +03:00
|
|
|
|
2018-04-04 22:44:39 +03:00
|
|
|
def validate_provider
|
|
|
|
|
providers = Provider.providers
|
|
|
|
|
errors.add(:provider, "Invalid provider, available values: '#{providers.join("', '")}'") unless providers.include?(self.provider)
|
2015-10-27 12:01:21 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def provider_hash
|
|
|
|
|
{
|
2018-04-04 22:44:39 +03:00
|
|
|
"provider" => self.provider
|
2015-10-27 12:01:21 +03:00
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
2015-08-05 14:05:14 +03:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|