Sha256: febacdc13451c415b705ff6be4ef00c4df65b1bfc22c20859a0bfc06b0be8b86

Contents?: true

Size: 1.2 KB

Versions: 37

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Renalware
  module Events
    module Lists
      # Form object to help us build and parse the appropriate filters for the
      # events_lists controller
      class Form
        delegate_missing_to :@handler

        def initialize(named_filter:, params: {})
          @handler = create_filter_specific_object_to_handle_all_requests(named_filter, params)
        end

        def create_filter_specific_object_to_handle_all_requests(named_filter, params)
          handler_klass = "#{self.class.name}::#{named_filter.to_s.classify}Events"
          handler_klass.constantize.new(params)
        end

        class AllEvents
          include ActiveModel::Model
          include Virtus::Model

          attribute :s, String # sort order, not really part of the form
          attribute :event_type_id_eq, Integer
          attribute :created_by_id_eq, Integer
          attribute :created_at_gteq, Date
          attribute :created_at_lteq, Date

          def event_type_options
            Events::Type.order(:name).pluck(:name, :id)
          end

          def created_by_options
            User.excluding_system_user.picklist
          end
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/models/renalware/events/lists/form.rb
renalware-core-2.1.0 app/models/renalware/events/lists/form.rb
renalware-core-2.0.167 app/models/renalware/events/lists/form.rb
renalware-core-2.0.166 app/models/renalware/events/lists/form.rb
renalware-core-2.0.165 app/models/renalware/events/lists/form.rb
renalware-core-2.0.164 app/models/renalware/events/lists/form.rb
renalware-core-2.0.163 app/models/renalware/events/lists/form.rb
renalware-core-2.0.162 app/models/renalware/events/lists/form.rb
renalware-core-2.0.161 app/models/renalware/events/lists/form.rb
renalware-core-2.0.160 app/models/renalware/events/lists/form.rb
renalware-core-2.0.159 app/models/renalware/events/lists/form.rb
renalware-core-2.0.158 app/models/renalware/events/lists/form.rb
renalware-core-2.0.157 app/models/renalware/events/lists/form.rb
renalware-core-2.0.156 app/models/renalware/events/lists/form.rb
renalware-core-2.0.155 app/models/renalware/events/lists/form.rb
renalware-core-2.0.153 app/models/renalware/events/lists/form.rb
renalware-core-2.0.152 app/models/renalware/events/lists/form.rb
renalware-core-2.0.151 app/models/renalware/events/lists/form.rb
renalware-core-2.0.149 app/models/renalware/events/lists/form.rb
renalware-core-2.0.148 app/models/renalware/events/lists/form.rb