<commit_before>class Dashboard < ActiveRecord::Base
end

class User < ActiveRecord::Base
  belongs_to :role
  belongs_to :company
  has_many :tasks

  filter_by :name, :email 
  filter_by :custom_filter, custom: true

  def self.by_custom_filter(value)
    where('name LIKE ?', value)
  end
end

class Role <ActiveRecord::Base
  has_one :user
end

class Company < ActiveRecord::Base
  has_many :projects

  filter_by :title
  filter_by :projects_tasks_name, joins: { projects: :tasks }
end

class Project < ActiveRecord::Base
  belongs_to :company
  has_many :tasks

  filter_by :tasks_title, joins: :tasks
end

class Task < ActiveRecord::Base
  belongs_to :project
  belongs_to :user

  filter_by :user_id
end
<commit_msg>add more filters in dummy app<commit_after>class Dashboard < ActiveRecord::Base
end

class User < ActiveRecord::Base
  belongs_to :role
  belongs_to :company
  has_many :tasks

  filter_by :name, :email 
  filter_by :custom_filter, custom: true

  def self.by_custom_filter(value)
    where('name LIKE ?', value)
  end
end

class Role <ActiveRecord::Base
  has_one :user
end

class Company < ActiveRecord::Base
  has_many :projects

  filter_by :title
  filter_by :projects_tasks_name, joins: { projects: :tasks }
  filter_by :projects_deadline_on, joins: :projects
end

class Project < ActiveRecord::Base
  belongs_to :company
  has_many :tasks

  filter_by :tasks_title, joins: :tasks
  filter_by :deadline_on
end

class Task < ActiveRecord::Base
  belongs_to :project
  belongs_to :user

  filter_by :user_id
  filter_by :finished_at
end

{'fraction_non_alphanumeric': 0.07800511508951406, 'fraction_numerical': 0.0, 'mean_word_length': 4.7536764705882355, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5183383', 'n_tokens_mistral': 533, 'n_tokens_neox': 523, 'n_words': 149}