Sha256: 11f861275e7e51993ddb79ff5e6ac27e2b7bbb18e72472727ec785e4837fbcfa

Contents?: true

Size: 807 Bytes

Versions: 29

Compression:

Stored size: 807 Bytes

Contents

module NCore
  module Lifecycle

    def errors?
      @errors.any?
    end

    def valid?
      @errors.none?
    end


    def save(update_params={})
      if id.present?
        if respond_to? :update, true
          update(update_params)
        else
          raise self.class.module_parent::Error, "Updating #{self.class.name} objects is not supported."
        end
      else
        if respond_to? :create, true
          create(update_params)
        else
          raise self.class.module_parent::Error, "Creating #{self.class.name} objects is not supported."
        end
      end
    end
    alias :update_attributes :save

    def save!(update_params={})
      save(update_params) || raise(self.class.module_parent::RecordInvalid, self)
    end
    alias :update_attributes! :save!

  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
ncore-3.12.0 lib/ncore/lifecycle.rb
ncore-3.11.0 lib/ncore/lifecycle.rb
ncore-3.10.0 lib/ncore/lifecycle.rb
ncore-3.9.1 lib/ncore/lifecycle.rb
ncore-3.9.0 lib/ncore/lifecycle.rb
ncore-3.8.1 lib/ncore/lifecycle.rb
ncore-3.8.0 lib/ncore/lifecycle.rb
ncore-3.7.1 lib/ncore/lifecycle.rb
ncore-3.7.0 lib/ncore/lifecycle.rb
ncore-3.6.2 lib/ncore/lifecycle.rb
ncore-3.6.1 lib/ncore/lifecycle.rb
ncore-3.6.0 lib/ncore/lifecycle.rb
ncore-3.5.2 lib/ncore/lifecycle.rb
ncore-3.5.1 lib/ncore/lifecycle.rb
ncore-3.5.0 lib/ncore/lifecycle.rb
ncore-3.4.4 lib/ncore/lifecycle.rb
ncore-3.4.3 lib/ncore/lifecycle.rb
ncore-3.4.2 lib/ncore/lifecycle.rb
ncore-3.4.1 lib/ncore/lifecycle.rb
ncore-3.4.0 lib/ncore/lifecycle.rb