Method: ActiveVersioning::Model::VersionProxy#commit

Defined in:
lib/active_versioning/model/version_proxy.rb

#commit(params = {}) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/active_versioning/model/version_proxy.rb', line 87

def commit(params = {})
  raise draft_exception unless version.draft?

  attrs = version_attributes.tap do |attrs|
    attrs.merge!(
      draft:        false,
      event:        ActiveVersioning::Events::COMMIT,
      committed_at: Time.current
    )

    attrs.merge!(params)
  end

  version.update(attrs)

  __getobj__.update(versioned_attributes)
end