class Komagire::IdList

Public Class Methods

new(content_class_name, cskeys, options = {}) click to toggle source

@param [String] content_class_name @param [String] cskeys comma separated keys @param [Hash] options @option options [Symbol] :primary_Key @option options [String] :delimiter (Komagire::DEFAULT_DELIMITER)

Calls superclass method
# File lib/komagire/id_list.rb, line 10
def initialize(content_class_name, cskeys, options = {})
  key = options.delete(:primary_key) || :id
  super(content_class_name, key, cskeys, options)
end

Public Instance Methods

csids() click to toggle source

comma separated ids

@return [String]

# File lib/komagire/id_list.rb, line 18
def csids
  cskeys
end

Private Instance Methods

_convert(cskeys) click to toggle source
# File lib/komagire/id_list.rb, line 24
def _convert(cskeys)
  Converter.new(@content_class_name, @attribute, @delimiter).convert(cskeys)
end
_find_by_cskeys() click to toggle source
Calls superclass method
# File lib/komagire/id_list.rb, line 28
def _find_by_cskeys
  ancestors = content_class_name.constantize.ancestors.map(&:to_s)
  if ancestors.include?('ActiveHash::Base')
    values = _keys.map { |id| content_class_name.constantize.find_by_id(id) }.compact
    if @sort
      values.sort_by(&:id)
    else
      values
    end
  else
    super
  end
end