module MagicResource::Controller
Protected Instance Methods
r(*args)
click to toggle source
# File lib/magic-resource/controller.rb, line 30 def r(*args) MagicResource::Container._launch(self, *args) end
resource=(resource)
click to toggle source
# File lib/magic-resource/controller.rb, line 25 def resource=(resource) @resources, @resource = nil, resource prepare_resource_container(resource) end
resources=(resources)
click to toggle source
# File lib/magic-resource/controller.rb, line 20 def resources=(resources) @resources, @resource = resources, nil prepare_resource_container(resources) end
Private Instance Methods
_prepare_resource_container(rs)
click to toggle source
# File lib/magic-resource/controller.rb, line 55 def _prepare_resource_container(rs) self.resource_container = MagicResource::Container.new(rs || resource_name, resource_context) end
prepare_resource_container(rs = nil)
click to toggle source
# File lib/magic-resource/controller.rb, line 46 def prepare_resource_container(rs = nil) _prepare_resource_container(rs) MagicResource.assert_restriction( :assert_resource_name_in_controller, "Wrong resource name in controller, expected #{resource_name.inspect} but got #{resource_container.name.inspect}" ) unless resource_container.name == resource_name end
prepare_resource_controller()
click to toggle source
# File lib/magic-resource/controller.rb, line 36 def prepare_resource_controller resource_config = self.class.name.match(/^(?<name>\w+?)::(?<context>\w+)Controller$/) raise "Wrong resource controller name: #{self.class.name}" unless resource_config self.resource_name = resource_config[:name].underscore.to_sym self.resource_context = resource_config[:context].underscore.to_sym prepare_resource_container end
resource_contents()
click to toggle source
# File lib/magic-resource/controller.rb, line 68 def resource_contents @_resource_contents ||= {} end
with_resource_container(new_resource_container) { || ... }
click to toggle source
# File lib/magic-resource/controller.rb, line 59 def with_resource_container(new_resource_container) same_resource_container = resource_container == new_resource_container old_resource_container, self.resource_container = resource_container, new_resource_container unless same_resource_container yield ensure self.resource_container = old_resource_container unless same_resource_container end