mini-fast-sys 0.0.1

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.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/mini-fast-sys.gemspec +12 -0
  3. data/ransack-4.4.1/LICENSE +20 -0
  4. data/ransack-4.4.1/README.md +101 -0
  5. data/ransack-4.4.1/lib/polyamorous/activerecord/join_association.rb +70 -0
  6. data/ransack-4.4.1/lib/polyamorous/activerecord/join_association_7_2.rb +55 -0
  7. data/ransack-4.4.1/lib/polyamorous/activerecord/join_dependency.rb +102 -0
  8. data/ransack-4.4.1/lib/polyamorous/activerecord/reflection.rb +11 -0
  9. data/ransack-4.4.1/lib/polyamorous/join.rb +70 -0
  10. data/ransack-4.4.1/lib/polyamorous/polyamorous.rb +27 -0
  11. data/ransack-4.4.1/lib/polyamorous/swapping_reflection_class.rb +11 -0
  12. data/ransack-4.4.1/lib/polyamorous/tree_node.rb +7 -0
  13. data/ransack-4.4.1/lib/ransack/active_record.rb +14 -0
  14. data/ransack-4.4.1/lib/ransack/adapters/active_record/base.rb +152 -0
  15. data/ransack-4.4.1/lib/ransack/adapters/active_record/context.rb +373 -0
  16. data/ransack-4.4.1/lib/ransack/configuration.rb +209 -0
  17. data/ransack-4.4.1/lib/ransack/constants.rb +176 -0
  18. data/ransack-4.4.1/lib/ransack/context.rb +190 -0
  19. data/ransack-4.4.1/lib/ransack/helpers/form_builder.rb +277 -0
  20. data/ransack-4.4.1/lib/ransack/helpers/form_helper.rb +311 -0
  21. data/ransack-4.4.1/lib/ransack/helpers.rb +2 -0
  22. data/ransack-4.4.1/lib/ransack/invalid_search_error.rb +3 -0
  23. data/ransack-4.4.1/lib/ransack/locale/ar.yml +70 -0
  24. data/ransack-4.4.1/lib/ransack/locale/az.yml +70 -0
  25. data/ransack-4.4.1/lib/ransack/locale/bg.yml +70 -0
  26. data/ransack-4.4.1/lib/ransack/locale/ca.yml +70 -0
  27. data/ransack-4.4.1/lib/ransack/locale/cs.yml +70 -0
  28. data/ransack-4.4.1/lib/ransack/locale/da.yml +70 -0
  29. data/ransack-4.4.1/lib/ransack/locale/de.yml +70 -0
  30. data/ransack-4.4.1/lib/ransack/locale/el.yml +70 -0
  31. data/ransack-4.4.1/lib/ransack/locale/en.yml +70 -0
  32. data/ransack-4.4.1/lib/ransack/locale/es.yml +70 -0
  33. data/ransack-4.4.1/lib/ransack/locale/fa.yml +70 -0
  34. data/ransack-4.4.1/lib/ransack/locale/fi.yml +71 -0
  35. data/ransack-4.4.1/lib/ransack/locale/fr.yml +70 -0
  36. data/ransack-4.4.1/lib/ransack/locale/hu.yml +70 -0
  37. data/ransack-4.4.1/lib/ransack/locale/id.yml +70 -0
  38. data/ransack-4.4.1/lib/ransack/locale/it.yml +70 -0
  39. data/ransack-4.4.1/lib/ransack/locale/ja.yml +70 -0
  40. data/ransack-4.4.1/lib/ransack/locale/ko.yml +70 -0
  41. data/ransack-4.4.1/lib/ransack/locale/nl.yml +70 -0
  42. data/ransack-4.4.1/lib/ransack/locale/pt-BR.yml +70 -0
  43. data/ransack-4.4.1/lib/ransack/locale/ro.yml +70 -0
  44. data/ransack-4.4.1/lib/ransack/locale/ru.yml +70 -0
  45. data/ransack-4.4.1/lib/ransack/locale/sk.yml +70 -0
  46. data/ransack-4.4.1/lib/ransack/locale/sv.yml +70 -0
  47. data/ransack-4.4.1/lib/ransack/locale/tr.yml +70 -0
  48. data/ransack-4.4.1/lib/ransack/locale/uk.yml +72 -0
  49. data/ransack-4.4.1/lib/ransack/locale/zh-CN.yml +70 -0
  50. data/ransack-4.4.1/lib/ransack/locale/zh-TW.yml +70 -0
  51. data/ransack-4.4.1/lib/ransack/naming.rb +58 -0
  52. data/ransack-4.4.1/lib/ransack/nodes/attribute.rb +59 -0
  53. data/ransack-4.4.1/lib/ransack/nodes/bindable.rb +52 -0
  54. data/ransack-4.4.1/lib/ransack/nodes/condition.rb +399 -0
  55. data/ransack-4.4.1/lib/ransack/nodes/grouping.rb +206 -0
  56. data/ransack-4.4.1/lib/ransack/nodes/node.rb +34 -0
  57. data/ransack-4.4.1/lib/ransack/nodes/sort.rb +54 -0
  58. data/ransack-4.4.1/lib/ransack/nodes/value.rb +115 -0
  59. data/ransack-4.4.1/lib/ransack/predicate.rb +75 -0
  60. data/ransack-4.4.1/lib/ransack/ransacker.rb +24 -0
  61. data/ransack-4.4.1/lib/ransack/search.rb +195 -0
  62. data/ransack-4.4.1/lib/ransack/translate.rb +156 -0
  63. data/ransack-4.4.1/lib/ransack/version.rb +3 -0
  64. data/ransack-4.4.1/lib/ransack/visitor.rb +87 -0
  65. data/ransack-4.4.1/lib/ransack.rb +33 -0
  66. data/ransack-4.4.1/spec/console.rb +13 -0
  67. data/ransack-4.4.1/spec/factories/articles.rb +7 -0
  68. data/ransack-4.4.1/spec/factories/comments.rb +7 -0
  69. data/ransack-4.4.1/spec/factories/notes.rb +13 -0
  70. data/ransack-4.4.1/spec/factories/people.rb +10 -0
  71. data/ransack-4.4.1/spec/factories/tags.rb +5 -0
  72. data/ransack-4.4.1/spec/helpers/polyamorous_helper.rb +13 -0
  73. data/ransack-4.4.1/spec/helpers/ransack_helper.rb +9 -0
  74. data/ransack-4.4.1/spec/polyamorous/activerecord_compatibility_spec.rb +15 -0
  75. data/ransack-4.4.1/spec/polyamorous/join_association_spec.rb +29 -0
  76. data/ransack-4.4.1/spec/polyamorous/join_dependency_spec.rb +80 -0
  77. data/ransack-4.4.1/spec/polyamorous/join_spec.rb +19 -0
  78. data/ransack-4.4.1/spec/ransack/adapters/active_record/base_spec.rb +943 -0
  79. data/ransack-4.4.1/spec/ransack/adapters/active_record/context_spec.rb +219 -0
  80. data/ransack-4.4.1/spec/ransack/configuration_spec.rb +201 -0
  81. data/ransack-4.4.1/spec/ransack/helpers/form_builder_spec.rb +169 -0
  82. data/ransack-4.4.1/spec/ransack/helpers/form_helper_spec.rb +1075 -0
  83. data/ransack-4.4.1/spec/ransack/invalid_search_error_spec.rb +27 -0
  84. data/ransack-4.4.1/spec/ransack/nodes/condition_spec.rb +333 -0
  85. data/ransack-4.4.1/spec/ransack/nodes/grouping_spec.rb +111 -0
  86. data/ransack-4.4.1/spec/ransack/nodes/value_spec.rb +126 -0
  87. data/ransack-4.4.1/spec/ransack/predicate_spec.rb +504 -0
  88. data/ransack-4.4.1/spec/ransack/ransacker_spec.rb +69 -0
  89. data/ransack-4.4.1/spec/ransack/search_spec.rb +821 -0
  90. data/ransack-4.4.1/spec/ransack/translate_spec.rb +16 -0
  91. data/ransack-4.4.1/spec/spec_helper.rb +52 -0
  92. data/ransack-4.4.1/spec/support/en.yml +18 -0
  93. data/ransack-4.4.1/spec/support/schema.rb +419 -0
  94. metadata +133 -0
