Sha256: 68b17bae2228965778d0cacedaeb4b42519339f39f2a63796aa15d408e789427
Contents?: true
Size: 493 Bytes
Versions: 5
Compression:
Stored size: 493 Bytes
Contents
module WerckerAPI module APICollection def self.included(klass) klass.class_eval do include Enumerable private attr_accessor :collection end end def initialize(collection = []) self.collection = collection.map { |item| item_klass.new(item) } end def each(&block) collection.each(&block) end private def item_klass @klass ||= Kernel.const_get(self.class.name.sub(/Collection$/, '')) end end end
Version data entries
5 entries across 5 versions & 1 rubygems