Method: Dugway::Drops::FeaturesDrop#opt_ins

Defined in:
lib/dugway/liquid/drops/features_drop.rb

#opt_insArray<String>

Returns a memoized list of features this account has explicitly opted into, filtered to only include features defined in the definitions.

Returns:

  • (Array<String>)

    List of opted-in feature names.



46
47
48
49
50
51
52
53
54
55
# File 'lib/dugway/liquid/drops/features_drop.rb', line 46

def opt_ins
  return @opt_ins if defined?(@opt_ins)

  source_opt_ins = source&.fetch('opt_ins', []) || []
  # Ensure source data is treated as a Set for efficient intersection
  source_set = source_opt_ins.respond_to?(:to_set) ? source_opt_ins.to_set : Set.new(Array(source_opt_ins))

  # Only keep opt-ins that correspond to defined features
  @opt_ins = (Set.new(feature_definitions.keys) & source_set).to_a
end