arel_extensions 0.9.2 → 0.9.3

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: f9a9fe5819def3759928d0cea4cdcda31f3a4dbd
4
- data.tar.gz: 2f0585e04bbb88128e291061160db906baa15028
3
+ metadata.gz: 2aee321fcafb1aa18404760b6ea01de96837b0bf
4
+ data.tar.gz: 008c6af57efc1775384616d797c96eb2895481b2
5
5
  SHA512:
6
- metadata.gz: 556c4302bdb962dc5a6aaa1f6cfd625b42ae30c4df3a24c0283dbb62f1f380c0feff557fe941fefe84021f9be4ccb40b92adc1ceac2aaabc0d96a1f9ad472da6
7
- data.tar.gz: cf19efa4600c4b88dc061a28cc9c39b25452e159e9d871a896b1d25d0c8c3b8e4d6fa7578f55a44ea496c47b615e4b231dfdc6be9acc5434553c41119a2d6f02
6
+ metadata.gz: daa6d2206846f0eb7d28de5a4392888630d3120a2913b572cb4250609617574983cb708dfc38b1e8a28c39e72aaeaddb18826e379e4b9bc3098c2904d1ad48e6
7
+ data.tar.gz: 09080c3f2ae5800ee9722804630450274b61887c5816a52bf42d2580e94e332843607958e6830f35cf30724bf36ca5680dce5cdc6b91a7a91b081e2329e2a02e
data/.travis.yml CHANGED
@@ -1,6 +1,9 @@
1
1
  language: ruby
2
2
  sudo: required
3
- cache: bundler
3
+ cache:
4
+ bundler: true
5
+ directories:
6
+ - $ORACLE_DOWNLOAD_DIR
4
7
  before_install:
5
8
  - chmod +x .travis/oracle/download.sh
6
9
  - chmod +x .travis/oracle/install.sh
@@ -89,7 +89,7 @@ Phantom.createAsync({ parameters: { 'ssl-protocol': 'tlsv1' } }).then(function (
89
89
  '--cookie-jar', env['COOKIES'],
90
90
  '--data', '@-',
91
91
  '--location',
92
- '--output', require('path').basename(env['ORACLE_FILE']),
92
+ '--output', env['ORACLE_DOWNLOAD_FILE'],
93
93
  '--user-agent', env['USER_AGENT'],
94
94
  form.action
95
95
  ]];
@@ -1,12 +1,25 @@
1
1
  #!/bin/sh -e
2
+ # vim: set et sw=2 ts=2:
2
3
 
3
4
  [ -n "$ORACLE_COOKIE" ] || { echo "Missing ORACLE_COOKIE environment variable!"; exit 1; }
4
5
  [ -n "$ORACLE_FILE" ] || { echo "Missing ORACLE_FILE environment variable!"; exit 1; }
5
6
 
7
+ ORACLE_DOWNLOAD_FILE="$(basename "$ORACLE_FILE")"
8
+
9
+ if [ -n "$ORACLE_DOWNLOAD_DIR" ]; then
10
+ mkdir -p "$ORACLE_DOWNLOAD_DIR"
11
+ ORACLE_DOWNLOAD_FILE="$(readlink -f "$ORACLE_DOWNLOAD_DIR")/$ORACLE_DOWNLOAD_FILE"
12
+ fi
13
+
14
+ if [ "${*#*--unless-exists}" != "$*" ] && [ -f "$ORACLE_DOWNLOAD_FILE" ]; then
15
+ exit 0
16
+ fi
17
+
6
18
  cd "$(dirname "$(readlink -f "$0")")"
7
19
 
8
20
  npm install bluebird node-phantom-simple
9
21
 
22
+ export ORACLE_DOWNLOAD_FILE
10
23
  export COOKIES='cookies.txt'
11
24
  export USER_AGENT='Mozilla/5.0'
12
25
 
@@ -1,9 +1,11 @@
1
1
  #!/bin/sh -e
2
+ # vim: set et sw=2 ts=2:
2
3
 
4
+ [ -z "$ORACLE_DOWNLOAD_DIR" ] || ORACLE_DOWNLOAD_DIR="$(readlink -f "$ORACLE_DOWNLOAD_DIR")/"
3
5
  [ -n "$ORACLE_FILE" ] || { echo "Missing ORACLE_FILE environment variable!"; exit 1; }
4
6
  [ -n "$ORACLE_HOME" ] || { echo "Missing ORACLE_HOME environment variable!"; exit 1; }
5
7
 
6
- ORACLE_RPM="$(basename $ORACLE_FILE .zip)"
8
+ ORACLE_RPM="$(basename "$ORACLE_FILE" .zip)"
7
9
 
8
10
  cd "$(dirname "$(readlink -f "$0")")"
