module MessageTrain::ClassMethods

Extended when message_train mixin is run

Public Instance Methods

collective?() click to toggle source
# File lib/message_train/class_methods.rb, line 47
def collective?
  valid_senders_method != :self_collection
end
find_by_message_train_slug(slug) click to toggle source
# File lib/message_train/class_methods.rb, line 16
def find_by_message_train_slug(slug)
  find_by(slug_column => slug.strip)
end
message_train_address_book(for_participant) click to toggle source
# File lib/message_train/class_methods.rb, line 4
def message_train_address_book(for_participant)
  method = MessageTrain.configuration.address_book_methods[
    message_train_table_sym
  ]
  method ||= MessageTrain.configuration.address_book_method
  if method.present? && respond_to?(method)
    send(method, for_participant)
  else
    all
  end
end
name_column() click to toggle source
# File lib/message_train/class_methods.rb, line 31
def name_column
  MessageTrain.configuration.name_columns[message_train_table_sym] || :name
end
slug_column() click to toggle source
# File lib/message_train/class_methods.rb, line 27
def slug_column
  MessageTrain.configuration.slug_columns[message_train_table_sym] || :slug
end
valid_recipients_method() click to toggle source
# File lib/message_train/class_methods.rb, line 41
def valid_recipients_method
  MessageTrain.configuration
              .valid_recipients_methods[message_train_table_sym] ||
    :self_collection
end
valid_senders_method() click to toggle source
# File lib/message_train/class_methods.rb, line 35
def valid_senders_method
  MessageTrain.configuration
              .valid_senders_methods[message_train_table_sym] ||
    :self_collection
end
where_slug_starts_with(string) click to toggle source
# File lib/message_train/class_methods.rb, line 20
def where_slug_starts_with(string)
  return where(nil) unless string.present?
  pattern = Regexp.union('\\', '%', '_')
  string = string.gsub(pattern) { |x| ['\\', x].join }
  where("#{slug_column} LIKE ?", "#{string}%")
end