Class: Rerout::Models::Project
- Inherits:
-
Object
- Object
- Rerout::Models::Project
- Defined in:
- lib/rerout/models.rb
Overview
Project identity envelope.
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#slug ⇒ Object
readonly
Returns the value of attribute slug.
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object (also: #eql?)
- #hash ⇒ Object
-
#initialize(id:, name:, slug:) ⇒ Project
constructor
A new instance of Project.
- #to_h ⇒ Object
Constructor Details
#initialize(id:, name:, slug:) ⇒ Project
Returns a new instance of Project.
280 281 282 283 284 285 |
# File 'lib/rerout/models.rb', line 280 def initialize(id:, name:, slug:) @id = id @name = name @slug = slug freeze end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
278 279 280 |
# File 'lib/rerout/models.rb', line 278 def id @id end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
278 279 280 |
# File 'lib/rerout/models.rb', line 278 def name @name end |
#slug ⇒ Object (readonly)
Returns the value of attribute slug.
278 279 280 |
# File 'lib/rerout/models.rb', line 278 def slug @slug end |
Class Method Details
.from_hash(hash) ⇒ Object
287 288 289 |
# File 'lib/rerout/models.rb', line 287 def self.from_hash(hash) new(id: hash['id'], name: hash['name'], slug: hash['slug']) end |
Instance Method Details
#==(other) ⇒ Object Also known as: eql?
295 296 297 |
# File 'lib/rerout/models.rb', line 295 def ==(other) other.is_a?(Project) && other.to_h == to_h end |
#hash ⇒ Object
300 301 302 |
# File 'lib/rerout/models.rb', line 300 def hash [self.class, id, name, slug].hash end |
#to_h ⇒ Object
291 292 293 |
# File 'lib/rerout/models.rb', line 291 def to_h { id: id, name: name, slug: slug } end |