Class: Tengine::Resource::VirtualServer::LaunchValidator
- Inherits:
-
ActiveModel::Validator
- Object
- ActiveModel::Validator
- Tengine::Resource::VirtualServer::LaunchValidator
- Defined in:
- lib/tengine/resource/virtual_server.rb
Overview
launch_modeに関する実装
Instance Method Summary collapse
Instance Method Details
#validate(record) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/tengine/resource/virtual_server.rb', line 17 def validate(record) base_attrs = record.attributes.dup.freeze error_names = [] (1..record.launch_count).each do |idx| # see also Tengine::Resource::Provider::Ec2#create_virtual_servers name = sprintf("%s%03d", record.name, idx) # 1 origin server = Tengine::Resource::VirtualServer.new(base_attrs.merge( :ignore_provided_id_uniqueness => true, :name => name )) next if server.valid? server.errors.each do |key, msg| if key == :name error_names << server.name else record.errors.add(key, msg) end end end unless error_names.empty? # record.name = error_names.join(",") # record.errors.add(:name, :taken) record.errors.add(:name, "に指定された%sは既に登録されています" % error_names.join(",")) end end |