Class: RubyHome::ServiceTemplate
- Inherits:
-
Object
- Object
- RubyHome::ServiceTemplate
- Defined in:
- lib/ruby_home/factories/templates/service_template.rb
Constant Summary collapse
- FILEPATH =
(File.dirname(__FILE__) + '/../../config/services.yml').freeze
- DATA =
YAML.load_file(FILEPATH).freeze
Instance Attribute Summary collapse
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#optional_characteristics_uuids ⇒ Object
readonly
Returns the value of attribute optional_characteristics_uuids.
-
#required_characteristics_uuids ⇒ Object
readonly
Returns the value of attribute required_characteristics_uuids.
-
#uuid ⇒ Object
readonly
Returns the value of attribute uuid.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name:, description:, uuid:, optional_characteristics_uuids:, required_characteristics_uuids:) ⇒ ServiceTemplate
constructor
A new instance of ServiceTemplate.
- #optional_characteristics ⇒ Object
- #required_characteristics ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(name:, description:, uuid:, optional_characteristics_uuids:, required_characteristics_uuids:) ⇒ ServiceTemplate
Returns a new instance of ServiceTemplate.
20 21 22 23 24 25 26 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 20 def initialize(name:, description:, uuid:, optional_characteristics_uuids:, required_characteristics_uuids:) @name = name @description = description @uuid = uuid @optional_characteristics_uuids = optional_characteristics_uuids @required_characteristics_uuids = required_characteristics_uuids end |
Instance Attribute Details
#description ⇒ Object (readonly)
Returns the value of attribute description.
28 29 30 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 28 def description @description end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
28 29 30 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 28 def name @name end |
#optional_characteristics_uuids ⇒ Object (readonly)
Returns the value of attribute optional_characteristics_uuids.
28 29 30 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 28 def optional_characteristics_uuids @optional_characteristics_uuids end |
#required_characteristics_uuids ⇒ Object (readonly)
Returns the value of attribute required_characteristics_uuids.
28 29 30 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 28 def required_characteristics_uuids @required_characteristics_uuids end |
#uuid ⇒ Object (readonly)
Returns the value of attribute uuid.
28 29 30 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 28 def uuid @uuid end |
Class Method Details
.all ⇒ Object
8 9 10 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 8 def self.all @all ||= DATA.map { |data| new(data) } end |
.find_by(options) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 12 def self.find_by() all.find do |characteristic| .all? do |key, value| characteristic.send(key) == value end end end |
Instance Method Details
#optional_characteristics ⇒ Object
30 31 32 33 34 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 30 def optional_characteristics @optional_characteristics ||= optional_characteristics_uuids.map do |uuid| CharacteristicTemplate.find_by(uuid: uuid) end end |
#required_characteristics ⇒ Object
36 37 38 39 40 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 36 def required_characteristics @required_characteristics ||= required_characteristics_uuids.map do |uuid| CharacteristicTemplate.find_by(uuid: uuid) end end |
#to_hash ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/ruby_home/factories/templates/service_template.rb', line 42 def to_hash { name: name, description: description, uuid: uuid } end |