Slide 33
Slide 33 text
# message.rb
require "smart_properties"
class Message
include SmartProperties
property! :subject, accepts: String, default: "(No Subject)"
property :body, accepts: String
property :time, accepts: Time, default:
- >
{ Time.now }
end
message = Message.new(subject: "New Message", body: "Lorem ipsum dolor sit amet")
puts "Message '#{message.subject}' created at #{message.time} has body: #{message.body?}"