Sha256: 9857ae4f68ea3aa24eaaa3c3d25df9d883846d690b1dc574647756592cd5dd3e

Contents?: true

Size: 814 Bytes

Versions: 7

Compression:

Stored size: 814 Bytes

Contents

module Para
  module Component
    module FormDecorator
      include Para::Component::BaseDecorator

      def path(namespace: :resource, **options)
        find_path([:admin, self, namespace], options)
      end

      def relation_path(controller_or_resource, *nested_resources, **options)
        nested = nested_resources.any?

        if Hash === controller_or_resource
          options = controller_or_resource
        end

        options[:action] = action_option_for(options, nested: nested)
        data = [:admin, self, :resource, *nested_resources]

        find_path(data, options)
      end

      def action_option_for(options, nested: false)
        if !nested && options[:action].try(:to_sym) == :show
          nil
        else
          options[:action]
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
para-0.7.1 app/decorators/para/component/form_decorator.rb
para-0.7.0 app/decorators/para/component/form_decorator.rb
para-0.6.9 app/decorators/para/component/form_decorator.rb
para-0.6.8 app/decorators/para/component/form_decorator.rb
para-0.6.7 app/decorators/para/component/form_decorator.rb
para-0.6.3 app/decorators/para/component/form_decorator.rb
para-0.6.2 app/decorators/para/component/form_decorator.rb