Sha256: 350d2e7a24b31e68b6fa190d94322ac6e4e3942add11d34036891d7e38b69668
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
module Plutonium module Resource class Presenter include Plutonium::Core::Definers::FieldDefiner include Plutonium::Core::Definers::ActionDefiner def initialize(context, resource_record) @context = context @resource_record = resource_record define_standard_actions define_actions define_fields end private attr_reader :context, :resource_record def define_fields # override this in child presenters for custom field definitions end def define_actions # override this in child presenters for custom action definitions end def define_standard_actions define_action Plutonium::Core::Actions::NewAction.new(:new) define_action Plutonium::Core::Actions::ShowAction.new(:show) define_action Plutonium::Core::Actions::EditAction.new(:edit) define_action Plutonium::Core::Actions::DestroyAction.new(:destroy) end # TODO: move this to its own definer def define_interactive_action(name, interaction:, **) define_action Plutonium::Core::Actions::InteractiveAction.new(name, interaction:, **) end def resource_class = context.resource_class end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
plutonium-0.8.0 | lib/plutonium/resource/presenter.rb |