forest_liana 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/forest_liana/apimaps_controller.rb +1 -1
- data/app/controllers/forest_liana/application_controller.rb +1 -1
- data/app/controllers/forest_liana/associations_controller.rb +3 -3
- data/app/controllers/forest_liana/resources_controller.rb +1 -1
- data/app/controllers/forest_liana/sessions_controller.rb +1 -1
- data/app/services/forest_liana/operator_date_interval_parser.rb +0 -53
- data/lib/forest_liana.rb +0 -2
- data/lib/forest_liana/engine.rb +2 -3
- data/lib/forest_liana/version.rb +1 -1
- data/test/services/forest_liana/resources_getter_test.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c7e65eaf32a280961a284a31d555dd41cb52b5a
|
4
|
+
data.tar.gz: 68d912adea12939ab9bc20779434161c01fd993c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b336890472dd721f35d08aa754166436251d7e053f4e94eeaa9d2ea5f268e97145e6860e7a4e67e8ce19192fc31b49ce194446360a52075f97650422f20a1b33
|
7
|
+
data.tar.gz: f2a40fd9fcfdda465440f7eb8911f5386fba5b28170bdddff0e9f093366a39c0fb74f4848e4d4f730d97ef9ad8c4baa8153c1529ea730c18cb6b70f1646600b0
|
@@ -22,21 +22,21 @@ module ForestLiana
|
|
22
22
|
updater = BelongsToUpdater.new(@resource, @association, params)
|
23
23
|
updater.perform
|
24
24
|
|
25
|
-
|
25
|
+
head :no_content
|
26
26
|
end
|
27
27
|
|
28
28
|
def associate
|
29
29
|
associator = HasManyAssociator.new(@resource, @association, params)
|
30
30
|
associator.perform
|
31
31
|
|
32
|
-
|
32
|
+
head :no_content
|
33
33
|
end
|
34
34
|
|
35
35
|
def dissociate
|
36
36
|
dissociator = HasManyDissociator.new(@resource, @association, params)
|
37
37
|
dissociator.perform
|
38
38
|
|
39
|
-
|
39
|
+
head :no_content
|
40
40
|
end
|
41
41
|
|
42
42
|
private
|
@@ -1,12 +1,6 @@
|
|
1
1
|
module ForestLiana
|
2
2
|
class OperatorDateIntervalParser
|
3
3
|
PERIODS = {
|
4
|
-
yesterday: { duration: 1, period: 'day' }, # TODO: Remove once new filter protocol is live
|
5
|
-
lastWeek: { duration: 1, period: 'week' }, # TODO: Remove once new filter protocol is live
|
6
|
-
last2Weeks: { duration: 2, period: 'week' }, # TODO: Remove once new filter protocol is live
|
7
|
-
lastMonth: { duration: 1, period: 'month' }, # TODO: Remove once new filter protocol is live
|
8
|
-
last3Months: { duration: 3, period: 'month' }, # TODO: Remove once new filter protocol is live
|
9
|
-
lastYear: { duration: 1, period: 'year' }, # TODO: Remove once new filter protocol is live
|
10
4
|
:$yesterday => { duration: 1, period: 'day' },
|
11
5
|
:$previousWeek => { duration: 1, period: 'week' },
|
12
6
|
:$previousMonth => { duration: 1, period: 'month' },
|
@@ -20,14 +14,10 @@ module ForestLiana
|
|
20
14
|
:$yearToDate => { duration: 1, period: 'year', to_date: true }
|
21
15
|
}
|
22
16
|
|
23
|
-
PERIODS_FROM_NOW = 'fromNow' # TODO: Remove once new filter protocol is live
|
24
|
-
PERIODS_TODAY_DEPRECATED = 'today' # TODO: Remove once new filter protocol is live
|
25
|
-
|
26
17
|
PERIODS_PAST = '$past';
|
27
18
|
PERIODS_FUTURE = '$future';
|
28
19
|
PERIODS_TODAY = '$today';
|
29
20
|
|
30
|
-
PERIODS_LAST_X_DAYS = /^last(\d+)days$/ # TODO: Remove once new filter protocol is live
|
31
21
|
PERIODS_PREVIOUS_X_DAYS = /^\$previous(\d+)Days$/;
|
32
22
|
PERIODS_X_DAYS_TO_DATE = /^\$(\d+)DaysToDate$/;
|
33
23
|
|
@@ -39,15 +29,8 @@ module ForestLiana
|
|
39
29
|
return false if @value.nil?
|
40
30
|
return true if PERIODS[@value.to_sym]
|
41
31
|
|
42
|
-
# TODO: Remove once new filter protocol is live
|
43
|
-
return true if [PERIODS_FROM_NOW, PERIODS_TODAY_DEPRECATED].include? @value
|
44
|
-
|
45
32
|
return true if [PERIODS_PAST, PERIODS_FUTURE, PERIODS_TODAY].include? @value
|
46
33
|
|
47
|
-
# TODO: Remove once new filter protocol is live
|
48
|
-
match = PERIODS_LAST_X_DAYS.match(@value)
|
49
|
-
return true if match && match[1]
|
50
|
-
|
51
34
|
match = PERIODS_PREVIOUS_X_DAYS.match(@value)
|
52
35
|
return true if match && match[1]
|
53
36
|
|
@@ -61,15 +44,8 @@ module ForestLiana
|
|
61
44
|
return false if @value.nil?
|
62
45
|
return true if PERIODS[@value.to_sym]
|
63
46
|
|
64
|
-
# TODO: Remove once new filter protocol is live
|
65
|
-
return true if PERIODS_TODAY_DEPRECATED == @value
|
66
|
-
|
67
47
|
return true if PERIODS_TODAY == @value
|
68
48
|
|
69
|
-
# TODO: Remove once new filter protocol is live
|
70
|
-
match = PERIODS_LAST_X_DAYS.match(@value)
|
71
|
-
return true if match && match[1]
|
72
|
-
|
73
49
|
match = PERIODS_PREVIOUS_X_DAYS.match(@value)
|
74
50
|
return true if match && match[1]
|
75
51
|
|
@@ -82,30 +58,14 @@ module ForestLiana
|
|
82
58
|
def get_interval_date_filter
|
83
59
|
return nil unless is_interval_date_value()
|
84
60
|
|
85
|
-
# TODO: Remove once new filter protocol is live
|
86
|
-
return ">= '#{Time.now}'" if @value == PERIODS_FROM_NOW
|
87
|
-
|
88
61
|
return ">= '#{Time.now}'" if @value == PERIODS_FUTURE
|
89
62
|
return "<= '#{Time.now}'" if @value == PERIODS_PAST
|
90
63
|
|
91
|
-
# TODO: Remove once new filter protocol is live
|
92
|
-
if @value == PERIODS_TODAY_DEPRECATED
|
93
|
-
return "BETWEEN '#{Time.now.beginning_of_day}' AND " +
|
94
|
-
"'#{Time.now.end_of_day}'"
|
95
|
-
end
|
96
|
-
|
97
64
|
if @value == PERIODS_TODAY
|
98
65
|
return "BETWEEN '#{Time.now.beginning_of_day}' AND " +
|
99
66
|
"'#{Time.now.end_of_day}'"
|
100
67
|
end
|
101
68
|
|
102
|
-
# TODO: Remove once new filter protocol is live
|
103
|
-
match = PERIODS_LAST_X_DAYS.match(@value)
|
104
|
-
if match && match[1]
|
105
|
-
return "BETWEEN '#{Integer(match[1]).day.ago.beginning_of_day}'" +
|
106
|
-
" AND '#{1.day.ago.end_of_day}'"
|
107
|
-
end
|
108
|
-
|
109
69
|
match = PERIODS_PREVIOUS_X_DAYS.match(@value)
|
110
70
|
if match && match[1]
|
111
71
|
return "BETWEEN '#{Integer(match[1]).day.ago.beginning_of_day}'" +
|
@@ -137,24 +97,11 @@ module ForestLiana
|
|
137
97
|
def get_interval_date_filter_for_previous_interval
|
138
98
|
return nil unless has_previous_interval()
|
139
99
|
|
140
|
-
# TODO: Remove once new filter protocol is live
|
141
|
-
if @value == PERIODS_TODAY_DEPRECATED
|
142
|
-
return "BETWEEN '#{1.day.ago.beginning_of_day}' AND " +
|
143
|
-
"'#{1.day.ago.end_of_day}'"
|
144
|
-
end
|
145
|
-
|
146
100
|
if @value == PERIODS_TODAY
|
147
101
|
return "BETWEEN '#{1.day.ago.beginning_of_day}' AND " +
|
148
102
|
"'#{1.day.ago.end_of_day}'"
|
149
103
|
end
|
150
104
|
|
151
|
-
# TODO: Remove once new filter protocol is live
|
152
|
-
match = PERIODS_LAST_X_DAYS.match(@value)
|
153
|
-
if match && match[1]
|
154
|
-
return "BETWEEN '#{(Integer(match[1]) * 2).day.ago.beginning_of_day}'" +
|
155
|
-
" AND '#{(Integer(match[1]) + 1).day.ago.end_of_day}'"
|
156
|
-
end
|
157
|
-
|
158
105
|
match = PERIODS_PREVIOUS_X_DAYS.match(@value)
|
159
106
|
if match && match[1]
|
160
107
|
return "BETWEEN '#{(Integer(match[1]) * 2).day.ago.beginning_of_day}'" +
|
data/lib/forest_liana.rb
CHANGED
@@ -15,7 +15,6 @@ module ForestLiana
|
|
15
15
|
mattr_accessor :models
|
16
16
|
mattr_accessor :excluded_models
|
17
17
|
mattr_accessor :included_models
|
18
|
-
mattr_accessor :inject_forest_cors
|
19
18
|
|
20
19
|
# Legacy.
|
21
20
|
mattr_accessor :jwt_signing_key
|
@@ -25,5 +24,4 @@ module ForestLiana
|
|
25
24
|
self.models = []
|
26
25
|
self.excluded_models = []
|
27
26
|
self.included_models = []
|
28
|
-
self.inject_forest_cors = true
|
29
27
|
end
|
data/lib/forest_liana/engine.rb
CHANGED
@@ -13,8 +13,6 @@ module ForestLiana
|
|
13
13
|
isolate_namespace ForestLiana
|
14
14
|
|
15
15
|
def configure_forest_cors
|
16
|
-
return unless ForestLiana.inject_forest_cors
|
17
|
-
|
18
16
|
rack_cors_class = Rack::Cors
|
19
17
|
rack_cors_class = 'Rack::Cors' if Rails::VERSION::MAJOR < 5
|
20
18
|
|
@@ -30,9 +28,10 @@ module ForestLiana
|
|
30
28
|
end
|
31
29
|
end
|
32
30
|
|
31
|
+
configure_forest_cors unless ENV['FOREST_CORS_DEACTIVATED']
|
32
|
+
|
33
33
|
config.after_initialize do |app|
|
34
34
|
unless Rails.env.test?
|
35
|
-
configure_forest_cors
|
36
35
|
app.eager_load!
|
37
36
|
Bootstraper.new(app).perform
|
38
37
|
end
|
data/lib/forest_liana/version.rb
CHANGED
@@ -116,7 +116,7 @@ module ForestLiana
|
|
116
116
|
test 'Filter on an updated_at field of the main collection' do
|
117
117
|
getter = ResourcesGetter.new(Owner, {
|
118
118
|
page: { size: 10, number: 1 },
|
119
|
-
filter: { 'updated_at' => '
|
119
|
+
filter: { 'updated_at' => '$previousYear' },
|
120
120
|
filterType: 'and'
|
121
121
|
})
|
122
122
|
getter.perform
|
@@ -131,7 +131,7 @@ module ForestLiana
|
|
131
131
|
test 'Filter on an updated_at field of an associated collection' do
|
132
132
|
getter = ResourcesGetter.new(Tree, {
|
133
133
|
page: { size: 10, number: 1 },
|
134
|
-
filter: { 'owner:updated_at' => '
|
134
|
+
filter: { 'owner:updated_at' => '$previousYear' },
|
135
135
|
filterType: 'and'
|
136
136
|
})
|
137
137
|
getter.perform
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forest_liana
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sandro Munda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|