Module: ActiveHashRelation::Helpers

Included in:
Aggregation, FilterApplier
Defined in:
lib/active_hash_relation/helpers.rb

Instance Method Summary collapse

Instance Method Details

#engine_nameObject



12
13
14
# File 'lib/active_hash_relation/helpers.rb', line 12

def engine_name
  Rails::Engine.subclasses[0].to_s.split('::').first
end

#find_model(model) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/active_hash_relation/helpers.rb', line 16

def find_model(model)
  return model if model

  model = model_class_name(@resource)
  if model.nil? || engine_name == model.to_s
    model = model_class_name(@resource, true)
  end

  return model
end

#model_class_name(resource, _engine = false) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/active_hash_relation/helpers.rb', line 3

def model_class_name(resource, _engine = false)
  _class = resource.class.to_s.split('::')
  if _engine === true
    "#{_class[0]}::#{_class[1]}".constantize
  else
    _class.first.constantize
  end
end