module Croods::Resource::Controller
Public Instance Methods
controller()
click to toggle source
# File lib/croods/resource/controller.rb, line 20 def controller controller_name.constantize end
controller_blocks()
click to toggle source
# File lib/croods/resource/controller.rb, line 12 def controller_blocks @controller_blocks ||= [] end
controller_name()
click to toggle source
# File lib/croods/resource/controller.rb, line 16 def controller_name "#{namespace}Controller" end
create_actions!()
click to toggle source
# File lib/croods/resource/controller.rb, line 35 def create_actions! actions.each do |action| controller.define_method( action.name, Croods::Controller::Actions.send(action.name) ) end end
create_additional_actions!()
click to toggle source
# File lib/croods/resource/controller.rb, line 43 def create_additional_actions! additional_actions.each do |action| controller.define_method(action.name, &action.block) end end
create_controller!()
click to toggle source
# File lib/croods/resource/controller.rb, line 24 def create_controller! Object.const_set(controller_name, Class.new(ApplicationController)) controller_blocks.each do |block| controller.instance_eval(&block) end create_actions! create_additional_actions! end
extend_controller(&block)
click to toggle source
# File lib/croods/resource/controller.rb, line 6 def extend_controller(&block) return unless block controller_blocks << block end