Sha256: c209a873548bd38fa2be728361e259ddd00b5884c12ed4b8c91be472cf560bc6

Contents?: true

Size: 540 Bytes

Versions: 6

Compression:

Stored size: 540 Bytes

Contents

require 'active_model'
class UserForm
  include ActiveModel::Model
  include ActiveModel::Validations

  attr_accessor :name, :email, :id

  validates :name, :email, presence: true

  def initialize(params = {})
    @id     = params[:id]
    @name   = params[:name]
    @email  = params[:email]
  end

  def to_h
    { name: name, email: email }
  end

  def merge(input)
    @name  = input[:name]
    @email = input[:email]

    self
  end

  def persisted?
    !!id
  end

  def self.model_name
    ActiveModel::Name.new(User)
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rom-rails-1.1.1 spec/dummy/app/forms/user_form.rb
rom-rails-1.1.0 spec/dummy/app/forms/user_form.rb
rom-rails-1.0.1 spec/dummy/app/forms/user_form.rb
rom-rails-1.0.0 spec/dummy/app/forms/user_form.rb
rom-rails-1.0.0.rc1 spec/dummy/app/forms/user_form.rb
rom-rails-1.0.0.beta1 spec/dummy/app/forms/user_form.rb