class Banken::DSL::Factory
Constants
- SUFFIX
Attributes
base_controller_name[R]
controller_name[R]
Public Class Methods
new(controller)
click to toggle source
# File lib/banken/dsl/factory.rb, line 8 def initialize(controller) @controller_name = extract_controller_name(controller) @base_controller_name = extract_controller_name(controller.superclass) end
Public Instance Methods
create()
click to toggle source
# File lib/banken/dsl/factory.rb, line 13 def create Object.const_set(loyalty_name, loyalty_klass) end
Private Instance Methods
base_loyalty()
click to toggle source
# File lib/banken/dsl/factory.rb, line 35 def base_loyalty ::Banken::LoyaltyFinder.new(base_controller_name).loyalty! rescue ::Banken::NotDefinedError ::Banken::DSL::BaseLoyalty end
extract_controller_name(controller)
click to toggle source
# File lib/banken/dsl/factory.rb, line 19 def extract_controller_name(controller) controller.controller_path if controller.to_s.end_with?("Controller") end
loyalty_klass()
click to toggle source
# File lib/banken/dsl/factory.rb, line 27 def loyalty_klass if base_controller_name Class.new(base_loyalty) else Class.new(::Banken::DSL::BaseLoyalty) end end
loyalty_name()
click to toggle source
# File lib/banken/dsl/factory.rb, line 23 def loyalty_name "#{controller_name.camelize}#{SUFFIX}" end