Sha256: 75f6cb1dbe66db5592abb9d84d01f7b1c596801f35090050680535ba7cc4300f
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
class Task attr_reader :task_id, :completed, :user_id, :date, :description, :manager_id def initialize(task_id, user_id, manager_id, date = set_system_date, description = nil, completed = 'Undone') validate_null('task_id', task_id) validate_null('user_id', user_id) validate_null('manager_id', manager_id) validate_completed(completed) @task_id = task_id @user_id = user_id @manager_id = manager_id @date = date @description = description @completed = completed end def to_hash { task_id: task_id, user_id: user_id, manager_id: manager_id, date: date, description: description, completed: completed } end private def validate_null(name, value) if value.nil? raise ArgumentError, "Argument '#{name}' cannot be null" end end def set_system_date Time.now.strftime("%Y-%m-%d") end def validate_completed(completed) unless completed == 'Done' || completed == 'Undone' || completed == 'Process' raise ArgumentError, "Argument '#{completed}' can only be Done, Undone or Process" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
papaSquidLib-0.1.0 | lib/models/task.rb |