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.
439 440 441 442 443 444 |
# File 'lib/rerout/models.rb', line 439 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.
437 438 439 |
# File 'lib/rerout/models.rb', line 437 def id @id end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
437 438 439 |
# File 'lib/rerout/models.rb', line 437 def name @name end |
#slug ⇒ Object (readonly)
Returns the value of attribute slug.
437 438 439 |
# File 'lib/rerout/models.rb', line 437 def slug @slug end |
Class Method Details
.from_hash(hash) ⇒ Object
446 447 448 |
# File 'lib/rerout/models.rb', line 446 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?
454 455 456 |
# File 'lib/rerout/models.rb', line 454 def ==(other) other.is_a?(Project) && other.to_h == to_h end |
#hash ⇒ Object
459 460 461 |
# File 'lib/rerout/models.rb', line 459 def hash [self.class, id, name, slug].hash end |
#to_h ⇒ Object
450 451 452 |
# File 'lib/rerout/models.rb', line 450 def to_h { id: id, name: name, slug: slug } end |