Class: SolidusRecommendations::Client
- Inherits:
-
Object
- Object
- SolidusRecommendations::Client
- Defined in:
- lib/solidus_recommendations/client.rb
Class Method Summary collapse
-
.add_recommendable(name) ⇒ Object
Defines a method to access class instance.
-
.create_instance(klass) ⇒ Object
Dynamically creates an attr_reader for each client space and sets it to the initalized values.
Instance Method Summary collapse
-
#products ⇒ SolidusRecommendations::Recommendable::Products
Methods for product recommendations.
Class Method Details
.add_recommendable(name) ⇒ Object
Defines a method to access class instance.
10 11 12 13 14 |
# File 'lib/solidus_recommendations/client.rb', line 10 def self.add_recommendable(name) converted = name.to_s.split('_').map(&:capitalize).join klass = SolidusRecommendations::Recommendable.const_get(converted) create_instance(klass) end |
.create_instance(klass) ⇒ Object
Dynamically creates an attr_reader for each client space and sets it to the initalized values
20 21 22 23 |
# File 'lib/solidus_recommendations/client.rb', line 20 def self.create_instance(klass) reader = klass.to_s.split('::').last.downcase define_method(reader.to_sym) { klass.new } end |
Instance Method Details
#products ⇒ SolidusRecommendations::Recommendable::Products
Methods for product recommendations.
30 |
# File 'lib/solidus_recommendations/client.rb', line 30 add_recommendable :products |