Class: AboutYou::SDK::Model::FacetGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/AboutYou/Model/facet_group.rb

Overview

This class represents a facet group model

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, name) ⇒ FacetGroup

Returns a new instance of FacetGroup.

Parameters:

  • integer

    $id

  • string

    $name



22
23
24
25
26
# File 'lib/AboutYou/Model/facet_group.rb', line 22

def initialize(id, name)
  self.id = id
  self.name = name
  self.facets = {}
end

Instance Attribute Details

#facetsObject

Returns the value of attribute facets.



11
12
13
# File 'lib/AboutYou/Model/facet_group.rb', line 11

def facets
  @facets
end

#group_idObject

Returns the value of attribute group_id.



16
17
18
# File 'lib/AboutYou/Model/facet_group.rb', line 16

def group_id
  @group_id
end

#idObject

Returns the value of attribute id.



13
14
15
# File 'lib/AboutYou/Model/facet_group.rb', line 13

def id
  @id
end

#nameObject

Returns the value of attribute name.



15
16
17
# File 'lib/AboutYou/Model/facet_group.rb', line 15

def name
  @name
end

Instance Method Details

#add_facet(facet) ⇒ Object

Parameters:

  • Facet

    $facet



31
32
33
# File 'lib/AboutYou/Model/facet_group.rb', line 31

def add_facet(facet)
  facets[facet.id] = facet
end

#add_facets(facets) ⇒ Object

Parameters:

  • Facet[]

    $facet



38
39
40
41
42
# File 'lib/AboutYou/Model/facet_group.rb', line 38

def add_facets(facets)
  facets.each do |facet|
    add_facet(facet)
  end
end

#contains(facet) ⇒ Object



90
91
92
# File 'lib/AboutYou/Model/facet_group.rb', line 90

def contains(facet)
  facets.key?(facet.id)
end

#equal?(facet_group) ⇒ Boolean

facet groups are equal, if the ids and all child ids are equal

Parameters:

  • FacetGroup

    $facet_group

Returns:

  • (Boolean)

    boolean



68
69
70
71
72
# File 'lib/AboutYou/Model/facet_group.rb', line 68

def equal?(facet_group)
  return false unless id == facet_group.id

  unique_key == facet_group.unique_key
end

#facet_names(separator = '/') ⇒ Object

Returns all facet names separated with the given parameter eg. for size with to size facets “36” and “37” -> “36/37”

Parameters:

  • string

    $separator

Returns:

  • string



52
53
54
55
56
57
58
59
# File 'lib/AboutYou/Model/facet_group.rb', line 52

def facet_names(separator = '/')
  names = []
  facets.each do |facet|
    names.push(facet.name)
  end

  names.join(separator)
end

#idsObject



86
87
88
# File 'lib/AboutYou/Model/facet_group.rb', line 86

def ids
  { id => facets.keys }
end

#unique_keyObject

Returns string.

Returns:

  • string

See Also:



79
80
81
82
83
84
# File 'lib/AboutYou/Model/facet_group.rb', line 79

def unique_key
  facet_ids = facets.keys
  facet_ids.sort!

  String(id) + ':' + String(facet_ids.join(','))
end