Sha256: 353c6d247ee04c31caf7ab3750e948e867cc9a6b4a6e467fafa2c6838dc41124

Contents?: true

Size: 694 Bytes

Versions: 1

Compression:

Stored size: 694 Bytes

Contents

module Para
  module Component
    class SingletonResource < Para::Component::Resource
      register :singleton_resource, self

      configurable_on :model_type, as: :selectize, collection: :available_models

      has_one :component_resource, class_name: 'Para::ComponentResource',
              foreign_key: :component_id, autosave: true

      def resource
        build_component_resource(resource: model.new) unless component_resource
        component_resource.resource ||= model.new
      end

      def resource=(value)
        build_component_resource(resource: value) unless component_resource
      end

      def default_form_actions
        [:submit]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
para-0.4.0 app/models/para/component/singleton_resource.rb