Module: RedmineCrm::ActsAsDraftable::ClassMethods

Defined in:
lib/redmine_crm/acts_as_draftable/rcrm_acts_as_draftable.rb

Overview

Base

Instance Method Summary collapse

Instance Method Details

#draftable?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/redmine_crm/acts_as_draftable/rcrm_acts_as_draftable.rb', line 66

def draftable?
  true
end

#drafts(user) ⇒ Object



81
82
83
# File 'lib/redmine_crm/acts_as_draftable/rcrm_acts_as_draftable.rb', line 81

def drafts(user)
  Draft.where(user_id: user.id, target_type: name)
end

#from_draft(draft_or_id) ⇒ Object

Raises:

  • (ArgumentError)


70
71
72
73
74
75
76
77
78
79
# File 'lib/redmine_crm/acts_as_draftable/rcrm_acts_as_draftable.rb', line 70

def from_draft(draft_or_id)
  draft = draft_or_id.is_a?(Draft) ? draft_or_id : Draft.find(draft_or_id)
  raise ArgumentError unless draft.target_type == name

  target = draft.target_type.constantize.new
  target.load_from_draft(draft.data)

  target.draft_id = draft.id
  target
end