forest_liana 1.3.38 → 1.3.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1cde4bb3429644d835f65734a4f348c33b967208
4
- data.tar.gz: f20804881cbec36f1f5f0df3b492d0428a7cb344
3
+ metadata.gz: 208db14b90ae794308c7e3ef5621a8bbaf62a0d5
4
+ data.tar.gz: 1a3ba573ecb160e624a7fc6ba5f8af2017f129bc
5
5
  SHA512:
6
- metadata.gz: 93673accf3fd1303ea835adaca35f3134d40cdac0dc2701ba50220e825e3a97083f7bb46ba1e11c566f1ecc1aa752dcc2bb285b46ef790dfe52b1923a2b5fe08
7
- data.tar.gz: 70e8d8ceafbfef83d6a1cca8c5618a1a1f54814d728acc82dd6ba2b7ac54dbf19535164fec6ee1700227048f4a75d7e9068969b8c5eb262d862a59e40f448064
6
+ metadata.gz: 26a1cd352db2173795d39cfa4f809be5377ba45ff09b2e6899b82dc510f269dabe23083a8e3d19250defe991f87cb3f15b7c9ef9472d38e0d6f1d2b4f78dea27
7
+ data.tar.gz: 25ef2a597b669de7251b048c53a0743a17ec5eb2e69fdcca3b97adb5ee4bb3fc60d782daa0925e3fcac794c0e9ac7f6ec86c0aa8b6d966efa7191057f0ed7e0b
@@ -9,6 +9,8 @@ module ForestLiana
9
9
  lastYear: { duration: 1, period: 'year' }
10
10
  }
11
11
 
12
+ PERIODS_FROM_NOW = 'fromNow'
13
+ PERIODS_TODAY = 'today'
12
14
  PERIODS_LAST_X_DAYS = /^last(\d+)days$/
13
15
 
14
16
  def initialize(value)
@@ -18,6 +20,18 @@ module ForestLiana
18
20
  def is_interval_date_value
19
21
  return false if @value.nil?
20
22
  return true if PERIODS[@value.to_sym]
23
+ return true if [PERIODS_FROM_NOW, PERIODS_TODAY].include? @value
24
+
25
+ match = PERIODS_LAST_X_DAYS.match(@value)
26
+ return true if match && match[1]
27
+
28
+ false
29
+ end
30
+
31
+ def has_previous_interval
32
+ return false if @value.nil?
33
+ return true if PERIODS[@value.to_sym]
34
+ return true if PERIODS_TODAY == @value
21
35
 
22
36
  match = PERIODS_LAST_X_DAYS.match(@value)
23
37
  return true if match && match[1]
@@ -28,8 +42,18 @@ module ForestLiana
28
42
  def get_interval_date_filter
29
43
  return nil unless is_interval_date_value()
30
44
 
45
+ return ">= '#{Time.now}'" if @value == PERIODS_FROM_NOW
46
+
47
+ if @value == PERIODS_TODAY
48
+ return "BETWEEN '#{Time.now.beginning_of_day}' AND " +
49
+ "'#{Time.now.end_of_day}'"
50
+ end
51
+
31
52
  match = PERIODS_LAST_X_DAYS.match(@value)
32
- return ">= '#{Integer(match[1]).day.ago}'" if match && match[1]
53
+ if match && match[1]
54
+ return "BETWEEN '#{Integer(match[1]).day.ago.beginning_of_day}'" +
55
+ " AND '#{1.day.ago.end_of_day}'"
56
+ end
33
57
 
34
58
  duration = PERIODS[@value.to_sym][:duration]
35
59
  period = PERIODS[@value.to_sym][:period]
@@ -40,12 +64,17 @@ module ForestLiana
40
64
  end
41
65
 
42
66
  def get_interval_date_filter_for_previous_interval
43
- return nil unless is_interval_date_value()
67
+ return nil unless has_previous_interval()
68
+
69
+ if @value == PERIODS_TODAY
70
+ return "BETWEEN '#{1.day.ago.beginning_of_day}' AND " +
71
+ "'#{1.day.ago.end_of_day}'"
72
+ end
44
73
 
45
74
  match = PERIODS_LAST_X_DAYS.match(@value)
46
75
  if match && match[1]
47
- return "BETWEEN #{Integer(match[1] * 2).day.ago}" +
48
- " AND #{Integer(match[1]).day.ago}"
76
+ return "BETWEEN '#{Integer(match[1] * 2).day.ago.beginning_of_day}'" +
77
+ " AND '#{Integer(match[1]).day.ago.end_of_day}'"
49
78
  end
50
79
 
51
80
  duration = PERIODS[@value.to_sym][:duration]
@@ -22,7 +22,7 @@ module ForestLiana
22
22
  @params[:filters].try(:each) do |filter|
23
23
  operator, filter_value = OperatorValueParser.parse(filter[:value])
24
24
  operator_date_interval_parser = OperatorDateIntervalParser.new(filter_value)
25
- if operator_date_interval_parser.is_interval_date_value()
25
+ if operator_date_interval_parser.has_previous_interval()
26
26
  field_name = OperatorValueParser.get_field_name(filter[:field], @resource)
27
27
  filter = operator_date_interval_parser
28
28
  .get_interval_date_filter_for_previous_interval()
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "1.3.38"
2
+ VERSION = "1.3.39"
3
3
  end
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.3.38
4
+ version: 1.3.39
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-09-20 00:00:00.000000000 Z
11
+ date: 2016-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails