Sha256: 8f34358436c35e3b1723517e78f261ad2085c78e9b0ee4b839c331057cfcaf06

Contents?: true

Size: 1.69 KB

Versions: 118

Compression:

Stored size: 1.69 KB

Contents

module RecordSelect
  def self.included(base)
    base.send :extend, ClassMethods
  end

  module ClassMethods
    # Enables and configures RecordSelect on your controller.
    #
    # *Options*
    # +model+::     defaults based on the name of the controller
    # +per_page+::  records to show per page when browsing
    # +notify+::    a method name to invoke when a record has been selected.
    # +order_by+::  a SQL string to order the search results
    # +search_on+:: an array of searchable fields
    # +full_text_search+::  a boolean for whether to use a %?% search pattern or not. default is false.
    # +label+::     a proc that accepts a record as argument and returns an option label. default is to call record.to_label instead.
    # +include+::   as for ActiveRecord::Base#find. can help with search conditions or just help optimize rendering the results.
    # +link+::      a boolean for whether wrap the text returned by label in a link or not. default is true. set to false when
    #               label returns html code which can't be inside a tag. You can use record_select_link_to_select in your proc
    #               or partial to add a link to select action
    #
    # You may also pass a block, which will be used as options[:notify].
    def record_select(options = {})
      options[:model] ||= self.to_s.split('::').last.sub(/Controller$/, '').pluralize.singularize.underscore
      @record_select_config = RecordSelect::Config.new(options.delete(:model), options)
      self.send :include, RecordSelect::Actions
      self.send :include, RecordSelect::Conditions
    end

    attr_reader :record_select_config

    def uses_record_select?
      !record_select_config.nil?
    end
  end
end

Version data entries

118 entries across 118 versions & 3 rubygems

Version Path
recordselect_vho-4.0.0 lib/record_select.rb
recordselect_vho-3.1.104 lib/record_select.rb
recordselect_vho-3.1.103 lib/record_select.rb
recordselect-3.2.6 lib/record_select.rb
recordselect_vho-3.1.102 lib/record_select.rb
recordselect-3.2.4 lib/record_select.rb
six-updater-web-0.24.15 lib/six-updater-web/vendor/plugins/recordselect/lib/record_select.rb
six-updater-web-0.24.14 lib/six-updater-web/vendor/plugins/recordselect/lib/record_select.rb
six-updater-web-0.24.13 lib/six-updater-web/vendor/plugins/recordselect/lib/record_select.rb
recordselect-3.2.3 lib/record_select.rb
recordselect-3.2.2 lib/record_select.rb
recordselect-3.2.1 lib/record_select.rb
recordselect-3.2.0 lib/record_select.rb
recordselect-3.1.9 lib/record_select.rb
recordselect_vho-3.1.101 lib/record_select.rb
recordselect-3.1.8 lib/record_select.rb
recordselect_vho-3.1.100 lib/record_select.rb
recordselect-3.1.7 lib/record_select.rb
recordselect-3.1.6 lib/record_select.rb
recordselect-3.1.5 lib/record_select.rb