Sha256: 3bc14e75302c57dcc5ad98582f6c9934c2f3f0d2eb5a9d83cda0b5db764b434f
Contents?: true
Size: 791 Bytes
Versions: 1
Compression:
Stored size: 791 Bytes
Contents
module EasyOrderable class Joiner def initialize(relation, args, custom_association_names) @relation = relation @args = args @custom_association_names = custom_association_names end def call association_names.present? ? relation.joins(*association_names) : relation end private attr_reader :relation, :args, :custom_association_names def association_names table_names.map do |name| if custom_association_names && custom_association_names.key?(name.to_sym) custom_association_names[name.to_sym].to_sym else name.to_sym end end end def table_names args .keys .select{ |e| e.include?('.') } .map { |e| e.split('.').first } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
easy_orderable-0.2.2 | lib/easy_orderable/joiner.rb |