9
11
 
@@ -18,7 +20,7 @@ test -f /sbin/chkconfig ||
18
20
 
19
21
  test -d /var/lock/subsys || sudo mkdir /var/lock/subsys
20
22
 
21
- unzip -j "$(basename $ORACLE_FILE)" "*/$ORACLE_RPM"
23
+ unzip -j "${ORACLE_DOWNLOAD_DIR}$(basename "$ORACLE_FILE")" "*/$ORACLE_RPM"
22
24
  sudo rpm --install --nodeps --nopre "$ORACLE_RPM"
23
25
 
24
26
  echo 'OS_AUTHENT_PREFIX=""' | sudo tee -a "$ORACLE_HOME/config/scripts/init.ora" > /dev/null
@@ -8,5 +8,14 @@ module ArelExtensions
8
8
  super expr
9
9
  end
10
10
  end
11
+
12
+ class NotBlank < Function
13
+ @@return_type = :boolean
14
+
15
+ def initialize expr
16
+ super expr
17
+ end
18
+ end
19
+
11
20
  end
12
21
  end
@@ -83,5 +83,9 @@ module ArelExtensions
83
83
  ArelExtensions::Nodes::Blank.new [self]
84
84
  end
85
85
 
86
+ def not_blank
87
+ ArelExtensions::Nodes::NotBlank.new [self]
88
+ end
89
+
86
90
  end
87
91
  end
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module ArelExtensions
3
- VERSION = "0.9.2".freeze
3
+ VERSION = "0.9.3".freeze
4
4
  end
@@ -168,6 +168,13 @@ module ArelExtensions
168
168
  collector
169
169
  end
170
170
 
171
+ def visit_ArelExtensions_Nodes_NotBlank o, collector
172
+ collector << 'CASE WHEN LEN(LTRIM(RTRIM(ISNULL('
173
+ collector = visit o.left, collector
174
+ collector << ", '')))) = 0 THEN 0 ELSE 1 END"
175
+ collector
176
+ end
177
+
171
178
  def visit_ArelExtensions_Nodes_Format o, collector
172
179
  f = o.iso_format.dup
173
180
  Arel::Visitors::MSSQL::DATE_FORMAT_DIRECTIVES.each { |d, r| f.gsub!(d, r) }
@@ -126,7 +126,7 @@ module ArelExtensions
126
126
 
127
127
  def visit_ArelExtensions_Nodes_Rand o, collector
128
128
  collector << "DBMS_RANDOM.VALUE("
129
- if(o.left != nil && o.right != nil)
129
+ if o.left && o.right
130
130
  collector = visit o.left, collector
131
131
  collector << Arel::Visitors::Oracle::COMMA
132
132
  collector = visit o.right, collector
@@ -208,6 +208,13 @@ module ArelExtensions
208
208
  collector
209
209
  end
210
210
 
211
+ def visit_ArelExtensions_Nodes_NotBlank o, collector
212
+ collector << '(CASE WHEN ('
213
+ collector = visit o.left, collector
214
+ collector << " = '') THEN 0 ELSE 1 END)"
215
+ collector
216
+ end
217
+
211
218
  def visit_ArelExtensions_Nodes_DateAdd o, collector
212
219
  collector << '('
213
220
  collector = visit o.left, collector
@@ -161,6 +161,16 @@ module ArelExtensions
161
161
  collector
162
162
  end
163
163
 
164
+
165
+ def visit_ArelExtensions_Nodes_NotBlank o, collector
166
+ collector << 'LENGTH(TRIM(COALESCE('
167
+ collector = visit o.left, collector
168
+ collector << Arel::Visitors::ToSql::COMMA
169
+ collector = visit Arel::Nodes.build_quoted(''), collector
170
+ collector << "))) > 0"
171
+ collector
172
+ end
173
+
164
174
  def visit_ArelExtensions_Nodes_Format o, collector
165
175
  case o.col_type
166
176
  when :date, :datetime
@@ -245,8 +245,10 @@ module ArelExtensions
245
245
  def test_blank
246
246
  if @env_db == 'postgresql'
247
247
  assert_includes [false, 'f'], t(@myung, @name.blank) # depends of adapter
248
+ assert_includes [true, 't'], t(@myung, @name.not_blank) # depends of adapter
248
249
  else
249
250
  assert_equal 0, t(@myung, @name.blank)
251
+ assert_equal 1, t(@myung, @name.not_blank)
250
252
  end
251
253
  skip "Oracle requires cast for CLOB" if @env_db == 'oracle' # comments is CLOB, CHAR expected
252
254
  if @env_db == 'postgresql'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arel_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yann Azoury
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-11-10 00:00:00.000000000 Z
13
+ date: 2016-11-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: arel