Module: Familia::Features::Relationships::Membership::InstanceMethods
- Defined in:
- lib/familia/features/relationships/membership.rb
Overview
Instance methods for objects with membership relationships
Instance Method Summary collapse
-
#calculate_membership_score(owner_class, collection_name) ⇒ Float
Calculate the appropriate score for a membership relationship.
Instance Method Details
#calculate_membership_score(owner_class, collection_name) ⇒ Float
Calculate the appropriate score for a membership relationship
316 317 318 319 320 321 322 323 324 325 326 327 328 329 |
# File 'lib/familia/features/relationships/membership.rb', line 316 def calculate_membership_score(owner_class, collection_name) # Find the membership configuration membership_config = self.class.membership_relationships.find do |config| config[:owner_class] == owner_class && config[:collection_name] == collection_name end return default_score unless membership_config score_calculator = membership_config[:score] # Extract the score calculation logic to reduce complexity calculated_score = extract_score_from_calculator(score_calculator) calculated_score || default_score end |