Class: Banis::ModDev::DevProject
- Inherits:
-
Object
- Object
- Banis::ModDev::DevProject
- Includes:
- Entagging, FsAttachable, ModelFact::ModelHelper, StateStep, TR::CondUtils
- Defined in:
- lib/banis/mod_dev/dev_project.rb
Defined Under Namespace
Modules: AfterSaveHelper
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ DevProject
constructor
A new instance of DevProject.
- #save ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ DevProject
Returns a new instance of DevProject.
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/banis/mod_dev/dev_project.rb', line 173 def initialize(opts = {}) opts = {} if opts.nil? if not opts[:instance].nil? _mdl = opts[:instance] _mdl.did = SecureRandom.uuid if is_empty?(_mdl.did) set_model_instance(_mdl) else _mdl = ModelFact.new_instance(_model_key) _mdl.did = SecureRandom.uuid _mdl.send("name=", opts[:name]) if not_empty?(opts[:name]) set_model_instance(_mdl) init_default_status end self.extend(AfterSaveHelper) if not _mdl.new_record? @_logger = opts[:logger] if not opts[:logger].nil? ensure_attributes_defined @subProjects = [] self.class.init_model end |
Class Method Details
.init_model ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/banis/mod_dev/dev_project.rb', line 157 def self.init_model self.record_translator do |val| case val when Array, ActiveRecord::Relation val.collect { |e| DevProject.new(instance: e) } else if not val.nil? DevProject.new(instance: val) else val end end end end |
Instance Method Details
#save ⇒ Object
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/banis/mod_dev/dev_project.rb', line 199 def save recType = :existing if model.new_record? recType = :new raise DuplicatedRecordDetected, "Name '#{self.name}' already taken" if self.class.find_record(name: self.name).length > 0 else raise DuplicatedRecordDetected, "Name '#{self.name}' already taken" if self.class.find_record(name: self.name).length > 1 end res = model.save if res and recType == :existing save_develements save_repos end res end |