xsdk-scaffold-rails 0.1.1 → 0.1.4.3

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: 92df0251cb970dfc1284dba7de88c6f63a583de44d993e84eb2753cb69f5f8cc
4
- data.tar.gz: 3603f6f28bd20bf8c2339e21dd12aa0a1cd40cb35c80b3df7e3c6b5ef27abccf
3
+ metadata.gz: 8137485ac88425560227d41abc1616a13a7a1868e7b9663ea0b3161f6b6b9e37
4
+ data.tar.gz: dc8f81e0ea31be00347837417e1ce3ae666a602b83e7f7fb528763cc568fd52f
5
5
  SHA512:
6
- metadata.gz: b87c60fa9c7434a9b74ea918b4b7e38f412d976255e22ec2a6e16c7d896ee2dac5e4c8ad09ff027c43ec3bf4a69b97711e8093d5c18299dbe7880c5e0001c0a2
7
- data.tar.gz: 65eb42abf5de19681067a7b9f125b0d4d738571914fca03cf5be3b2c50049b1983d28bc267311a2de3564d7a4a444efb2134d364d3b915ab952e61f58271a4ae
6
+ metadata.gz: ac50a6a9ef3b080ea7ab2e183645d87a42f2e2573bbe876051e5ae8624d137966405b048b93ce59741aed06d9f9a7e348dd481f3a46545e8cf2a17308f39014f
7
+ data.tar.gz: 52d2f9c5dcf6da229d90a97f7adf4f720a4f3db3e55d13bcc33585479eef50c490cc0219537f9cf1e584a981042bbd5ef4453257ca062f3c2df02e45c14f6b27
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ xsdk-scaffold-rails
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-3.0.0
data/Gemfile CHANGED
@@ -3,7 +3,5 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in xsdk-scaffold-rails.gemspec
4
4
  gemspec
5
5
 
6
- gem 'rails', '~> 6.0.0.0'
7
-
8
6
  gem "rake", "~> 12.0"
9
7
  gem "rspec", "~> 3.0"
