Parent

Class/Module Index [+]

Quicksearch

Fog::Attributes::Default

Attributes

aliases[R]
default[R]
model[R]
name[R]
squash[R]

Public Class Methods

new(model, name, options) click to toggle source
# 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

Public Instance Methods

create_aliases() click to toggle source
# 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
create_getter() click to toggle source
# 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
create_setter() click to toggle source
# 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
set_defaults() click to toggle source
# File lib/fog/core/attributes/default.rb, line 63
def set_defaults
  model.default_values[name] = default unless default.nil?
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.