xsdk-scaffold-rails 0.1.9 → 0.1.12

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: 4de7a337b36092618e2f8c4d13b22cac4b6427a7ab4b3631c03236f9cbd9735b
4
- data.tar.gz: 338b0258c5a76e1cab60ec800080352317f695546ef5957e04985b73e8157ee5
3
+ metadata.gz: 28851d6c097ba72105793a5a26aed4eedd9ae413da24c802d02af1afbafa428b
4
+ data.tar.gz: a5ffc5bc72948b77f3c0758b0cfe4b66520d1f429c3463d29067a79e2b469107
5
5
  SHA512:
6
- metadata.gz: aa6ffd5f544cdbb8fd943b9c076f958644bc2841010d058e9c4a57d0688d166f180df6a2a9fe5d2513fa93b6db1bcb2860bc013442bb024f6944cb43007a50a6
7
- data.tar.gz: 820733e0d444a5cdcb03564d8611c3cb763859d4343edead5f6668db425ac18694160fce65a2a9f83e1a2da373b24a8110b807f22182a7b02ab146b58e02c204
6
+ metadata.gz: db15834104004ab36312f8a547fd147dc81d825f65df98e6cb7301d3b20e5a9bb65aafd9624cbf2f7b967b7837184e2476c7340ddba1b1219aea3d37952082ae
7
+ data.tar.gz: 037ec03650a94222c3a9f6ab003f63ce9168c6497018e50bc566ae7fe024c65b8a1cb8cd306fe106d3449cf715f0430ab1bc9eabaca64f0f570a6c5e42a44460
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xsdk-scaffold-rails (0.1.7)
4
+ xsdk-scaffold-rails (0.1.12)
5
5
  activerecord (>= 6.0.0)
6
6
  pg (>= 1.1)
7
7
 
@@ -42,7 +42,7 @@ GEM
42
42
  parallel (1.20.1)
43
43
  parser (3.0.1.1)
44
44
  ast (~> 2.4.1)
45
- pg (1.2.3)
45
+ pg (1.3.5)
46
46
  racc (1.5.2)
47
47
  rack (2.2.3)
48
48
  rainbow (3.0.0)
@@ -127,4 +127,4 @@ DEPENDENCIES
127
127
  xsdk-scaffold-rails!
128
128
 
129
129
  BUNDLED WITH
130
- 2.2.17
130
+ 2.3.10
@@ -28,10 +28,16 @@ module Xsdk
28
28
  sort = @options[:sortBy]
29
29
  direction = @options[:sortDesc]
30
30
  order_string = sort.map.with_index { |k, idx| "#{sorting_map[k.to_sym]} #{direction[idx] ? 'DESC' : 'ASC'}" }
31
- data.limit(per_page)
32
- .offset(page * per_page)
33
- .order(order_string)
34
- .as_json(methods: methods + enum_methods, except: keys_to_exclude, include: has_many_include)
31
+
32
+ if per_page > 0
33
+ data = data.limit(per_page).offset(page * per_page)
34
+ end
35
+
36
+ data.order(order_string).as_json(
37
+ methods: methods + enum_methods,
38
+ except: keys_to_exclude,
39
+ include: has_many_include
40
+ )
35
41
  end
36
42
 
37
43
  def keys_to_exclude
@@ -61,7 +67,7 @@ module Xsdk
61
67
  table_name = @foreign_keys[key][0][:class_name].constantize.table_name
62
68
  "#{table_name}.#{value[:source]} AS #{value[:relation]}_#{value[:source]}"
63
69
  end
64
- data = data.select("#{@clazz.to_s.underscore.pluralize}.*", *to_select)
70
+ data = data.select("#{@clazz.table_name}.*", *to_select)
65
71
 
66
72
  associations.select { |_k, v| v[:association_type] == :has_many }.each do |_, v|
67
73
  data = data.includes(v[:join]).references(v[:join])
@@ -89,7 +95,7 @@ module Xsdk
89
95
 
90
96
  # Build columns
91
97
  def build_headers
92
- headers = columns.map do |c|
98
+ headers = columns_orderd.map do |c|
93
99
  {
94
100
  value: c, # warehouse_id
95
101
  table_value: get_table_value(c), # "mag1"
@@ -167,6 +173,14 @@ module Xsdk
167
173
  @options[:transient_columns] || {}
168
174
  end
169
175
 
176
+ def column_name_ordered_list
177
+ []
178
+ end
179
+
180
+ def columns_orderd
181
+ column_name_ordered_list + (columns - column_name_ordered_list)
182
+ end
183
+
170
184
  def columns
171
185
  @clazz.column_names - %w[created_at updated_at] + transient_columns.keys
172
186
  end
@@ -1,7 +1,7 @@
1
1
  module Xsdk
2
2
  module Scaffold
3
3
  module Rails
4
- VERSION = "0.1.9"
4
+ VERSION = "0.1.12"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xsdk-scaffold-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davide Croci
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-20 00:00:00.000000000 Z
11
+ date: 2022-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord