baseapi 0.2.1 → 0.2.2

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: 7f5339478bc2653be67fcb329a8b0e9018ba05a6
4
- data.tar.gz: 262730637fe3012ca100d2d91471455f7da12631
3
+ metadata.gz: b313df722414e8749b8df3eed5285523e9a6157d
4
+ data.tar.gz: e9b36b65e4a8f90e8a5ab6d97a8ffb072a692c84
5
5
  SHA512:
6
- metadata.gz: be8e6c42b09ed525d0626c5d6e423111b47a46f41fa54396e0343d88a0edf9136d7bf80f04a4c6661e2a7d5e5b665944b034534b25cd18c58a1f83367e3e8221
7
- data.tar.gz: 31fe1fe8af4c46bb6a676dec83ff54ab1156e081ae437f5464b14baade3ec92ed5229bf9151b622e197679c118e0f19dba8dc1a2247bb669fc3a3e9afcfe1b8a
6
+ metadata.gz: 4ebb46b0fcbfe857ce35cd20718f24fc1c1bbe7ff25562d5de33476df022e80412168eb1fa3ab0453717a436906a9ccb0ec446a19f4958ebd02ff52797f5545f
7
+ data.tar.gz: a843e96da1e5cdb938afbd52f445c5fc5f468867bd31cbbbe82285b117c7ab33cb1d8a39fdfb8f13a739b268ed6ccccfb9c7c948e4d1c03b94ed0366104e5489
@@ -47,7 +47,7 @@ module ActiveRecordBaseExtension extend ActiveSupport::Concern
47
47
  # @option String operator 'or' or 'and'
48
48
  def column_like(models, column, values, operator:'or')
49
49
  column_call(models, column, values, ->(column, value){
50
- "#{getPrefix(value)} #{models.name.pluralize.underscore}.#{column} #{getOperator(value, 'like')} #{getValue("#{models.name.pluralize.underscore}.#{column}", value, "%", "'")}"
50
+ "#{getPrefix(value)} #{models.name.pluralize.underscore}.#{column} #{getOperator(value, 'like')} #{getValue("#{models.name.pluralize.underscore}.#{column}", escape_like(value), "%", "'")}"
51
51
  }, operator:operator)
52
52
  end
53
53
 
@@ -97,7 +97,7 @@ module ActiveRecordBaseExtension extend ActiveSupport::Concern
97
97
  # @option String operator 'or' or 'and'
98
98
  def relation_like(models, table, hash, operator:'or')
99
99
  relation_call(models, table, hash, ->(table, column, value){
100
- "#{getPrefix(value)} #{table}.#{column} #{getOperator(value, 'like')} #{getValue("#{table}.#{column}", value, "%", "'")}"
100
+ "#{getPrefix(value)} #{table}.#{column} #{getOperator(value, 'like')} #{getValue("#{table}.#{column}", escape_like(value), "%", "'")}"
101
101
  }, operator:operator)
102
102
  end
103
103
 
@@ -179,6 +179,13 @@ module ActiveRecordBaseExtension extend ActiveSupport::Concern
179
179
  val
180
180
  end
181
181
 
182
+ # escape like
183
+ # @param String
184
+ # @return String
185
+ def escape_like(string)
186
+ string.gsub(/[\\%_]/){|m| "\\#{m}"}
187
+ end
188
+
182
189
 
183
190
  # get relation tables
184
191
  # @param String relate 'belongs_to','hasmany'..
@@ -1,3 +1,3 @@
1
1
  module Baseapi
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baseapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moriyuki Arakawa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-07 00:00:00.000000000 Z
11
+ date: 2015-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler