Method: OCms::Post#assign_attributes

Defined in:
app/models/o_cms/post.rb

#assign_attributes(new_attributes) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'app/models/o_cms/post.rb', line 60

def assign_attributes(new_attributes)
  if new_attributes[:status]
    status = new_attributes[:status]
    published_at = new_attributes[:published_at]

    if DRAFT_STATUS == status
      published_at = nil
    elsif PUBLISHED_STATUS == status && published_at.blank?
      published_at = Time.current
    end

    new_attributes.delete(:status)
    new_attributes[:published_at] = published_at
  end

  super
end