lib/materialize/entity.rb in materialize-0.4.4 vs lib/materialize/entity.rb in materialize-0.4.5
- old
+ new
@@ -2,10 +2,12 @@
module Materialize
class Entity
include Utils
+ attr_reader :source
+
class << self
def wrap(entities_data)
entities_data.map { |entity_data| new(entity_data) }
end
@@ -13,18 +15,24 @@
alias :build :new
end
def initialize(attributes)
+ @source = attributes
+
raise "Attributes must be a hash" unless attributes.is_a?(Hash)
attributes.each_pair do |key, value|
value = attempt_entity_conversion(key, value) if collection?(value)
instance_variable_set("@#{key}", value)
(class << self; self; end).class_eval do
attr_reader key.to_sym
end
end
+ end
+
+ def empty?
+ source.empty?
end
private
def attempt_entity_conversion(key, value)