Module: RailsTrade::Promote

Extended by:
ActiveSupport::Concern
Included in:
Promote
Defined in:
app/models/rails_trade/promote.rb

Instance Method Summary collapse

Instance Method Details

#compute_charge(value, **extra) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
# File 'app/models/rails_trade/promote.rb', line 50

def compute_charge(value, **extra)
  extra.transform_keys! { |key| extra_mappings[key.to_s] }
  extra.delete nil
  
  q_params = {
    'min-lte': value,
    'max-gte': value,
    **extra
  }
  
  promote_charges.default_where(q_params).take
end

#extra_mappingsObject



46
47
48
# File 'app/models/rails_trade/promote.rb', line 46

def extra_mappings
  promote_extras.pluck(:extra_name, :column_name).to_h
end