lib/simplest_status.rb in simplest_status-0.1.0 vs lib/simplest_status.rb in simplest_status-1.0.0
- old
+ new
@@ -3,14 +3,20 @@
module SimplestStatus
autoload :StatusCollection, 'simplest_status/status_collection'
autoload :ModelMethods, 'simplest_status/model_methods'
def statuses(*status_list)
- @statuses ||= status_list.reduce(StatusCollection.new) do |collection, status|
- collection.add(status)
- end
+ instance_variable_get(:@statuses) || simple_status(:status, status_list)
+ end
- send(:include, ModelMethods) unless ancestors.include? ModelMethods
+ def simple_status(field_name, values)
+ status_collection_for(field_name, values).configure_for(self)
+ end
- @statuses
+ private
+
+ def status_collection_for(status_method, values)
+ values.reduce(StatusCollection.new(status_method)) do |collection, value|
+ collection.add(value)
+ end
end
end