Sha256: d1f5ba96f73039ed0e7401da48295060ddb372391c2f70babe767161f5b0cf9a

Contents?: true

Size: 963 Bytes

Versions: 2

Compression:

Stored size: 963 Bytes

Contents

class Roqua::CoreApi::Models::Person
  # when support for rails 3 is dropped: replace by include ActiveModel::Model
  extend  ActiveModel::Naming
  extend  ActiveModel::Translation
  include ActiveModel::Validations
  include ActiveModel::Conversion
  include ActiveModel::Serialization

  attr_reader   :id
  attr_accessor :role, :firstname, :lastname, :initials,
                :email, :phone_home, :phone_work, :phone_cell,
                :birthdate, :gender, :country_of_birth,
                :address_type, :street, :city, :zipcode, :country

  validates :role, inclusion: { in: %w( professional patient parent ) }

  def initialize(params = {})
    @id = params.delete('id')
    params.each do |attr, value|
      public_send("#{attr}=", value)
    end if params

    super()
  end

  def assign_attributes(params = {})
    params.each do |attr, value|
      public_send("#{attr}=", value)
    end if params
  end

  def attributes
    as_json
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
roqua-core-api-0.0.14 lib/roqua/core_api/models/person.rb
roqua-core-api-0.0.13 lib/roqua/core_api/models/person.rb