forest_liana 1.3.19 → 1.3.20

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: 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