Sha256: 40ade48b0bb2948a296208b126afb4c085d02be33b10378c1c32c86067bf62a4

Contents?: true

Size: 867 Bytes

Versions: 21

Compression:

Stored size: 867 Bytes

Contents

module Avo
  module Resources
    module Controls
      class Action < BaseControl
        attr_reader :klass

        def initialize(klass, record: nil, resource: nil, view: nil, **args)
          super(**args)

          @klass = klass
          @resource = resource
          @record = record
          @view = view
        end

        def action
          @instance ||= @klass.new(
            model: @record,
            resource: @resource,
            view: @view,
            arguments: @resource.get_action_arguments(klass)
          )
        end

        def path
          Avo::Services::URIService.parse(@resource.record_path)
            .append_paths("actions")
            .append_query(action_id: action.param_id)
            .to_s
        end

        def label
          @args[:label] || action.action_name
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
avo-2.53.0 lib/avo/resources/controls/action.rb
avo-2.52.0 lib/avo/resources/controls/action.rb
avo-2.49.0 lib/avo/resources/controls/action.rb
avo-2.48.0 lib/avo/resources/controls/action.rb
avo-2.47.0 lib/avo/resources/controls/action.rb
avo-2.46.0 lib/avo/resources/controls/action.rb
avo-2.45.0 lib/avo/resources/controls/action.rb
avo-2.44.0 lib/avo/resources/controls/action.rb
avo-2.43.0 lib/avo/resources/controls/action.rb
avo-2.42.2 lib/avo/resources/controls/action.rb
avo-2.42.1 lib/avo/resources/controls/action.rb
avo-2.42.0 lib/avo/resources/controls/action.rb
avo-2.41.0 lib/avo/resources/controls/action.rb
avo-2.40.0 lib/avo/resources/controls/action.rb
avo-2.39.0 lib/avo/resources/controls/action.rb
avo-2.38.0 lib/avo/resources/controls/action.rb
avo-2.37.2 lib/avo/resources/controls/action.rb
avo-2.37.1 lib/avo/resources/controls/action.rb
avo-2.37.0 lib/avo/resources/controls/action.rb
avo-2.36.3 lib/avo/resources/controls/action.rb