data/Gemfile.lock CHANGED
@@ -1,130 +1,34 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xsdk-scaffold-rails (0.1.0)
5
- activerecord (~> 6.0.0)
6
- pg (~> 1.1)
4
+ xsdk-scaffold-rails (0.1.4.3)
5
+ activerecord (>= 6.0.0)
6
+ pg (>= 1.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (6.0.0)
12
- actionpack (= 6.0.0)
13
- nio4r (~> 2.0)
14
- websocket-driver (>= 0.6.1)
15
- actionmailbox (6.0.0)
16
- actionpack (= 6.0.0)
17
- activejob (= 6.0.0)
18
- activerecord (= 6.0.0)
19
- activestorage (= 6.0.0)
20
- activesupport (= 6.0.0)
21
- mail (>= 2.7.1)
22
- actionmailer (6.0.0)
23
- actionpack (= 6.0.0)
24
- actionview (= 6.0.0)
25
- activejob (= 6.0.0)
26
- mail (~> 2.5, >= 2.5.4)
27
- rails-dom-testing (~> 2.0)
28
- actionpack (6.0.0)
29
- actionview (= 6.0.0)
30
- activesupport (= 6.0.0)
31
- rack (~> 2.0)
32
- rack-test (>= 0.6.3)
33
- rails-dom-testing (~> 2.0)
34
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
35
- actiontext (6.0.0)
36
- actionpack (= 6.0.0)
37
- activerecord (= 6.0.0)
38
- activestorage (= 6.0.0)
39
- activesupport (= 6.0.0)
40
- nokogiri (>= 1.8.5)
41
- actionview (6.0.0)
42
- activesupport (= 6.0.0)
43
- builder (~> 3.1)
44
- erubi (~> 1.4)
45
- rails-dom-testing (~> 2.0)
46
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
47
- activejob (6.0.0)
48
- activesupport (= 6.0.0)
49
- globalid (>= 0.3.6)
50
- activemodel (6.0.0)
51
- activesupport (= 6.0.0)
52
- activerecord (6.0.0)
53
- activemodel (= 6.0.0)
54
- activesupport (= 6.0.0)
55
- activestorage (6.0.0)
56
- actionpack (= 6.0.0)
57
- activejob (= 6.0.0)
58
- activerecord (= 6.0.0)
59
- marcel (~> 0.3.1)
60
- activesupport (6.0.0)
11
+ activemodel (6.0.3.6)
12
+ activesupport (= 6.0.3.6)
13
+ activerecord (6.0.3.6)
14
+ activemodel (= 6.0.3.6)
15
+ activesupport (= 6.0.3.6)
16
+ activesupport (6.0.3.6)
61
17
  concurrent-ruby (~> 1.0, >= 1.0.2)
62
18
  i18n (>= 0.7, < 2)
63
19
  minitest (~> 5.1)
64
20
  tzinfo (~> 1.1)
65
- zeitwerk (~> 2.1, >= 2.1.8)
21
+ zeitwerk (~> 2.2, >= 2.2.2)
66
22
  ast (2.4.2)
67
- builder (3.2.4)
68
23
  concurrent-ruby (1.1.8)
69
- crass (1.0.6)
70
24
  diff-lcs (1.4.4)
71
- erubi (1.10.0)
72
- globalid (0.4.2)
73
- activesupport (>= 4.2.0)
74
25
  i18n (1.8.10)
75
26
  concurrent-ruby (~> 1.0)
76
- loofah (2.9.1)
77
- crass (~> 1.0.2)
78
- nokogiri (>= 1.5.9)
79
- mail (2.7.1)
80
- mini_mime (>= 0.1.1)
81
- marcel (0.3.3)
82
- mimemagic (~> 0.3.2)
83
- method_source (1.0.0)
84
- mimemagic (0.3.10)
85
- nokogiri (~> 1)
86
- rake
87
- mini_mime (1.1.0)
88
- mini_portile2 (2.5.1)
89
27
  minitest (5.14.4)
90
- nio4r (2.5.7)
91
- nokogiri (1.11.3)
92
- mini_portile2 (~> 2.5.0)
93
- racc (~> 1.4)
94
28
  parallel (1.20.1)
95
29
  parser (3.0.1.1)
96
30
  ast (~> 2.4.1)
97
31
  pg (1.2.3)
98
- racc (1.5.2)
99
- rack (2.2.3)
100
- rack-test (1.1.0)
101
- rack (>= 1.0, < 3)
102
- rails (6.0.0)
103
- actioncable (= 6.0.0)
104
- actionmailbox (= 6.0.0)
105
- actionmailer (= 6.0.0)
106
- actionpack (= 6.0.0)
107
- actiontext (= 6.0.0)
108
- actionview (= 6.0.0)
109
- activejob (= 6.0.0)
110
- activemodel (= 6.0.0)
111
- activerecord (= 6.0.0)
112
- activestorage (= 6.0.0)
113
- activesupport (= 6.0.0)
114
- bundler (>= 1.3.0)
115
- railties (= 6.0.0)
116
- sprockets-rails (>= 2.0.0)
117
- rails-dom-testing (2.0.3)
118
- activesupport (>= 4.2.0)
119
- nokogiri (>= 1.6)
120
- rails-html-sanitizer (1.3.0)
121
- loofah (~> 2.3)
122
- railties (6.0.0)
123
- actionpack (= 6.0.0)
124
- activesupport (= 6.0.0)
125
- method_source
126
- rake (>= 0.8.7)
127
- thor (>= 0.20.3, < 2.0)
128
32
  rainbow (3.0.0)
129
33
  rake (12.3.3)
130
34
  regexp_parser (2.1.1)
@@ -160,28 +64,17 @@ GEM
160
64
  rubocop (~> 1.0)
161
65
  rubocop-ast (>= 1.1.0)
162
66
  ruby-progressbar (1.11.0)
163
- sprockets (4.0.2)
164
- concurrent-ruby (~> 1.0)
165
- rack (> 1, < 3)
166
- sprockets-rails (3.2.2)
167
- actionpack (>= 4.0)
168
- activesupport (>= 4.0)
169
- sprockets (>= 3.0.0)
170
- thor (1.1.0)
171
67
  thread_safe (0.3.6)
172
68
  tzinfo (1.2.9)
173
69
  thread_safe (~> 0.1)
174
70
  unicode-display_width (1.7.0)
175
- websocket-driver (0.7.3)
176
- websocket-extensions (>= 0.1.0)
177
- websocket-extensions (0.1.5)
178
71
  zeitwerk (2.4.2)
179
72
 
180
73
  PLATFORMS
181
74
  ruby
75
+ x86_64-darwin-20
182
76
 
183
77
  DEPENDENCIES
184
- rails (~> 6.0.0.0)
185
78
  rake (~> 12.0)
186
79
  rspec (~> 3.0)
187
80
  rubocop (~> 1.3.1)
@@ -190,4 +83,4 @@ DEPENDENCIES
190
83
  xsdk-scaffold-rails!
191
84
 
192
85
  BUNDLED WITH
193
- 2.1.4
86
+ 2.2.17
@@ -1,5 +1,7 @@
1
1
  require "xsdk/scaffold/rails/version"
2
- require "xsdk/scaffold/rails/base"
2
+ require "xsdk/scaffold/rails/base_datatable"
3
+ require "xsdk/scaffold/rails/base_search"
4
+ require "xsdk/scaffold/rails/errors"
3
5
 
4
6
  module Xsdk
5
7
  module Scaffold
@@ -40,8 +40,12 @@ module Xsdk
40
40
  enum_methods
41
41
  end
42
42
 
43
+ def get_raw_data
44
+ @clazz.all
45
+ end
46
+
43
47
  def get_data
44
- data = @clazz.all
48
+ data = get_raw_data
45
49
  associations.reject { |_k, v| v[:association_type] == :has_many }.each do |_, value|
46
50
  data = data.joins(value[:relation])
47
51
  end
@@ -0,0 +1,25 @@
1
+ module Xsdk
2
+ module Scaffold
3
+ module Rails
4
+
5
+ class BaseSearch
6
+ def initialize(params, clazz)
7
+ @clazz = clazz
8
+ @query = "%#{params[:query]}%"
9
+ @limit = params[:limit].try(:to_i) || 5
10
+ @columns = params[:columns] || %w[id]
11
+ @source = @clazz.connection.quote_column_name(params[:source])
12
+ end
13
+
14
+ def as_json(*)
15
+ search.as_json(only: @columns, methods: @columns)
16
+ end
17
+
18
+ def search
19
+ @clazz.where(" #{@source}::text ILIKE ? ", @query).limit(@limit)
20
+ end
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ module Xsdk
3
+ module Scaffold
4
+ module Rails
5
+ module Errors
6
+ extend ActiveSupport::Concern
7
+
8
+ def errors
9
+ local_errors = super()
10
+ keys = self.class.reflect_on_all_associations.select do |assoc|
11
+ self.class.nested_attributes_options.key? assoc.name
12
+ end
13
+ keys.each do |assoc|
14
+ name_assoc = assoc.name
15
+ local_errors.delete(name_assoc)
16
+ model_assoc = send(name_assoc)
17
+ next if model_assoc.nil?
18
+
19
+ row_errors = {}
20
+ if assoc.macro == :belongs_to
21
+ row_errors[model_assoc._uuid] = model_assoc.errors.messages if model_assoc.errors.messages.keys.any?
22
+ else
23
+ model_assoc.each do |row|
24
+ row_errors[row._uuid] = row.errors.messages if row.errors.messages.keys.any?
25
+ end
26
+ end
27
+ local_errors.add(name_assoc, row_errors) if row_errors.keys.any?
28
+ end
29
+ local_errors
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
@@ -1,7 +1,7 @@
1
1
  module Xsdk
2
2
  module Scaffold
3
3
  module Rails
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.4.3"
5
5
  end
6
6
  end
7
7
  end
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ["lib"]
28
28
 
29
- spec.add_runtime_dependency 'activerecord', '~> 6.0.0'
30
- spec.add_runtime_dependency 'pg', '~> 1.1'
29
+ spec.add_runtime_dependency 'activerecord', '>= 6.0.0'
30
+ spec.add_runtime_dependency 'pg', '>= 1.1'
31
31
 
32
32
  spec.add_development_dependency 'rubocop', '~> 1.3.1'
33
33
  spec.add_development_dependency 'rubocop-performance', '~> 1.9.0'
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xsdk-scaffold-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.4.3
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-05-03 00:00:00.000000000 Z
11
+ date: 2021-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 6.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 6.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pg
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.1'
41
41
  - !ruby/object:Gem::Dependency
@@ -90,6 +90,8 @@ files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
92
  - ".rubocop.yml"
93
+ - ".ruby-gemset"
94
+ - ".ruby-version"
93
95
  - ".travis.yml"
94
96
  - Gemfile
95
97
  - Gemfile.lock
@@ -98,7 +100,9 @@ files:
98
100
  - bin/console
99
101
  - bin/setup
100
102
  - lib/xsdk/scaffold/rails.rb
101
- - lib/xsdk/scaffold/rails/base.rb
103
+ - lib/xsdk/scaffold/rails/base_datatable.rb
104
+ - lib/xsdk/scaffold/rails/base_search.rb
105
+ - lib/xsdk/scaffold/rails/errors.rb
102
106
  - lib/xsdk/scaffold/rails/version.rb
103
107
  - xsdk-scaffold-rails.gemspec
104
108
  homepage: https://ermes-x.com