like_query 0.0.8 → 0.0.10

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: c46b541528f87a7bd078c47eaa7bc264503ff6b1c333af0caf18aacb2beea24c
4
- data.tar.gz: 8d5d867c0707f5cfe827a4d55082434d5e02bec45528f04737a8927746388fcd
3
+ metadata.gz: bc4a3562c9d002c102211f00d8601395dc5aec93966b82a79d23a5f9b300d3ae
4
+ data.tar.gz: 9d38c87fa3900aefb5e9a18ac9196ed547bd50452f0cc8da3228e2cb7345ab33
5
5
  SHA512:
6
- metadata.gz: aaf145febd6f66ee1549dd8d2d5b5285d1c191f6e5759519ec5053eb88a6055c087411ab3d4962afb282d3c208f439f9a7fad5f852797a3466e93c22238f6aba
7
- data.tar.gz: 7097e44705ad35add8233002e3db0e0b20330525197a3dcc4d15070e43d38f03221c3f2e9902e8677ee6e273e68e6eaf4490d6bc825ce82fdce2722d0301dd2d
6
+ metadata.gz: 27139acd2fb75cd01b1d7e4853ec13ed969bfa684a6303e9091aa8e5049259f61f1ad18d2f647a2a3e1a74af80b685e585f39129377146abcc616231a2a90948
7
+ data.tar.gz: 0f9f0794416e3f0d4a63b75accef14b5e6efd8f716652386e7b5c8c9c4b692d140e16ccdbb8cd513abb9d2cd922c9ad036be13634b43496a41982054382045c2
@@ -24,7 +24,7 @@ module LikeQuery
24
24
  @schemes[model.to_s] = schema_to_hash(schema)
25
25
  end
26
26
 
27
- def collect(output_schema = nil, limit: nil, parent: nil, image: nil, &block)
27
+ def collect(output_schema = nil, limit: nil, parent: nil, image: nil, url: nil, &block)
28
28
 
29
29
  _limit = (limit ? (@limit && @limit < limit ? @limit : limit) : @limit)
30
30
  return false if @length >= _limit
@@ -60,7 +60,7 @@ module LikeQuery
60
60
 
61
61
  if parent
62
62
  parent_record = rec.send(parent)
63
- r = record_to_hash(rec, schema, image, parent_record)
63
+ r = record_to_hash(rec, schema, image, parent_record, url: url)
64
64
  parent_class_name = parent_record.class.to_s
65
65
  parent_key = "#{parent_class_name}#{parent_record.id}"
66
66
 
@@ -76,7 +76,7 @@ module LikeQuery
76
76
  @data[parent_key][:children] ||= []
77
77
  @data[parent_key][:children].push(r)
78
78
  else
79
- r = record_to_hash(rec, schema, image)
79
+ r = record_to_hash(rec, schema, image, url: url)
80
80
  @data["#{rec.class}#{rec.id}"] = r
81
81
  end
82
82
  c = (@image ? 1 : 0) + r[:values].to_a.length
@@ -109,7 +109,7 @@ module LikeQuery
109
109
 
110
110
  private
111
111
 
112
- def record_to_hash(record, schema, image, parent = nil)
112
+ def record_to_hash(record, schema, image, parent = nil, url: nil)
113
113
  r = {}
114
114
  schema[:values].each do |k|
115
115
  v = get_column_value(record, k)
@@ -126,6 +126,7 @@ module LikeQuery
126
126
  r[:model] = record.class.to_s
127
127
  end
128
128
  r[:image] = record.send(image) if image
129
+ r[:url] = url.yield(record) if url
129
130
  r
130
131
  end
131
132
 
@@ -53,15 +53,15 @@ module LikeQuery
53
53
  end
54
54
  end
55
55
 
56
- def generate_hash(output_schema = nil, limit: 50, image: nil)
56
+ def generate_hash(output_schema = nil, limit: 50, image: nil, url: nil)
57
57
  c = LikeQuery::Collect.new(limit)
58
- c.collect(output_schema, limit: limit, image: image) { all }
58
+ c.collect(output_schema, limit: limit, image: image, url: url) { all }
59
59
  c.generate_hash
60
60
  end
61
61
 
62
- def generate_json(output_schema = nil, limit: 50, image: nil)
62
+ def generate_json(output_schema = nil, limit: 50, image: nil, url: nil)
63
63
  c = LikeQuery::Collect.new(limit)
64
- c.collect(output_schema, limit: limit, image: image) { all }
64
+ c.collect(output_schema, limit: limit, image: image, url: url) { all }
65
65
  c.generate_json
66
66
  end
67
67
 
@@ -1,3 +1,3 @@
1
1
  module LikeQuery
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: like_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - christian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-01 00:00:00.000000000 Z
11
+ date: 2023-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails