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 |