Module: Fog::Attributes::ClassMethods

Included in:
Collection, Model
Defined in:
lib/fog/core/attributes.rb

Instance Method Summary collapse

Instance Method Details

#_load(marshalled) ⇒ Object



4
5
6
# File 'lib/fog/core/attributes.rb', line 4

def _load(marshalled)
  new(Marshal.load(marshalled))
end

#aliasesObject



8
9
10
# File 'lib/fog/core/attributes.rb', line 8

def aliases
  @aliases ||= {}
end

#associationsObject



12
13
14
# File 'lib/fog/core/attributes.rb', line 12

def associations
  @associations ||= {}
end

#attribute(name, options = {}) ⇒ Object



28
29
30
31
# File 'lib/fog/core/attributes.rb', line 28

def attribute(name, options = {})
  type = options.fetch(:type, "default").to_s.capitalize
  Fog::Attributes.const_get(type).new(self, name, options)
end

#attributesObject



16
17
18
# File 'lib/fog/core/attributes.rb', line 16

def attributes
  @attributes ||= []
end

#default_valuesObject



20
21
22
# File 'lib/fog/core/attributes.rb', line 20

def default_values
  @default_values ||= {}
end

#has_many(name, collection_name, options = {}) ⇒ Object



37
38
39
# File 'lib/fog/core/attributes.rb', line 37

def has_many(name, collection_name, options = {})
  Fog::Associations::ManyModels.new(self, name, collection_name, options)
end

#has_many_identities(name, collection_name, options = {}) ⇒ Object



45
46
47
# File 'lib/fog/core/attributes.rb', line 45

def has_many_identities(name, collection_name, options = {})
  Fog::Associations::ManyIdentities.new(self, name, collection_name, options)
end

#has_one(name, collection_name, options = {}) ⇒ Object



33
34
35
# File 'lib/fog/core/attributes.rb', line 33

def has_one(name, collection_name, options = {})
  Fog::Associations::OneModel.new(self, name, collection_name, options)
end

#has_one_identity(name, collection_name, options = {}) ⇒ Object



41
42
43
# File 'lib/fog/core/attributes.rb', line 41

def has_one_identity(name, collection_name, options = {})
  Fog::Associations::OneIdentity.new(self, name, collection_name, options)
end

#identity(name, options = {}) ⇒ Object



49
50
51
52
# File 'lib/fog/core/attributes.rb', line 49

def identity(name, options = {})
  @identity = name
  attribute(name, options)
end

#ignore_attributes(*args) ⇒ Object



54
55
56
# File 'lib/fog/core/attributes.rb', line 54

def ignore_attributes(*args)
  @ignored_attributes = args.map(&:to_s)
end

#ignored_attributesObject



58
59
60
# File 'lib/fog/core/attributes.rb', line 58

def ignored_attributes
  @ignored_attributes ||= []
end

#masksObject



24
25
26
# File 'lib/fog/core/attributes.rb', line 24

def masks
  @masks ||= {}
end