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.
9 10 11 12 13 |
# File 'lib/solidus_recommendations/client.rb', line 9 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
19 20 21 22 |
# File 'lib/solidus_recommendations/client.rb', line 19 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.
29 |
# File 'lib/solidus_recommendations/client.rb', line 29 add_recommendable :products |