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)