Sha256: 0911d3379dc7d77999b50daa7c07f3973b497491c195209ba17149c392e694c6

Contents?: true

Size: 598 Bytes

Versions: 1

Compression:

Stored size: 598 Bytes

Contents

require "simplest_status/version"

module SimplestStatus
  autoload :StatusCollection, 'simplest_status/status_collection'
  autoload :ModelMethods,     'simplest_status/model_methods'

  def statuses(*status_list)
    instance_variable_get(:@statuses) || simple_status(:status, status_list)
  end

  def simple_status(field_name, values)
    status_collection_for(field_name, values).configure_for(self)
  end

  private

  def status_collection_for(status_method, values)
    values.reduce(StatusCollection.new(status_method)) do |collection, value|
      collection.add(value)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simplest_status-1.0.0 lib/simplest_status.rb