Sha256: a2f0030a8104f1d21b3860f8e60696b2d120c424d59a211663063d083fadb21f

Contents?: true

Size: 498 Bytes

Versions: 9

Compression:

Stored size: 498 Bytes

Contents

module CabooseStore
  class Message
    include ActiveModel::Validations
    include ActiveModel::Conversion
    extend ActiveModel::Naming
    
    attr_accessor :name, :email, :body
    
    validates :name, :email, :body, presence: true
    validates :email, format: { with: %r{.+@.+\..+} }, allow_blank: false
    
    def initialize(attributes = {})
      attributes.each do |name, value|
        send("#{name}=", value)
      end
    end
    
    def persisted?
      false
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
caboose-store-0.0.10 app/models/caboose_store/message.rb
caboose-store-0.0.9 app/models/caboose_store/message.rb
caboose-store-0.0.8 app/models/caboose_store/message.rb
caboose-store-0.0.7 app/models/caboose_store/message.rb
caboose-store-0.0.6 app/models/caboose_store/message.rb
caboose-store-0.0.5 app/models/caboose_store/message.rb
caboose-store-0.0.4 app/models/caboose_store/message.rb
caboose-store-0.0.3 app/models/caboose_store/message.rb
caboose-store-0.0.2 app/models/caboose_store/message.rb