ransack 1.8.7 → 1.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.travis.yml +2 -77
- data/CHANGELOG.md +24 -0
- data/CONTRIBUTING.md +9 -0
- data/README.md +56 -26
- data/lib/ransack/adapters.rb +2 -0
- data/lib/ransack/adapters/active_record/context.rb +9 -6
- data/lib/ransack/adapters/active_record/ransack/visitor.rb +19 -0
- data/lib/ransack/locale/nl.yml +4 -4
- data/lib/ransack/version.rb +1 -1
- data/lib/ransack/visitor.rb +0 -5
- data/spec/ransack/adapters/active_record/base_spec.rb +32 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/schema.rb +33 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f61f4b16a29defa380a26e7c29e3470bb61eb98fee71fb2b506b1b7c377f4995
|
4
|
+
data.tar.gz: a08063d09eae00edf1f62dfdcb9df19db195fded6d951a0ddb6ff0dd63885095
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7075b5593e9931a4f5df153e04e2069dbb3b7e65f6463941b5dcfed0abfe6c5eba685b6db246755a98c8268e412d8088855495d14badcb75630c9c9eec86bb81
|
7
|
+
data.tar.gz: 5243186d40445ea7e1087cf1e655139718eca9089b3de1a52780b4aee71a200f7ac241d27c93821703bbe17872f05e740f12669be8cf129d3f1869967f04e2e2
|
data/.travis.yml
CHANGED
@@ -3,10 +3,8 @@ language: ruby
|
|
3
3
|
sudo: false
|
4
4
|
|
5
5
|
rvm:
|
6
|
-
- 2.
|
7
|
-
- 2.2
|
8
|
-
- 2.1.10
|
9
|
-
- 2.0
|
6
|
+
- 2.5
|
7
|
+
- 2.2
|
10
8
|
|
11
9
|
env:
|
12
10
|
- RAILS=5-2-stable DB=sqlite3
|
@@ -21,79 +19,6 @@ env:
|
|
21
19
|
- RAILS=4-2-stable DB=mysql
|
22
20
|
- RAILS=4-2-stable DB=postgres
|
23
21
|
|
24
|
-
- RAILS=4-1-stable DB=sqlite3
|
25
|
-
- RAILS=4-1-stable DB=mysql
|
26
|
-
- RAILS=4-1-stable DB=postgres
|
27
|
-
|
28
|
-
- RAILS=4-0-stable DB=sqlite3
|
29
|
-
- RAILS=4-0-stable DB=mysql
|
30
|
-
- RAILS=4-0-stable DB=postgres
|
31
|
-
|
32
|
-
- RAILS=3-2-stable DB=sqlite
|
33
|
-
- RAILS=3-2-stable DB=mysql
|
34
|
-
- RAILS=3-2-stable DB=postgres
|
35
|
-
|
36
|
-
- RAILS=3-1-stable DB=sqlite
|
37
|
-
- RAILS=3-1-stable DB=mysql
|
38
|
-
- RAILS=3-1-stable DB=postgres
|
39
|
-
|
40
|
-
matrix:
|
41
|
-
exclude:
|
42
|
-
- rvm: 2.1.10
|
43
|
-
env: RAILS=5-2-stable DB=sqlite3
|
44
|
-
- rvm: 2.1.10
|
45
|
-
env: RAILS=5-2-stable DB=mysql
|
46
|
-
- rvm: 2.1.10
|
47
|
-
env: RAILS=5-2-stable DB=postgres
|
48
|
-
|
49
|
-
- rvm: 2.1.10
|
50
|
-
env: RAILS=5-0-stable DB=sqlite3
|
51
|
-
- rvm: 2.1.10
|
52
|
-
env: RAILS=5-0-stable DB=mysql
|
53
|
-
- rvm: 2.1.10
|
54
|
-
env: RAILS=5-0-stable DB=postgres
|
55
|
-
|
56
|
-
- rvm: 2.0
|
57
|
-
env: RAILS=5-2-stable DB=sqlite3
|
58
|
-
- rvm: 2.0
|
59
|
-
env: RAILS=5-2-stable DB=mysql
|
60
|
-
- rvm: 2.0
|
61
|
-
env: RAILS=5-2-stable DB=postgres
|
62
|
-
|
63
|
-
- rvm: 2.0
|
64
|
-
env: RAILS=5-0-stable DB=sqlite3
|
65
|
-
- rvm: 2.0
|
66
|
-
env: RAILS=5-0-stable DB=mysql
|
67
|
-
- rvm: 2.0
|
68
|
-
env: RAILS=5-0-stable DB=postgres
|
69
|
-
|
70
|
-
- rvm: 2.0
|
71
|
-
env: RAILS=4-2-stable DB=sqlite3
|
72
|
-
- rvm: 2.0
|
73
|
-
env: RAILS=4-2-stable DB=mysql
|
74
|
-
- rvm: 2.0
|
75
|
-
env: RAILS=4-2-stable DB=postgres
|
76
|
-
|
77
|
-
include:
|
78
|
-
- rvm: 2.3.3
|
79
|
-
env: RAILS=master DB=sqlite3
|
80
|
-
- rvm: 2.3.3
|
81
|
-
env: RAILS=master DB=mysql
|
82
|
-
- rvm: 2.3.3
|
83
|
-
env: RAILS=master DB=postgres
|
84
|
-
|
85
|
-
- rvm: 2.2.6
|
86
|
-
env: RAILS=master DB=sqlite3
|
87
|
-
- rvm: 2.2.6
|
88
|
-
env: RAILS=master DB=mysql
|
89
|
-
- rvm: 2.2.6
|
90
|
-
env: RAILS=master DB=postgres
|
91
|
-
|
92
|
-
allow_failures:
|
93
|
-
- env: RAILS=master DB=sqlite3
|
94
|
-
- env: RAILS=master DB=mysql
|
95
|
-
- env: RAILS=master DB=postgres
|
96
|
-
|
97
22
|
before_script:
|
98
23
|
- mysql -e 'create database ransack collate utf8_general_ci;'
|
99
24
|
- mysql -e 'use ransack;show variables like "%character%";show variables like "%collation%";'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,29 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## Version 1.8.8 - 2018-03-16
|
4
|
+
* Fix multiple database support
|
5
|
+
PR [#893](https://github.com/activerecord-hackery/ransack/pull/893)
|
6
|
+
|
7
|
+
* Updated Dutch translations
|
8
|
+
PR [#887](https://github.com/activerecord-hackery/ransack/pull/887)
|
9
|
+
|
10
|
+
* Fixed no method error 'asc' for Rails 4.2
|
11
|
+
PR [#885](https://github.com/activerecord-hackery/ransack/pull/885)
|
12
|
+
|
13
|
+
|
14
|
+
## Version 1.8.7 - 2018-02-05
|
15
|
+
|
16
|
+
* Rails 5.2 support
|
17
|
+
PR [#868](https://github.com/activerecord-hackery/ransack/pull/868)
|
18
|
+
|
19
|
+
* Lock pg gem to 0.21 to support older releases
|
20
|
+
|
21
|
+
* Warnings cleanup
|
22
|
+
PR [#867](https://github.com/activerecord-hackery/ransack/pull/867)
|
23
|
+
|
24
|
+
* Wildcard escaping
|
25
|
+
PR [#866]
|
26
|
+
|
3
27
|
## Version 1.8.6 - 2018-01-23
|
4
28
|
|
5
29
|
### Added
|
data/CONTRIBUTING.md
CHANGED
@@ -75,6 +75,15 @@ Here's a quick guide:
|
|
75
75
|
$ DB=pg bundle exec rake spec (`DB=postgres` & `DB=postgresql` work too)
|
76
76
|
$ DB=mysql bundle exec rake spec
|
77
77
|
|
78
|
+
For Postgres and MySQL, databases are expected to exist, called 'ransack'. To create use these commands (assuming OS X and Homebrew):
|
79
|
+
|
80
|
+
### Postgres
|
81
|
+
$ createdb ransack
|
82
|
+
|
83
|
+
### MySQL
|
84
|
+
$ mysql -u root
|
85
|
+
mysql> create database ransack;
|
86
|
+
|
78
87
|
To run only the tests in a particular file: `rspec <path/to/filename>`
|
79
88
|
|
80
89
|
$ rspec spec/ransack/search_spec.rb
|
data/README.md
CHANGED
@@ -27,13 +27,11 @@ instead.
|
|
27
27
|
If you're viewing this at
|
28
28
|
[github.com/activerecord-hackery/ransack](https://github.com/activerecord-hackery/ransack),
|
29
29
|
you're reading the documentation for the master branch with the latest features.
|
30
|
-
[View documentation for the last release (1.8.
|
30
|
+
[View documentation for the last release (1.8.8).](https://github.com/activerecord-hackery/ransack/tree/v1.8.8)
|
31
31
|
|
32
32
|
## Getting started
|
33
33
|
|
34
|
-
Ransack is compatible with Rails
|
35
|
-
JRuby 9 ought to work as well (see
|
36
|
-
[this](https://github.com/activerecord-hackery/polyamorous/issues/17)).
|
34
|
+
Ransack is compatible with Rails 4.2 and 5.0, 5.1 and 5.2 on Ruby 2.2 and later.
|
37
35
|
If you are using Ruby 1.8 or an earlier JRuby and run into compatibility
|
38
36
|
issues, you can use an earlier version of Ransack, say, up to 1.3.0.
|
39
37
|
|
@@ -412,28 +410,60 @@ query parameters in your URLs.
|
|
412
410
|
|
413
411
|
List of all possible predicates
|
414
412
|
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
413
|
+
|
414
|
+
| Predicate | Description | Notes |
|
415
|
+
| ------------- | ------------- |-------- |
|
416
|
+
| `*_eq` | equal | |
|
417
|
+
| `*_not_eq` | not equal | |
|
418
|
+
| `*_matches` | matches with `LIKE` | e.g. `q[email_matches]=%@gmail.com`|
|
419
|
+
| `*_does_not_match` | does not match with `LIKE` | |
|
420
|
+
| `*_matches_any` | Matches any | |
|
421
|
+
| `*_matches_all` | Matches all | |
|
422
|
+
| `*_does_not_match_any` | Does not match any | |
|
423
|
+
| `*_does_not_match_all` | Does not match all | |
|
424
|
+
| `*_lt` | less than | |
|
425
|
+
| `*_lteq` | less than or equal | |
|
426
|
+
| `*_gt` | greater than | |
|
427
|
+
| `*_gteq` | greater than or equal | |
|
428
|
+
| `*_present` | not null and not empty | e.g. `q[name_present]=1` (SQL: `col is not null AND col != ''`) |
|
429
|
+
| `*_blank` | is null or empty. | (SQL: `col is null OR col = ''`) |
|
430
|
+
| `*_null` | is null | |
|
431
|
+
| `*_not_null` | is not null | |
|
432
|
+
| `*_in` | match any values in array | e.g. `q[name_in][]=Alice&q[name_in][]=Bob` |
|
433
|
+
| `*_not_in` | match none of values in array | |
|
434
|
+
| `*_lt_any` | Less than any | SQL: `col < value1 OR col < value2` |
|
435
|
+
| `*_lteq_any` | Less than or equal to any | |
|
436
|
+
| `*_gt_any` | Greater than any | |
|
437
|
+
| `*_gteq_any` | Greater than or equal to any | |
|
438
|
+
| `*_matches_any` | `*_does_not_match_any` | same as above but with `LIKE` |
|
439
|
+
| `*_lt_all` | Less than all | SQL: `col < value1 AND col < value2` |
|
440
|
+
| `*_lteq_all` | Less than or equal to all | |
|
441
|
+
| `*_gt_all` | Greater than all | |
|
442
|
+
| `*_gteq_all` | Greater than or equal to all | |
|
443
|
+
| `*_matches_all` | Matches all | same as above but with `LIKE` |
|
444
|
+
| `*_does_not_match_all` | Does not match all | |
|
445
|
+
| `*_not_eq_all` | none of values in a set | |
|
446
|
+
| `*_start` | Starts with | SQL: `col LIKE 'value%'` |
|
447
|
+
| `*_not_start` | Does not start with | |
|
448
|
+
| `*_start_any` | Starts with any of | |
|
449
|
+
| `*_start_all` | Starts with all of | |
|
450
|
+
| `*_not_start_any` | Does not start with any of | |
|
451
|
+
| `*_not_start_all` | Does not start with all of | |
|
452
|
+
| `*_end` | Ends with | SQL: `col LIKE '%value'` |
|
453
|
+
| `*_not_end` | Does not end with | |
|
454
|
+
| `*_end_any` | Ends with any of | |
|
455
|
+
| `*_end_all` | Ends with all of | |
|
456
|
+
| `*_not_end_any` | | |
|
457
|
+
| `*_not_end_all` | | |
|
458
|
+
| `*_cont` | Contains value | uses `LIKE` |
|
459
|
+
| `*_cont_any` | Contains any of | |
|
460
|
+
| `*_cont_all` | Contains all of | |
|
461
|
+
| `*_not_cont` | Does not contain |
|
462
|
+
| `*_not_cont_any` | Does not contain any of | |
|
463
|
+
| `*_not_cont_all` | Does not contain all of | |
|
464
|
+
| `*_true` | is true | |
|
465
|
+
| `*_false` | is false | |
|
466
|
+
|
437
467
|
|
438
468
|
(See full list: https://github.com/activerecord-hackery/ransack/blob/master/lib/ransack/locale/en.yml#L15 and [wiki](https://github.com/activerecord-hackery/ransack/wiki/Basic-Searching))
|
439
469
|
|
data/lib/ransack/adapters.rb
CHANGED
@@ -27,11 +27,11 @@ module Ransack
|
|
27
27
|
return nil unless attr && attr.valid?
|
28
28
|
name = attr.arel_attribute.name.to_s
|
29
29
|
table = attr.arel_attribute.relation.table_name
|
30
|
-
schema_cache =
|
30
|
+
schema_cache = self.klass.connection.schema_cache
|
31
31
|
unless schema_cache.send(database_table_exists?, table)
|
32
32
|
raise "No table named #{table} exists."
|
33
33
|
end
|
34
|
-
|
34
|
+
attr.klass.columns.find { |column| column.name == name }.type
|
35
35
|
end
|
36
36
|
|
37
37
|
def evaluate(search, opts = {})
|
@@ -251,7 +251,10 @@ module Ransack
|
|
251
251
|
# Checkout active_record/relation/query_methods.rb +build_joins+ for
|
252
252
|
# reference. Lots of duplicated code maybe we can avoid it
|
253
253
|
def build_joins(relation)
|
254
|
-
buckets = relation.joins_values
|
254
|
+
buckets = relation.joins_values
|
255
|
+
buckets += relation.left_outer_joins_values if ::ActiveRecord::VERSION::MAJOR >= 5
|
256
|
+
|
257
|
+
buckets = buckets.group_by do |join|
|
255
258
|
case join
|
256
259
|
when String
|
257
260
|
:string_join
|
@@ -287,10 +290,10 @@ module Ransack
|
|
287
290
|
join_dependency.send(:alias_tracker).aliases[join.left.name.downcase] = 1
|
288
291
|
end
|
289
292
|
else
|
290
|
-
alias_tracker = ::ActiveRecord::Associations::AliasTracker.create(
|
293
|
+
alias_tracker = ::ActiveRecord::Associations::AliasTracker.create(self.klass.connection, relation.table.name, join_list)
|
291
294
|
join_dependency = JoinDependency.new(relation.klass, relation.table, association_joins, alias_tracker)
|
292
295
|
join_nodes.each do |join|
|
293
|
-
join_dependency.alias_tracker.aliases[join.left.name.downcase] = 1
|
296
|
+
join_dependency.send(:alias_tracker).aliases[join.left.name.downcase] = 1
|
294
297
|
end
|
295
298
|
end
|
296
299
|
|
@@ -330,7 +333,7 @@ module Ransack
|
|
330
333
|
)
|
331
334
|
found_association = jd.join_root.children.last
|
332
335
|
else
|
333
|
-
alias_tracker = ::ActiveRecord::Associations::AliasTracker.create(
|
336
|
+
alias_tracker = ::ActiveRecord::Associations::AliasTracker.create(self.klass.connection, parent.table.name, [])
|
334
337
|
jd = JoinDependency.new(
|
335
338
|
parent.base_klass,
|
336
339
|
parent.base_klass.arel_table,
|
@@ -20,5 +20,24 @@ module Ransack
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
def visit_Ransack_Nodes_Sort(object)
|
24
|
+
return unless object.valid?
|
25
|
+
if object.attr.is_a?(Arel::Attributes::Attribute)
|
26
|
+
object.attr.send(object.dir)
|
27
|
+
else
|
28
|
+
ordered(object)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def ordered(object)
|
35
|
+
case object.dir
|
36
|
+
when 'asc'.freeze
|
37
|
+
Arel::Nodes::Ascending.new(object.attr)
|
38
|
+
when 'desc'.freeze
|
39
|
+
Arel::Nodes::Descending.new(object.attr)
|
40
|
+
end
|
41
|
+
end
|
23
42
|
end
|
24
43
|
end
|
data/lib/ransack/locale/nl.yml
CHANGED
@@ -35,9 +35,9 @@ nl:
|
|
35
35
|
gt: "groter dan"
|
36
36
|
gt_any: "groter dan enig"
|
37
37
|
gt_all: "groter dan alle"
|
38
|
-
gteq: "groter dan
|
39
|
-
gteq_any: "groter dan
|
40
|
-
gteq_all: "groter dan
|
38
|
+
gteq: "groter dan of gelijk aan"
|
39
|
+
gteq_any: "groter dan of gelijk aan enig"
|
40
|
+
gteq_all: "groter dan of gelijk aan alle"
|
41
41
|
in: "in"
|
42
42
|
in_any: "in enig"
|
43
43
|
in_all: "in alle"
|
@@ -64,7 +64,7 @@ nl:
|
|
64
64
|
not_end_all: "eindigt niet met alle"
|
65
65
|
'true': "is waar"
|
66
66
|
'false': "is niet waar"
|
67
|
-
present: "is
|
67
|
+
present: "is aanwezig"
|
68
68
|
blank: "is afwezig"
|
69
69
|
'null': "is null"
|
70
70
|
not_null: "is niet null"
|
data/lib/ransack/version.rb
CHANGED
data/lib/ransack/visitor.rb
CHANGED
@@ -40,10 +40,6 @@ module Ransack
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
def visit_Ransack_Nodes_Sort(object)
|
44
|
-
object.attr.send(object.dir) if object.valid?
|
45
|
-
end
|
46
|
-
|
47
43
|
def quoted?(object)
|
48
44
|
raise "not implemented"
|
49
45
|
end
|
@@ -57,6 +53,5 @@ module Ransack
|
|
57
53
|
klass.name.gsub(Constants::TWO_COLONS, Constants::UNDERSCORE)
|
58
54
|
}"
|
59
55
|
end
|
60
|
-
|
61
56
|
end
|
62
57
|
end
|
@@ -18,6 +18,13 @@ module Ransack
|
|
18
18
|
expect(subject.object).to be_an ::ActiveRecord::Relation
|
19
19
|
end
|
20
20
|
|
21
|
+
context "multiple database connection" do
|
22
|
+
it "does not raise error" do
|
23
|
+
expect { Person.ransack(name_cont: "test") }.not_to raise_error
|
24
|
+
expect { SubDB::OperationHistory.ransack(people_id_eq: 1) }.not_to raise_error
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
21
28
|
context 'with scopes' do
|
22
29
|
before do
|
23
30
|
allow(Person)
|
@@ -505,6 +512,7 @@ module Ransack
|
|
505
512
|
)
|
506
513
|
end
|
507
514
|
|
515
|
+
|
508
516
|
it 'should allow passing ransacker arguments to a ransacker' do
|
509
517
|
s = Person.ransack(
|
510
518
|
c: [{
|
@@ -544,6 +552,30 @@ module Ransack
|
|
544
552
|
/BETWEEN 2 AND 6 GROUP BY articles.person_id \) DESC/
|
545
553
|
)
|
546
554
|
end
|
555
|
+
|
556
|
+
context 'case insensitive sorting' do
|
557
|
+
it 'allows sort by desc' do
|
558
|
+
search = Person.search(sorts: ['name_case_insensitive desc'])
|
559
|
+
expect(search.result.to_sql).to match /ORDER BY LOWER(.*) DESC/
|
560
|
+
end
|
561
|
+
|
562
|
+
it 'allows sort by asc' do
|
563
|
+
search = Person.search(sorts: ['name_case_insensitive asc'])
|
564
|
+
expect(search.result.to_sql).to match /ORDER BY LOWER(.*) ASC/
|
565
|
+
end
|
566
|
+
end
|
567
|
+
|
568
|
+
context 'regular sorting' do
|
569
|
+
it 'allows sort by desc' do
|
570
|
+
search = Person.search(sorts: ['name desc'])
|
571
|
+
expect(search.result.to_sql).to match /ORDER BY .* DESC/
|
572
|
+
end
|
573
|
+
|
574
|
+
it 'allows sort by asc' do
|
575
|
+
search = Person.search(sorts: ['name asc'])
|
576
|
+
expect(search.result.to_sql).to match /ORDER BY .* ASC/
|
577
|
+
end
|
578
|
+
end
|
547
579
|
end
|
548
580
|
|
549
581
|
describe '#ransackable_attributes' do
|
data/spec/spec_helper.rb
CHANGED
data/spec/support/schema.rb
CHANGED
@@ -92,10 +92,15 @@ class Person < ActiveRecord::Base
|
|
92
92
|
)
|
93
93
|
end
|
94
94
|
|
95
|
+
|
95
96
|
ransacker :sql_literal_id do
|
96
97
|
Arel.sql('people.id')
|
97
98
|
end
|
98
99
|
|
100
|
+
ransacker :name_case_insensitive, type: :string do
|
101
|
+
arel_table[:name].lower
|
102
|
+
end
|
103
|
+
|
99
104
|
ransacker :with_arguments, args: [:parent, :ransacker_args] do |parent, args|
|
100
105
|
min, max = args
|
101
106
|
query = <<-SQL
|
@@ -110,6 +115,7 @@ class Person < ActiveRecord::Base
|
|
110
115
|
Arel.sql(query)
|
111
116
|
end
|
112
117
|
|
118
|
+
|
113
119
|
def self.ransackable_attributes(auth_object = nil)
|
114
120
|
if auth_object == :admin
|
115
121
|
super - ['only_sort']
|
@@ -255,3 +261,30 @@ module Schema
|
|
255
261
|
)
|
256
262
|
end
|
257
263
|
end
|
264
|
+
|
265
|
+
module SubDB
|
266
|
+
class Base < ActiveRecord::Base
|
267
|
+
self.abstract_class = true
|
268
|
+
establish_connection(
|
269
|
+
adapter: 'sqlite3',
|
270
|
+
database: ':memory:'
|
271
|
+
)
|
272
|
+
end
|
273
|
+
|
274
|
+
class OperationHistory < Base
|
275
|
+
end
|
276
|
+
|
277
|
+
module Schema
|
278
|
+
def self.create
|
279
|
+
s = ::ActiveRecord::Schema.new
|
280
|
+
s.instance_variable_set(:@connection, SubDB::Base.connection)
|
281
|
+
s.verbose = false
|
282
|
+
s.define({}) do
|
283
|
+
create_table :operation_histories, force: true do |t|
|
284
|
+
t.string :operation_type
|
285
|
+
t.integer :people_id
|
286
|
+
end
|
287
|
+
end
|
288
|
+
end
|
289
|
+
end
|
290
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ransack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ernie Miller
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2018-
|
14
|
+
date: 2018-03-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: actionpack
|
@@ -321,7 +321,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
321
|
version: '0'
|
322
322
|
requirements: []
|
323
323
|
rubyforge_project: ransack
|
324
|
-
rubygems_version: 2.
|
324
|
+
rubygems_version: 2.7.3
|
325
325
|
signing_key:
|
326
326
|
specification_version: 4
|
327
327
|
summary: Object-based searching for Active Record and Mongoid (currently).
|