arel_extensions 0.9.2 → 0.9.3

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