# File lib/fog/core/attributes/default.rb, line 6 def initialize(model, name, options) @model = model @model.attributes << name @name = name @squash = options.fetch(:squash, false) @aliases = options.fetch(:aliases, []) @default = options[:default] create_setter create_getter create_aliases set_defaults end
# File lib/fog/core/attributes/default.rb, line 57 def create_aliases Array(aliases).each do |alias_name| model.aliases[alias_name] = name end end
# File lib/fog/core/attributes/default.rb, line 45 def create_getter model.class_eval def #{name} return attributes[:#{name}] unless attributes[:#{name}].nil? if !attributes.key?(:#{name}) && !self.class.default_values[:#{name}].nil? && !persisted? return self.class.default_values[:#{name}] end attributes[:#{name}] end, __FILE__, __LINE__ end
# File lib/fog/core/attributes/default.rb, line 19 def create_setter if squash model.class_eval def #{name}=(new_data) if new_data.is_a?(Hash) if new_data.has_key?(:'#{squash}') attributes[:#{name}] = new_data[:'#{squash}'] elsif new_data.has_key?("#{squash}") attributes[:#{name}] = new_data["#{squash}"] else attributes[:#{name}] = [ new_data ] end else attributes[:#{name}] = new_data end end, __FILE__, __LINE__ else model.class_eval def #{name}=(new_#{name}) attributes[:#{name}] = new_#{name} end, __FILE__, __LINE__ end end
Generated with the Darkfish Rdoc Generator 2.