forest_liana 1.3.19 → 1.3.20

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a6ef592b7aec3837d2dc0e9aa0c0e53ef769edc
4
- data.tar.gz: 73a6c573d1e7b47e6a20a41c3e79d98d603c8f75
3
+ metadata.gz: d22129c084d7e29d002d3f9eceafaa226f5adfcd
4
+ data.tar.gz: b43171af7d808adcde2fe004639333ef17f546db
5
5
  SHA512:
6
- metadata.gz: 0f756eaac706fc386c56804745e04dc07ce576bc9553528b5b7979b4928e91f2eb892b901412878e797045032a926f271dc94604903ae5bff4e950be237545ba
7
- data.tar.gz: b33f900ac08db1e5c24d977be7658ac83b710339e7394697bd7f63c11a6df0d95d7609ca1df7b5268ae2d4b4592a70c38aacfccfda8d7d6a3a4a70dd1723b685
6
+ metadata.gz: 3e53ec6f00d69104392fb8bf673bbadc1e4770e310a69c42ab6c508dd6229039c998419d97cabac8d423802935a8c938dad78535446d8666f59b2575052a6f80
7
+ data.tar.gz: f9b2ace7f66785970d20b753d36c580803d4db8d4b25706161179a053223121faace6128b47e95a383ca34ffacb43c2707c57323cbd1bbccf065af9151abd576
@@ -37,6 +37,11 @@ module ForestLiana
37
37
  filter = operator_date_interval_parser.get_interval_date_filter()
38
38
  query = query.where("#{field_name} #{filter}")
39
39
  else
40
+ # NOTICE: Set the integer value instead of a string if "enum" type
41
+ if resource.defined_enums.has_key?(field)
42
+ value = resource.defined_enums[field][value]
43
+ end
44
+
40
45
  where = "#{field_name} #{operator}"
41
46
  where += " '#{value}'" if value
42
47
  query = query.where(where)
@@ -160,7 +160,8 @@ module ForestLiana
160
160
  end
161
161
 
162
162
  def get_schema_for_column(column)
163
- { field: column.name, type: get_type_for(column) }
163
+ schema = { field: column.name, type: get_type_for(column) }
164
+ add_enum_values_if_is_enum(schema, column)
164
165
  end
165
166
 
166
167
  def get_schema_for_association(association)
@@ -173,6 +174,8 @@ module ForestLiana
173
174
  end
174
175
 
175
176
  def get_type_for(column)
177
+ return 'Enum' if @model.defined_enums.has_key?(column.name)
178
+
176
179
  case column.type
177
180
  when :integer
178
181
  'Number'
@@ -193,6 +196,17 @@ module ForestLiana
193
196
  end
194
197
  end
195
198
 
199
+ def add_enum_values_if_is_enum(column_schema, column)
200
+ if column_schema[:type] == 'Enum'
201
+ column_schema[:enums] = []
202
+ @model.defined_enums[column.name].each do |name, value|
203
+ column_schema[:enums] << name
204
+ end
205
+ end
206
+
207
+ column_schema
208
+ end
209
+
196
210
  def get_ref_for(association)
197
211
  if association.options[:polymorphic] == true
198
212
  '*.id'
@@ -23,10 +23,15 @@ module ForestLiana
23
23
  if column.name == 'id'
24
24
  conditions << "#{@resource.table_name}.id =
25
25
  #{@params[:search].to_i}"
26
+ elsif @resource.defined_enums.has_key?(column.name) &&
27
+ !@resource.defined_enums[column.name][@params[:search].downcase].nil?
28
+ conditions << "\"#{@resource.table_name}\".\"#{column.name}\" =
29
+ #{@resource.defined_enums[column.name][@params[:search].downcase]}"
26
30
  elsif !column.array && (column.type == :string ||
27
31
  column.type == :text)
28
32
  conditions <<
29
- "\"#{@resource.table_name}\".\"#{column.name}\" ILIKE '%#{@params[:search].downcase}%'"
33
+ "LOWER(\"#{@resource.table_name}\".\"#{column.name}\") LIKE " +
34
+ "'%#{@params[:search].downcase}%'"
30
35
  end
31
36
  end
32
37
 
@@ -35,7 +40,7 @@ module ForestLiana
35
40
  resource.klass.columns.each do |column|
36
41
  if !column.array && (column.type == :string || column.type == :text)
37
42
  conditions <<
38
- "\"#{resource.table_name}\".\"#{column.name}\" ILIKE " +
43
+ "LOWER(\"#{resource.table_name}\".\"#{column.name}\") LIKE " +
39
44
  "'%#{@params[:search].downcase}%'"
40
45
  end
41
46
  end
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "1.3.19"
2
+ VERSION = "1.3.20"
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.19
4
+ version: 1.3.20
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-08-04 00:00:00.000000000 Z
11
+ date: 2016-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails