Module: Silueta
- Defined in:
- lib/silueta.rb,
lib/silueta/types.rb,
lib/silueta/version.rb
Defined Under Namespace
Modules: ClassMethods, Types
Constant Summary
collapse
- VERSION =
"0.0.4"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
4
5
6
|
# File 'lib/silueta.rb', line 4
def self.included(base)
base.extend(ClassMethods)
end
|
Instance Method Details
#attributes ⇒ Object
48
49
50
|
# File 'lib/silueta.rb', line 48
def attributes
return slice(*self.class.attributes)
end
|
#initialize(attrs = {}) ⇒ Object
36
37
38
39
40
|
# File 'lib/silueta.rb', line 36
def initialize(attrs = {})
@attributes = {}
update(attrs)
end
|
#slice(*attrs) ⇒ Object
52
53
54
55
56
|
# File 'lib/silueta.rb', line 52
def slice(*attrs)
return attrs.each_with_object({}) do |att, hash|
hash[att] = send(att)
end
end
|
#update(attrs) ⇒ Object
42
43
44
45
46
|
# File 'lib/silueta.rb', line 42
def update(attrs)
attrs.each do |attr, value|
public_send(:"#{ attr }=", value) if respond_to?(:"#{ attr }=")
end
end
|