recursifier 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9377da0704e74c9cff7c6f8b170c2f95601af14e6fc707b1a377137862bb7c12
4
- data.tar.gz: 47da562f93257c3e83c4db12c57ae474954aaebf0f3a12c5e082859617478764
3
+ metadata.gz: 7222c9df26b3ed88f80291cc7a6572abfca30bd84924bf8c32f399a09bf0aa71
4
+ data.tar.gz: c5cdcd742ceee2def0c7c1b199fbd7ad9186c3632d3ad194fa670ff1311628f2
5
5
  SHA512:
6
- metadata.gz: 449d00f6335ca6c1f4c8c527eaddc7c60932e95225253dfe25e44f4d88fe150e9c92953537bf88c0789a39712571b5f6438215bac0d31ef02c1dfedaea2734cd
7
- data.tar.gz: f508864e8bee585a63f6f96e4cd2664ccc45f231d5e453f84fb7ffd4d5b02f3aabde5ce356ff07d70f1d91e00cb7665d6ae4088c503536059eebfb95a57096f9
6
+ metadata.gz: 8d4accda36465e79b607b38da901ae05e13e82bc87273540896b233074395aafd55315493990f551ecfc14205efc6d773f1c163ac3d623544b2ba1399f53a516
7
+ data.tar.gz: c834aaa17bc2279df4b9cd324cbdd2d1a31a1704a900353aedc990351059ded8aac01e26adbe3baf4cb7eecd4406661324b5c361a479967abacc9d20b2cb0ddc
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Recursifier
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
data/lib/recursifier.rb CHANGED
@@ -23,6 +23,8 @@ module Recursifier
23
23
  filter_conditions = filters.map { |key, value| "#{key} = '#{value}'" }.join(' AND ')
24
24
 
25
25
  # Convert selected_columns array into comma-separated column names
26
+ selected_columns_sub_str = selected_columns.empty? ? '*' : selected_columns.map { |col| "t.#{col}" }.join(', ')
27
+
26
28
  selected_columns_str = selected_columns.empty? ? '*' : selected_columns.join(', ')
27
29
 
28
30
  # Constructing the recursive query with additional filters and selected columns
@@ -30,7 +32,7 @@ module Recursifier
30
32
  WITH RECURSIVE hierarchy AS (
31
33
  SELECT #{selected_columns_str}, 1 AS depth FROM #{table_name} WHERE #{parent_matching_column} = #{start_id} #{filter_conditions}
32
34
  UNION ALL
33
- SELECT #{selected_columns_str}, h.depth + 1 FROM #{table_name} t
35
+ SELECT #{selected_columns_sub_str}, h.depth + 1 FROM #{table_name} t
34
36
  JOIN hierarchy h ON t.#{sub_matching_column} = h.#{parent_matching_column} WHERE h.depth < #{max_depth}
35
37
  )
36
38
  SELECT #{selected_columns_str} FROM hierarchy;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recursifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jana