syto 0.1.1 → 0.2.0
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 +4 -4
- data/README.md +1 -1
- data/lib/syto/version.rb +1 -1
- data/lib/syto.rb +21 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af0ab05e31639381af798d997f30b3ae2a9501eedea8e4dd957664470f220b34
|
4
|
+
data.tar.gz: 306a9a88c49031e7b7c51c35f3ad6be9cfa4db3ac2596b01d33a65380ad98893
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: edb0033f9f3757b4269d0dd0b3ffdb638748c565c01727784df40041e6defa07658c3766ea98078233d8f32bdea6f9d2a5f88d1739bbea7d59f346c7411d842f
|
7
|
+
data.tar.gz: ad7e6e1dc71ff96a682c1196e4eb41bd18756b5e0e8b5c7961ad55eff53f36b897bf46939830f30a66d96f3a20aa91fba70c7a4aa99d1d44864d6b43285f969a
|
data/README.md
CHANGED
data/lib/syto/version.rb
CHANGED
data/lib/syto.rb
CHANGED
@@ -54,10 +54,16 @@ module Syto
|
|
54
54
|
#
|
55
55
|
# @param [Array] attrs_map
|
56
56
|
#
|
57
|
-
def
|
57
|
+
def syto_filters_attrs_map(*attrs_map)
|
58
58
|
@syto_attrs_map = attrs_map
|
59
59
|
end
|
60
60
|
|
61
|
+
# Getter for @syto_attrs_map
|
62
|
+
#
|
63
|
+
def attrs_map
|
64
|
+
@syto_attrs_map
|
65
|
+
end
|
66
|
+
|
61
67
|
# Filtering method
|
62
68
|
#
|
63
69
|
# @param [Hash] params
|
@@ -68,7 +74,7 @@ module Syto
|
|
68
74
|
return all if params.blank? || params.empty?
|
69
75
|
|
70
76
|
@filter_klass ||= Syto::Base
|
71
|
-
@filter_klass.new(self, all, params.symbolize_keys
|
77
|
+
@filter_klass.new(self, all, params.symbolize_keys).perform
|
72
78
|
end
|
73
79
|
end
|
74
80
|
|
@@ -80,13 +86,12 @@ module Syto
|
|
80
86
|
# @param [Class] base_class
|
81
87
|
# @param [ActiveRecord::Relation] result
|
82
88
|
# @param [Hash] params
|
83
|
-
# @param [Array] attrs_map
|
84
89
|
#
|
85
|
-
def initialize(base_class, result, params
|
90
|
+
def initialize(base_class, result, params)
|
86
91
|
@base_class = base_class
|
87
92
|
@result = result
|
88
93
|
@params = params
|
89
|
-
@attrs_map = attrs_map
|
94
|
+
@attrs_map = (base_class.attrs_map || []) + (self.class.attrs_map || [])
|
90
95
|
end
|
91
96
|
|
92
97
|
def perform
|
@@ -98,7 +103,15 @@ module Syto
|
|
98
103
|
end
|
99
104
|
|
100
105
|
def extended_filters
|
101
|
-
puts
|
106
|
+
puts "[WARNING] Syto filters not defined for #{self.class.name}"
|
107
|
+
end
|
108
|
+
|
109
|
+
class << self
|
110
|
+
attr_reader :attrs_map
|
111
|
+
|
112
|
+
def filters_attrs_map(*attrs)
|
113
|
+
@attrs_map = attrs
|
114
|
+
end
|
102
115
|
end
|
103
116
|
|
104
117
|
private
|
@@ -145,11 +158,8 @@ module Syto
|
|
145
158
|
end
|
146
159
|
|
147
160
|
def filter_hash_options(attr, options)
|
148
|
-
if options.key?(:key)
|
149
|
-
|
150
|
-
else
|
151
|
-
filter_by_range attr, options
|
152
|
-
end
|
161
|
+
filter_by_value attr, options if options.key?(:key)
|
162
|
+
filter_by_range attr, options if options.key?(:key_from) && options.key?(:key_to)
|
153
163
|
end
|
154
164
|
|
155
165
|
# Filter by single value
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: syto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vadym Lukavyi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|