arql 0.4.2 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.vscode/launch.json +18 -2
- data/Gemfile.lock +1 -1
- data/lib/arql/definition.rb +16 -0
- data/lib/arql/ext/active_record/base.rb +27 -0
- data/lib/arql/version.rb +1 -1
- data/lib/arql.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14f47987d63ecc0665d5cce2b8b503ffeff2587f6235499138f6d6da22fc104c
|
4
|
+
data.tar.gz: aa143c6f15dd4e2df5f79a992547548938ba59fd8126f9bfdfeaa2dcb83f0cef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0863699e29b5c7ec31db4359657e7c3d3010f2ca5636484c9f93a2e1826f06e6daf846aad678a5a59d8b0414eb9470058788143cdafc8187e653c43916d29b5a'
|
7
|
+
data.tar.gz: fe913b85a782e139af4d1751d54fc9f33178eed8a202b593acb81f5db02c13af71e86e817f234285c6350970324000f42dc5422107fe8f2877bb8fedce235c22
|
data/.vscode/launch.json
CHANGED
@@ -6,12 +6,15 @@
|
|
6
6
|
"configurations": [
|
7
7
|
{
|
8
8
|
"type": "rdbg",
|
9
|
-
"name": "Debug
|
9
|
+
"name": "Debug Arql",
|
10
10
|
"request": "launch",
|
11
11
|
"script": "exe/arql",
|
12
12
|
"command": "bundle exec",
|
13
13
|
"useTerminal": true,
|
14
|
-
"args": [
|
14
|
+
"args": [
|
15
|
+
"-e",
|
16
|
+
"${input:env}"
|
17
|
+
],
|
15
18
|
"askParameters": false
|
16
19
|
},
|
17
20
|
{
|
@@ -19,5 +22,18 @@
|
|
19
22
|
"name": "Attach with rdbg",
|
20
23
|
"request": "attach"
|
21
24
|
}
|
25
|
+
],
|
26
|
+
"inputs": [
|
27
|
+
{
|
28
|
+
"id": "env",
|
29
|
+
"type": "command",
|
30
|
+
"command": "extension.commandvariable.pickStringRemember",
|
31
|
+
"args": {
|
32
|
+
"fileName": "${userHome}/.arql.d/init.yml",
|
33
|
+
"pattern": {
|
34
|
+
"regexp": "^([\\w\\.]+):.*"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
22
38
|
]
|
23
39
|
}
|
data/Gemfile.lock
CHANGED
data/lib/arql/definition.rb
CHANGED
@@ -17,6 +17,20 @@ module Arql
|
|
17
17
|
}
|
18
18
|
end.t
|
19
19
|
end
|
20
|
+
|
21
|
+
define_singleton_method(:like) do |**args|
|
22
|
+
send(:ransack, "#{args.keys.first}_cont" => args.values.first).result
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.method_missing(method_name, *args, &block)
|
26
|
+
if method_name.to_s =~ /^(.+)_like$/
|
27
|
+
attr_name = $1.to_sym
|
28
|
+
return super unless respond_to?(attr_name)
|
29
|
+
send(:like, $1 => args.first)
|
30
|
+
else
|
31
|
+
super
|
32
|
+
end
|
33
|
+
end
|
20
34
|
end
|
21
35
|
|
22
36
|
class Definition
|
@@ -130,6 +144,8 @@ module Arql
|
|
130
144
|
end
|
131
145
|
self.table_name = table_name
|
132
146
|
self.inheritance_column = nil
|
147
|
+
order_column = options[:order_column]
|
148
|
+
self.implicit_order_column = order_column if order_column
|
133
149
|
ActiveRecord.default_timezone = :local
|
134
150
|
if options[:created_at].present?
|
135
151
|
define_singleton_method :timestamp_attributes_for_create do
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Ransack
|
2
|
+
module Adapters
|
3
|
+
module ActiveRecord
|
4
|
+
module Base
|
5
|
+
def ransack(params = {}, options = {})
|
6
|
+
old_base_connection = ::ActiveRecord::Base.method(:connection)
|
7
|
+
connection_obj = connection
|
8
|
+
::ActiveRecord::Base.define_singleton_method(:connection) { connection_obj }
|
9
|
+
Search.new(self, params, options)
|
10
|
+
ensure
|
11
|
+
::ActiveRecord::Base.define_singleton_method(:connection, old_base_connection)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class Search
|
18
|
+
def result(opts = {})
|
19
|
+
old_base_connection = ::ActiveRecord::Base.method(:connection)
|
20
|
+
connection_obj = @context.klass.connection
|
21
|
+
::ActiveRecord::Base.define_singleton_method(:connection) { connection_obj }
|
22
|
+
@context.evaluate(self, opts)
|
23
|
+
ensure
|
24
|
+
::ActiveRecord::Base.define_singleton_method(:connection, old_base_connection)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/arql/version.rb
CHANGED
data/lib/arql.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Liu Xiang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|
@@ -340,6 +340,7 @@ files:
|
|
340
340
|
- lib/arql/concerns/table_data_definition.rb
|
341
341
|
- lib/arql/definition.rb
|
342
342
|
- lib/arql/ext.rb
|
343
|
+
- lib/arql/ext/active_record/base.rb
|
343
344
|
- lib/arql/ext/active_record/connection_adapters/abstract_mysql_adapter.rb
|
344
345
|
- lib/arql/ext/active_record/connection_adapters/postgresql/schema_statements.rb
|
345
346
|
- lib/arql/ext/active_record/relation.rb
|