baseapi 0.2.1 → 0.2.2

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