sparkql 1.1.2 → 1.1.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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDJhMGNlYzU2MzNhMzQyZTZjMjE1YWQzYzQxZmZhNmQyZTkwNzEwOQ==
4
+ NjU4ZTc2ZWNiYjIyODYxYjNmZTY1ZmZmOGExZTc2MmRkMGFjMGIwYg==
5
5
  data.tar.gz: !binary |-
6
- MDc2M2E2NDk3MjQwNTI4NWExZWRhMTE1OGFhNzYwYTg2YTViMDhkNQ==
6
+ MzBjYjdhY2E3MTNlMDZjMzU5MDI3NTYzZTVlMDE0NmZiMzQ0OTc4Yg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YmI0ZTZjNmFjYjNjZThiMTVlMWJhNTkxN2EwNDI3YmRmZTg3ZmYyNDJiYTdm
10
- OWFhMTQ5NDhlY2EwNGRkMzE3MGU0NTlhZDQwZWNmMGUzMThkM2JiZjVmOTAy
11
- YmE0ZmE3OWFmY2RiZWEyYjJlNjE4MGVmN2NjMTc2OWQ0ODJlYTY=
9
+ ZmQ5NjAxMTg4M2FlMTI1ZjJkMmZmNzQ5OGMwYTNiYWQxNTk0OWU2ZGI0ZDZm
10
+ MTQwZDQ3ZDViY2U4NDIyNDU2ODg2NjlmZDgwZDEzZWY4ZGM4NTgyNWFlMzJh
11
+ MjExZmUxZjA2MTI1OTBiMzgxMWEzNDljNzE3YTRhM2YyNmZjMTY=
12
12
  data.tar.gz: !binary |-
13
- OGQ5OGI2YzdlNmUxYTVkOTJhNjk3NGEwM2ExODAwZGQ4MDA3M2M5YmVjNDcx
14
- M2RlNmU3YjU5Zjk5NTgyNjljOTI2ZjZmODRmZjljZTExOTIwNzM3ZTdiMGJk
15
- ZDc2NTI3NWUzMTlhOTg5NzM1NWYxOTg5ZDJkMTY1MTc4YmRhNDY=
13
+ OTFiNjcxN2I1NGUzYzg2ZWEyZjI1OWNiZDZmZWE1MGFmNmE5OWJiZjEwNTNh
14
+ OTUwNDEwODI3Nzk2OWRkNzJjMzU5YzJhYjRjNzVjNDA0MTFjM2JiN2U1ZTVh
15
+ NDU0NzU4ZmUxOTJlYzQ4OThjY2MxOTk2NzgxZjM0NzY3M2I4Njc=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ v1.1.3, 2016-11-10 ([changes](https://github.com/sparkapi/sparkql/compare/v1.1.2...v1.1.3))
2
+ -------------------
3
+ * [IMPROVEMENT] New functions: tolower() and toupper()
4
+
1
5
  v1.1.2, 2016-11-08 ([changes](https://github.com/sparkapi/sparkql/compare/v1.1.1...v1.1.2))
2
6
  -------------------
3
7
  * [IMPROVEMENT] New functions: year(), month(), day(), hour(), minute(), second(), and
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.2
1
+ 1.1.3
@@ -34,6 +34,16 @@ class Sparkql::FunctionResolver
34
34
  }],
35
35
  :return_type => :character
36
36
  },
37
+ :tolower => {
38
+ :args => [[:field, :character]],
39
+ :resolve_for_type => true,
40
+ :return_type => :character
41
+ },
42
+ :toupper => {
43
+ :args => [[:field, :character]],
44
+ :resolve_for_type => true,
45
+ :return_type => :character
46
+ },
37
47
  :linestring => {
38
48
  :args => [:character],
39
49
  :return_type => :shape
@@ -41,7 +51,7 @@ class Sparkql::FunctionResolver
41
51
  :days => {
42
52
  :args => [:integer],
43
53
  :return_type => :datetime
44
- },
54
+ },
45
55
  :months => {
46
56
  :args => [:integer],
47
57
  :return_type => :datetime
@@ -217,7 +227,36 @@ class Sparkql::FunctionResolver
217
227
  :value => regular_expression
218
228
  }
219
229
  end
220
-
230
+
231
+ def tolower_character(string)
232
+ {
233
+ :type => :character,
234
+ :value => string.to_s.downcase
235
+ }
236
+ end
237
+
238
+ def tolower_field(arg) {
239
+ :type => :function,
240
+ :value => "tolower",
241
+ :args => [arg]
242
+ }
243
+ end
244
+
245
+ def toupper_character(string)
246
+ {
247
+ :type => :character,
248
+ :value => string.to_s.upcase
249
+ }
250
+ end
251
+
252
+ def toupper_field(arg)
253
+ {
254
+ :type => :function,
255
+ :value => "toupper",
256
+ :args => [arg]
257
+ }
258
+ end
259
+
221
260
  # Offset the current timestamp by a number of days
222
261
  def days(num)
223
262
  # date calculated as the offset from midnight tommorrow. Zero will provide values for all times
@@ -14,6 +14,44 @@ class FunctionResolverTest < Test::Unit::TestCase
14
14
  assert_equal(["35.12 -68.33", 1.0], value[:function_parameters])
15
15
  end
16
16
 
17
+ test "tolower(SomeField)" do
18
+ f = FunctionResolver.new('tolower', [{:type => :field, :value => "City"}])
19
+ f.validate
20
+ assert !f.errors?, "Errors #{f.errors.inspect}"
21
+ value = f.call
22
+ assert_equal :function, value[:type]
23
+ assert_equal 'tolower', value[:value]
24
+ assert_equal "City", value[:args].first
25
+ end
26
+
27
+ test "tolower('string')" do
28
+ f = FunctionResolver.new('tolower', [{:type => :character, :value => "STRING"}])
29
+ f.validate
30
+ assert !f.errors?, "Errors #{f.errors.inspect}"
31
+ value = f.call
32
+ assert_equal :character, value[:type]
33
+ assert_equal 'string', value[:value]
34
+ end
35
+
36
+ test "toupper(SomeField)" do
37
+ f = FunctionResolver.new('toupper', [{:type => :field, :value => "City"}])
38
+ f.validate
39
+ assert !f.errors?, "Errors #{f.errors.inspect}"
40
+ value = f.call
41
+ assert_equal :function, value[:type]
42
+ assert_equal 'toupper', value[:value]
43
+ assert_equal "City", value[:args].first
44
+ end
45
+
46
+ test "toupper('string')" do
47
+ f = FunctionResolver.new('toupper', [{:type => :character, :value => "string"}])
48
+ f.validate
49
+ assert !f.errors?, "Errors #{f.errors.inspect}"
50
+ value = f.call
51
+ assert_equal :character, value[:type]
52
+ assert_equal 'STRING', value[:value]
53
+ end
54
+
17
55
  test "now()" do
18
56
  start = Time.now
19
57
  f = FunctionResolver.new('now', [])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sparkql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wade McEwen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-08 00:00:00.000000000 Z
11
+ date: 2016-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: georuby