@@ -0,0 +1,311 @@
1
+ module Ransack
2
+ module Helpers
3
+ module FormHelper
4
+
5
+ # +search_form_for+
6
+ #
7
+ # <%= search_form_for(@q) do |f| %>
8
+ #
9
+ def search_form_for(record, options = {}, &proc)
10
+ search = extract_search_and_set_url(record, options, 'search_form_for')
11
+ options[:html] ||= {}
12
+ html_options = build_html_options(search, options, :get)
13
+ finalize_form_options(options, html_options)
14
+ form_for(record, options, &proc)
15
+ end
16
+
17
+ # +search_form_with+
18
+ #
19
+ # <%= search_form_with(model: @q) do |f| %>
20
+ #
21
+ def search_form_with(record_or_options = {}, options = {}, &proc)
22
+ if record_or_options.is_a?(Hash) && record_or_options.key?(:model)
23
+ # Called with keyword arguments: search_form_with(model: @q)
24
+ options = record_or_options
25
+ record = options.delete(:model)
26
+ else
27
+ # Called with positional arguments: search_form_with(@q)
28
+ record = record_or_options
29
+ end
30
+ search = extract_search_and_set_url(record, options, 'search_form_with')
31
+ options[:html] ||= {}
32
+ html_options = build_html_options(search, options, :get)
33
+ finalize_form_with_options(options, html_options)
34
+ form_with(model: search, **options, &proc)
35
+ end
36
+
37
+ # +turbo_search_form_for+
38
+ #
39
+ # <%= turbo_search_form_for(@q) do |f| %>
40
+ #
41
+ # This is a turbo-enabled version of search_form_for that submits via turbo streams
42
+ # instead of traditional HTML GET requests. Useful for seamless integration with
43
+ # paginated results and other turbo-enabled components.
44
+ #
45
+ def turbo_search_form_for(record, options = {}, &proc)
46
+ search = extract_search_and_set_url(record, options, 'turbo_search_form_for')
47
+ options[:html] ||= {}
48
+ turbo_options = build_turbo_options(options)
49
+ method = options.delete(:method) || :post
50
+ html_options = build_html_options(search, options, method).merge(turbo_options)
51
+ finalize_form_options(options, html_options)
52
+ form_for(record, options, &proc)
53
+ end
54
+
55
+ # +sort_link+
56
+ #
57
+ # <%= sort_link(@q, :name, [:name, 'kind ASC'], 'Player Name') %>
58
+ #
59
+ # You can also use a block:
60
+ #
61
+ # <%= sort_link(@q, :name, [:name, 'kind ASC']) do %>
62
+ # <strong>Player Name</strong>
63
+ # <% end %>
64
+ #
65
+ def sort_link(search_object, attribute, *args, &block)
66
+ search, routing_proxy = extract_search_and_routing_proxy(search_object)
67
+ unless Search === search
68
+ raise TypeError, 'First argument must be a Ransack::Search!'
69
+ end
70
+ args[args.first.is_a?(Array) ? 1 : 0, 0] = capture(&block) if block_given?
71
+ s = SortLink.new(search, attribute, args, params, &block)
72
+ link_to(s.name, url(routing_proxy, s.url_options), s.html_options(args))
73
+ end
74
+
75
+ # +sort_url+
76
+ # <%= sort_url(@q, :created_at, default_order: :desc) %>
77
+ #
78
+ def sort_url(search_object, attribute, *args)
79
+ search, routing_proxy = extract_search_and_routing_proxy(search_object)
80
+ unless Search === search
81
+ raise TypeError, 'First argument must be a Ransack::Search!'
82
+ end
83
+ s = SortLink.new(search, attribute, args, params)
84
+ url(routing_proxy, s.url_options)
85
+ end
86
+
87
+ private
88
+
89
+ def extract_search_and_set_url(record, options, method_name)
90
+ if record.is_a? Ransack::Search
91
+ search = record
92
+ options[:url] ||= polymorphic_path(
93
+ search.klass, format: options.delete(:format)
94
+ )
95
+ search
96
+ elsif record.is_a?(Array) &&
97
+ (search = record.detect { |o| o.is_a?(Ransack::Search) })
98
+ options[:url] ||= polymorphic_path(
99
+ options_for(record), format: options.delete(:format)
100
+ )
101
+ search
102
+ else
103
+ raise ArgumentError,
104
+ "No Ransack::Search object was provided to #{method_name}!"
105
+ end
106
+ end
107
+
108
+ def build_turbo_options(options)
109
+ data_options = {}
110
+ if options[:turbo_frame]
111
+ data_options[:turbo_frame] = options.delete(:turbo_frame)
112
+ end
113
+ data_options[:turbo_action] = options.delete(:turbo_action) || 'advance'
114
+ { data: data_options }
115
+ end
116
+
117
+ def build_html_options(search, options, method)
118
+ {
119
+ class: html_option_for(options[:class], search),
120
+ id: html_option_for(options[:id], search),
121
+ method: method
122
+ }
123
+ end
124
+
125
+ def finalize_form_options(options, html_options)
126
+ options[:as] ||= Ransack.options[:search_key]
127
+ options[:html].reverse_merge!(html_options)
128
+ options[:builder] ||= FormBuilder
129
+ end
130
+
131
+ def finalize_form_with_options(options, html_options)
132
+ options[:scope] ||= Ransack.options[:search_key]
133
+ options[:html].reverse_merge!(html_options)
134
+ options[:builder] ||= FormBuilder
135
+ end
136
+
137
+ def options_for(record)
138
+ record.map { |r| parse_record(r) }
139
+ end
140
+
141
+ def parse_record(object)
142
+ return object.klass if object.is_a?(Ransack::Search)
143
+ object
144
+ end
145
+
146
+ def html_option_for(option, search)
147
+ return option.to_s if option.present?
148
+ "#{search.klass.to_s.underscore}_search"
149
+ end
150
+
151
+ def extract_search_and_routing_proxy(search)
152
+ return [search[1], search[0]] if search.is_a?(Array)
153
+ [search, nil]
154
+ end
155
+
156
+ def url(routing_proxy, options_for_url)
157
+ if routing_proxy && respond_to?(routing_proxy)
158
+ send(routing_proxy).url_for(options_for_url)
159
+ else
160
+ url_for(options_for_url)
161
+ end
162
+ end
163
+
164
+ class SortLink
165
+ def initialize(search, attribute, args, params)
166
+ @search = search
167
+ @params = parameters_hash(params)
168
+ @field = attribute.to_s
169
+ @sort_fields = extract_sort_fields_and_mutate_args!(args).compact
170
+ @current_dir = existing_sort_direction
171
+ @label_text = extract_label_and_mutate_args!(args)
172
+ @options = extract_options_and_mutate_args!(args)
173
+ @hide_indicator = @options.delete(:hide_indicator) ||
174
+ Ransack.options[:hide_sort_order_indicators]
175
+ @default_order = @options.delete :default_order
176
+ end
177
+
178
+ def up_arrow
179
+ Ransack.options[:up_arrow]
180
+ end
181
+
182
+ def down_arrow
183
+ Ransack.options[:down_arrow]
184
+ end
185
+
186
+ def default_arrow
187
+ Ransack.options[:default_arrow]
188
+ end
189
+
190
+ def name
191
+ [ERB::Util.h(@label_text), order_indicator]
192
+ .compact
193
+ .join('&nbsp;'.freeze)
194
+ .html_safe
195
+ end
196
+
197
+ def url_options
198
+ @params.except(:host).merge(
199
+ @options.except(:class, :data, :host).merge(
200
+ @search.context.search_key => search_and_sort_params))
201
+ end
202
+
203
+ def html_options(args)
204
+ if args.empty?
205
+ html_options = @options
206
+ else
207
+ deprecation_message = "Passing two trailing hashes to `sort_link` is deprecated, merge the trailing hashes into a single one."
208
+ caller_location = caller_locations(2, 2).first
209
+ warn "#{deprecation_message} (called at #{caller_location.path}:#{caller_location.lineno})"
210
+ html_options = extract_options_and_mutate_args!(args)
211
+ end
212
+
213
+ html_options.merge(
214
+ class: [['sort_link'.freeze, @current_dir], html_options[:class]]
215
+ .compact.join(' '.freeze)
216
+ )
217
+ end
218
+
219
+ private
220
+
221
+ def parameters_hash(params)
222
+ if params.respond_to?(:to_unsafe_h)
223
+ params.to_unsafe_h
224
+ else
225
+ params
226
+ end
227
+ end
228
+
229
+ def extract_sort_fields_and_mutate_args!(args)
230
+ return args.shift if args[0].is_a?(Array)
231
+ [@field]
232
+ end
233
+
234
+ def extract_label_and_mutate_args!(args)
235
+ return args.shift if args[0].is_a?(String)
236
+ Translate.attribute(@field, context: @search.context)
237
+ end
238
+
239
+ def extract_options_and_mutate_args!(args)
240
+ return args.shift.with_indifferent_access if args[0].is_a?(Hash)
241
+ {}
242
+ end
243
+
244
+ def search_and_sort_params
245
+ search_params.merge(s: sort_params)
246
+ end
247
+
248
+ def search_params
249
+ query_params = @params[@search.context.search_key]
250
+ query_params.is_a?(Hash) ? query_params : {}
251
+ end
252
+
253
+ def sort_params
254
+ sort_array = recursive_sort_params_build(@sort_fields)
255
+ return sort_array[0] if sort_array.length == 1
256
+ sort_array
257
+ end
258
+
259
+ def recursive_sort_params_build(fields)
260
+ return [] if fields.empty?
261
+ [parse_sort(fields[0])] + recursive_sort_params_build(fields.drop 1)
262
+ end
263
+
264
+ def parse_sort(field)
265
+ attr_name, new_dir = field.to_s.split(/\s+/)
266
+ if no_sort_direction_specified?(new_dir)
267
+ new_dir = detect_previous_sort_direction_and_invert_it(attr_name)
268
+ end
269
+ "#{attr_name} #{new_dir}"
270
+ end
271
+
272
+ def detect_previous_sort_direction_and_invert_it(attr_name)
273
+ if sort_dir = existing_sort_direction(attr_name)
274
+ direction_text(sort_dir)
275
+ else
276
+ default_sort_order(attr_name) || 'asc'.freeze
277
+ end
278
+ end
279
+
280
+ def existing_sort_direction(f = @field)
281
+ return unless sort = @search.sorts.detect { |s| s && s.name == f }
282
+ sort.dir
283
+ end
284
+
285
+ def default_sort_order(attr_name)
286
+ return @default_order[attr_name] if Hash === @default_order
287
+ @default_order
288
+ end
289
+
290
+ def order_indicator
291
+ return if @hide_indicator
292
+ return default_arrow if no_sort_direction_specified?
293
+ if @current_dir == 'desc'.freeze
294
+ up_arrow
295
+ else
296
+ down_arrow
297
+ end
298
+ end
299
+
300
+ def no_sort_direction_specified?(dir = @current_dir)
301
+ dir != 'asc'.freeze && dir != 'desc'.freeze
302
+ end
303
+
304
+ def direction_text(dir)
305
+ return 'asc'.freeze if dir == 'desc'.freeze
306
+ 'desc'.freeze
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
@@ -0,0 +1,2 @@
1
+ require 'ransack/helpers/form_builder'
2
+ require 'ransack/helpers/form_helper'
@@ -0,0 +1,3 @@
1
+ module Ransack
2
+ class InvalidSearchError < ArgumentError; end
3
+ end
@@ -0,0 +1,70 @@
1
+ ar:
2
+ ransack:
3
+ search: "بحث"
4
+ predicate: "فاعل"
5
+ and: "و"
6
+ or: "أو"
7
+ any: "أيُّ"
8
+ all: "كل"
9
+ combinator: "دالة توافقية"
10
+ attribute: "خاصية"
11
+ value: "قيمة"
12
+ condition: "شرط"
13
+ sort: "ترتيب"
14
+ asc: "تصاعدي"
15
+ desc: "تنازلي"
16
+ predicates:
17
+ eq: "معادل"
18
+ eq_any: "معادل على اﻷقل لواحد"
19
+ eq_all: "معادل للجميع"
20
+ not_eq: "ليس معادلا لـ"
21
+ not_eq_any: "ليس معادلا على اﻷقل لواحد"
22
+ not_eq_all: "ليس معادلا للجميع"
23
+ matches: "موائم"
24
+ matches_any: "موائم لواحد على اﻷقل"
25
+ matches_all: "موائم للجميع"
26
+ does_not_match: "لا يتواءم"
27
+ does_not_match_any: "لا يتواءم مع واحد على اﻷقل"
28
+ does_not_match_all: "لا يتواءم مع الجميع"
29
+ lt: "أصغر من"
30
+ lt_any: "أصغر لواحد على اﻷقل"
31
+ lt_all: "أصغر من الجميع"
32
+ lteq: "أصغر أو مساو لـ"
33
+ lteq_any: "أصغر أو مساو لواحد على اﻷقل"
34
+ lteq_all: "أصغر أو مساو للجميع"
35
+ gt: "أكبر من"
36
+ gt_any: "أكبر من واحد على اﻷقل"
37
+ gt_all: "أكبر من الجميع"
38
+ gteq: "أكبر أو مساو لـ"
39
+ gteq_any: "أكبر أو مساو لواحد على اﻷقل"
40
+ gteq_all: "أكبر أو مساو للجميع"
41
+ in: "متضمن لـ"
42
+ in_any: "متضمن لواحد على اﻷقل"
43
+ in_all: "متضمن للجميع"
44
+ not_in: "غير متضمن"
45
+ not_in_any: "غير متضمن لواحد على اﻷقل"
46
+ not_in_all: "غير متضمن للجميع"
47
+ cont: "محتو"
48
+ cont_any: "محتو لواحد على اﻷقل"
49
+ cont_all: "محتو لجميع"
50
+ not_cont: "غير محتو"
51
+ not_cont_any: "غير محتو لواحد على اﻷقل"
52
+ not_cont_all: "غير محتو للجميع"
53
+ start: "يبدأ بـ"
54
+ start_any: "يبدأ بواحد على اﻷقل"
55
+ start_all: "يبدأ بالجميع"
56
+ not_start: "لا يبدأ بـ"
57
+ not_start_any: "لا يبدأ بواحد على اﻷقل"
58
+ not_start_all: "لا يبدأ بالجميع"
59
+ end: "ينتهي بـ"
60
+ end_any: "ينتهي بواحد على اﻷقل"
61
+ end_all: "ينتهي بالجميع"
62
+ not_end: "لا ينتهي بـ"
63
+ not_end_any: "لا ينتهي بواحد على اﻷقل"
64
+ not_end_all: "لا ينتهي بالجميع"
65
+ 'true': "صحيح"
66
+ 'false': "خطأ"
67
+ present: "مستقبل"
68
+ blank: "فراغ"
69
+ 'null': "عدم"
70
+ not_null: "غير مساو لقيمة عدم"
@@ -0,0 +1,70 @@
1
+ az:
2
+ ransack:
3
+ search: "axtar"
4
+ predicate: "təsdiqlə"
5
+ and: "və"
6
+ or: "və ya"
7
+ any: "hər hansı"
8
+ all: "hamısı"
9
+ combinator: "birləşdirici"
10
+ attribute: "xüsusiyyət"
11
+ value: "dəyər"
12
+ condition: "şərt"
13
+ sort: "sırala"
14
+ asc: "artan"
15
+ desc: "azalan"
16
+ predicates:
17
+ eq: "bərabər"
18
+ eq_any: "hər hansı birinə bərabər"
19
+ eq_all: "hamısına bərabər"
20
+ not_eq: "bərabər deyil"
21
+ not_eq_any: "hər hansı birinə bərabər deyil"
22
+ not_eq_all: "heç birinə bərabər deyil"
23
+ matches: "uyğunlaşan"
24
+ matches_any: "hər hansı biri ilə uyğunlaşan"
25
+ matches_all: "hamısı ilə uyğunlaşan"
26
+ does_not_match: "uyğunlaşmayan"
27
+ does_not_match_any: "hər hansı biri ilə uyğunlaşmayan"
28
+ does_not_match_all: "heç biri ilə uyğunlaşmayan"
29
+ lt: "daha kiçik"
30
+ lt_any: "hər hansı birindən kiçik"
31
+ lt_all: "hamısından kiçik"
32
+ lteq: "daha kiçik və ya bərabər"
33
+ lteq_any: "daha kiçik və ya hər hansı birinə bərabər"
34
+ lteq_all: "daha kiçik və ya hamısına bərabər"
35
+ gt: "daha böyük "
36
+ gt_any: "hər hansı birindən daha böyük"
37
+ gt_all: "hamısından daha böyük"
38
+ gteq: "daha böyük və ya bərabər"
39
+ gteq_any: "daha böyük və ya hər hansı birine bərabər"
40
+ gteq_all: "daha böyük və ya hamısıne bərabər"
41
+ in: "içində"
42
+ in_any: "hər hansı birində"
43
+ in_all: "hamısında"
44
+ not_in: "içində deyil"
45
+ not_in_any: "hər hansı birində deyil"
46
+ not_in_all: "heç birində deyil"
47
+ cont: "ehtiva edən"
48
+ cont_any: "hər hansı birini ehtiva edən"
49
+ cont_all: "hamısını ehtiva edən"
50
+ not_cont: "ehtiva etməyən"
51
+ not_cont_any: "hər hansı birini ehtiva etməyən"
52
+ not_cont_all: "heç birini birini ehtiva etməyən"
53
+ start: "ilə başlayan"
54
+ start_any: "hər hansı biri ilə başlayan"
55
+ start_all: "hamısı ilə başlayan"
56
+ not_start: "ilə başlamayan"
57
+ not_start_any: "hər hansı biri ilə başlamayan"
58
+ not_start_all: "hiçbiri ilə başlamayan"
59
+ end: "ilə bitən"
60
+ end_any: "hər hansı biri ilə bitən"
61
+ end_all: "hamısı ilə bitən"
62
+ not_end: "ilə bitməyən"
63
+ not_end_any: "hər hansı biri ilə bitməyən"
64
+ not_end_all: "heç biri ilə bitməyən"
65
+ 'true': "doğru"
66
+ 'false': "yanlış"
67
+ present: "mövcüd"
68
+ blank: "boş"
69
+ 'null': "keçərsiz"
70
+ not_null: "keçərli"
@@ -0,0 +1,70 @@
1
+ bg:
2
+ ransack:
3
+ search: "търсене"
4
+ predicate: "предикат"
5
+ and: "и"
6
+ or: "или"
7
+ any: "всякакво"
8
+ all: "всички"
9
+ combinator: "комбинатор"
10
+ attribute: "атрибут"
11
+ value: "стойност"
12
+ condition: "условие"
13
+ sort: "сортиране"
14
+ asc: "възходящ"
15
+ desc: "низходящ"
16
+ predicates:
17
+ eq: "се равнява на"
18
+ eq_any: "се равнява на всяко"
19
+ eq_all: "се равнява на всички"
20
+ not_eq: "не е равно на"
21
+ not_eq_any: "не е равно на никое от"
22
+ not_eq_all: "не е равно на всички"
23
+ matches: "съвпада"
24
+ matches_any: "съвпада с някое"
25
+ matches_all: "съвпада с всички"
26
+ does_not_match: "не съвпада"
27
+ does_not_match_any: "не съвпада с никое"
28
+ does_not_match_all: "не съвпада с всички"
29
+ lt: "по-малко от"
30
+ lt_any: "по-малко от някое"
31
+ lt_all: "по-малко от всички"
32
+ lteq: "по-малко или равно на"
33
+ lteq_any: "по-малко или равно на някое"
34
+ lteq_all: "по-малко или равно на всички"
35
+ gt: "по-голямо от"
36
+ gt_any: "по-голямо от всякое"
37
+ gt_all: "по-голямо от всички"
38
+ gteq: "по-голямо или равно на"
39
+ gteq_any: "по-голямо или равно на всякое"
40
+ gteq_all: "по-голямо или равно на всички"
41
+ in: "в"
42
+ in_any: "във всякое"
43
+ in_all: "във всички"
44
+ not_in: "не в"
45
+ not_in_any: "не в никое"
46
+ not_in_all: "не във всички"
47
+ cont: "съдържа"
48
+ cont_any: "съдържа всякое"
49
+ cont_all: "съдържа всички"
50
+ not_cont: "не съдържа"
51
+ not_cont_any: "не съдържа никое"
52
+ not_cont_all: "не съдържа всички"
53
+ start: "започва с"
54
+ start_any: "започва с всякое"
55
+ start_all: "започва с всички"
56
+ not_start: "не започва с"
57
+ not_start_any: "не започва с никое"
58
+ not_start_all: "не започва с всички"
59
+ end: "завършва с"
60
+ end_any: "завършва с всякое"
61
+ end_all: "завършва с всички"
62
+ not_end: "не завършва с"
63
+ not_end_any: "не завършва с никое"
64
+ not_end_all: "не завършва с всички"
65
+ 'true': "истина"
66
+ 'false': "неистина"
67
+ present: "присъства"
68
+ blank: "е празно"
69
+ 'null': "е нула"
70
+ not_null: "не е нула"
@@ -0,0 +1,70 @@
1
+ ca:
2
+ ransack:
3
+ search: "cercar"
4
+ predicate: "predicat"
5
+ and: "i"
6
+ or: "o"
7
+ any: "qualsevol"
8
+ all: "tots"
9
+ combinator: "combinador"
10
+ attribute: "atribut"
11
+ value: "valor"
12
+ condition: "condició"
13
+ sort: "ordenar"
14
+ asc: "ascendent"
15
+ desc: "descendent"
16
+ predicates:
17
+ eq: "és igual a"
18
+ eq_any: "és igual a qualsevol"
19
+ eq_all: "és igual a tots"
20
+ not_eq: "no és igual a"
21
+ not_eq_any: "no és igual a qualsevol"
22
+ not_eq_all: "no és igual a tots"
23
+ matches: "coincideix"
24
+ matches_any: "coincideix a qualsevol"
25
+ matches_all: "coincideix a tots"
26
+ does_not_match: "no coincideix"
27
+ does_not_match_any: "no coincideix amb cap"
28
+ does_not_match_all: "no coincideix amb tots"
29
+ lt: "menor que"
30
+ lt_any: "menor que qualsevol"
31
+ lt_all: "menor o igual a"
32
+ lteq: "menor que o igual a"
33
+ lteq_any: "menor o igual a qualsevol"
34
+ lteq_all: "menor o igual a tots"
35
+ gt: "major que"
36
+ gt_any: "major que qualsevol"
37
+ gt_all: "major que tots"
38
+ gteq: "major que o igual a"
39
+ gteq_any: "major que o igual a qualsevol"
40
+ gteq_all: "major que o igual a tots"
41
+ in: "en"
42
+ in_any: "en qualsevol"
43
+ in_all: "en tots"
44
+ not_in: "no en"
45
+ not_in_any: "no en qualsevol"
46
+ not_in_all: "no en tots"
47
+ cont: "conté"
48
+ cont_any: "conté qualsevol"
49
+ cont_all: "conté tots"
50
+ not_cont: "no conté"
51
+ not_cont_any: "no conté cap"
52
+ not_cont_all: "no conté tota"
53
+ start: "comença per"
54
+ start_any: "comença per qualsevol"
55
+ start_all: "comença per tot"
56
+ not_start: "no comença per"
57
+ not_start_any: "no comença per qualsevol"
58
+ not_start_all: "no comença per tot"
59
+ end: "acaba en"
60
+ end_any: "acaba en qualsevol"
61
+ end_all: "acaba en tot"
62
+ not_end: "no acaba en"
63
+ not_end_any: "no acaba en qualsevol"
64
+ not_end_all: "no acaba en tot"
65
+ 'true': "és verdader"
66
+ 'false': "és fals"
67
+ present: "és present"
68
+ blank: "està en blanc"
69
+ 'null': "és nul"
70
+ not_null: "no és nul"
@@ -0,0 +1,70 @@
1
+ cs:
2
+ ransack:
3
+ search: "vyhledávání"
4
+ predicate: "predikát"
5
+ and: "a"
6
+ or: "nebo"
7
+ any: "kteroukoliv"
8
+ all: "každou"
9
+ combinator: "kombinátor"
10
+ attribute: "atribut"
11
+ value: "hodnota"
12
+ condition: "podmínka"
13
+ sort: "řazení"
14
+ asc: "vzestupné"
15
+ desc: "sestupné"
16
+ predicates:
17
+ eq: "rovno"
18
+ eq_any: "rovno kterékoliv"
19
+ eq_all: "rovno všem"
20
+ not_eq: "nerovno"
21
+ not_eq_any: "nerovno kterékoliv"
22
+ not_eq_all: "nerovno všem"
23
+ matches: "odpovídá"
24
+ matches_any: "odpovídá kterékoliv"
25
+ matches_all: "odpovídá všem"
26
+ does_not_match: "neodpovídá"
27
+ does_not_match_any: "neodpovídá kterékoliv"
28
+ does_not_match_all: "neodpovídá všem"
29
+ lt: "menší než"
30
+ lt_any: "menší než kterákoliv"
31
+ lt_all: "menší než všechny"
32
+ lteq: "menší nebo rovno než"
33
+ lteq_any: "menší nebo rovno než kterákoliv"
34
+ lteq_all: "menší nebo rovno než všechny"
35
+ gt: "větší než"
36
+ gt_any: "větší než kterákoliv"
37
+ gt_all: "větší než všechny"
38
+ gteq: "větší nebo rovno než"
39
+ gteq_any: "větší nebo rovno než kterákoliv"
40
+ gteq_all: "větší nebo rovno než všechny"
41
+ in: "v"
42
+ in_any: "v kterékoliv"
43
+ in_all: "ve všech"
44
+ not_in: "není v"
45
+ not_in_any: "není v kterékoliv"
46
+ not_in_all: "není ve všech"
47
+ cont: "obsahuje"
48
+ cont_any: "obsahuje kterékoliv"
49
+ cont_all: "obsahuje všechny"
50
+ not_cont: "neobsahuje"
51
+ not_cont_any: "neobsahuje kteroukoliv"
52
+ not_cont_all: "neobsahuje všechny"
53
+ start: "začíná s"
54
+ start_any: "začíná s kteroukoliv"
55
+ start_all: "začíná se všemi"
56
+ not_start: "nezačíná s"
57
+ not_start_any: "nezačíná s kteroukoliv"
58
+ not_start_all: "nezačíná se všemi"
59
+ end: "končí s"
60
+ end_any: "končí s kteroukoliv"
61
+ end_all: "končí se všemi"
62
+ not_end: "nekončí s"
63
+ not_end_any: "nekončí s kteroukoliv"
64
+ not_end_all: "nekončí se všemi"
65
+ 'true': "je pravdivé"
66
+ 'false': "není pravdivé"
67
+ present: "je vyplněné"
68
+ blank: "je prázdné"
69
+ 'null': "je null"
70
+ not_null: "není null"