Module: MotionPrime::HasClassFactory

Included in:
BaseElement, BaseElement, Screen, ScreenSectionsMixin, Section, ViewStyler
Defined in:
motion-prime/helpers/has_class_factory.rb

Instance Method Summary collapse

Instance Method Details

#camelize_factory(name) ⇒ Object



21
22
23
24
25
# File 'motion-prime/helpers/has_class_factory.rb', line 21

def camelize_factory(name)
  value = Prime.camelize_factory_cache[name]
  return value if value
  Prime.camelize_factory_cache[name] = name.camelize
end

#class_factory(name, is_mp_class = false) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'motion-prime/helpers/has_class_factory.rb', line 4

def class_factory(name, is_mp_class = false)
  if is_mp_class
    value = Prime.class_factory_cache["motion_prime/#{name}"]
    return value if value
    class_name = camelize_factory(name)

    return nil unless MotionPrime.const_defined?(class_name)
    class_name = "MotionPrime::#{class_name}"
    name = "motion_prime/#{name}"
  else
    value = Prime.class_factory_cache[name]
    return value if value
    class_name = camelize_factory(name)
  end
  Prime.class_factory_cache[name] = class_name.constantize
end

#low_camelize_factory(name) ⇒ Object



33
34
35
36
37
# File 'motion-prime/helpers/has_class_factory.rb', line 33

def low_camelize_factory(name)
  value = Prime.low_camelize_factory_cache[name]
  return value if value
  Prime.low_camelize_factory_cache[name] = name.camelize(:lower)
end

#underscore_factory(name) ⇒ Object



27
28
29
30
31
# File 'motion-prime/helpers/has_class_factory.rb', line 27

def underscore_factory(name)
  value = Prime.underscore_factory_cache[name]
  return value if value
  Prime.underscore_factory_cache[name] = name.underscore
end