norikra-udf-dateformat 0.1.0-java

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9714993037795bf2564a539e34be3af3abfcde4f
4
+ data.tar.gz: a1fc7e655e9d351ddcbbe4f4006db87a8132c336
5
+ SHA512:
6
+ metadata.gz: ae944d13995172d60067985eda5e7e3aecbcc36c16605384b78c8a6f5733d2b70292be5c9253fabd4ff9d8e0c11e71331e429784fa7cd318e550b173ff8adc69
7
+ data.tar.gz: a46cfa705d4926a08c9bfd7fe14e116ae750d384081291621c375aac249f90b170d8436006a9266d923ff036ecf6d7bc5fcba88f788e5b630b00e20317bf462f
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ jruby-1.7.9
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in norikra-udf-dateformat.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # Norikra::UDF::DateFormat
2
+
3
+ Norikra UDF for flexible date formatting.
4
+
5
+ ## Installation
6
+
7
+ On JRuby which Norikra runs:
8
+
9
+ $ gem install norikra-udf-dateformat
10
+
11
+ ## Usage
12
+
13
+ For a field `timestamp` which has the UNIX timestamp in a **millisecond** range,
14
+
15
+ ```sql
16
+ SELECT dateformat(timestamp, 'yyyy-MM-dd HH:mm:ss', 'UTC') AS s_date
17
+ FROM test_target.win:time_batch(5 min)
18
+ ```
19
+
20
+ ## License
21
+
22
+ MIT
data/Rakefile ADDED
@@ -0,0 +1,28 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:spec) do |t|
5
+ t.rspec_opts = ["-Ijar", "-Ilib", "-c", "-f progress"] # '--format specdoc'
6
+ t.pattern = 'spec/**/*_spec.rb'
7
+ end
8
+
9
+ task :compile do
10
+ require 'rubygems'
11
+
12
+ jarname = FileList['norikra-udf-*.gemspec'].first.gsub(/\.gemspec$/, '.jar')
13
+
14
+ jarfiles = FileList['jar/**/*.jar'].select{|f| not f.end_with?('/' + jarname)}
15
+ jarfiles << Gem.find_latest_files('esper-*.jar').first
16
+
17
+ java_classpath = "-classpath src:java:#{jarfiles.join(':')}"
18
+ FileList['java/**/*.java'].each do |fn|
19
+ sh "env LC_ALL=C javac #{java_classpath} #{fn}"
20
+ end
21
+
22
+ sh "env LC_ALL=C jar -cf jar/#{jarname} -C java ."
23
+ end
24
+
25
+ task :test => [:compile, :spec]
26
+ task :default => :test
27
+
28
+ task :all => [:compile, :spec, :build]
Binary file
@@ -0,0 +1,14 @@
1
+ package me.takuti.norikra.udf;
2
+
3
+ import java.util.Date;
4
+ import java.util.TimeZone;
5
+ import java.text.SimpleDateFormat;
6
+
7
+ public final class DateFormat {
8
+ public static String format(final long timestamp, final String pattern, final String zone) {
9
+ SimpleDateFormat df = new SimpleDateFormat(pattern);
10
+ df.setTimeZone(TimeZone.getTimeZone(zone));
11
+
12
+ return df.format(new Date(timestamp));
13
+ }
14
+ }
@@ -0,0 +1,16 @@
1
+ require 'java'
2
+ require 'norikra/udf'
3
+
4
+ module Norikra
5
+ module UDF
6
+ class DateFormat < Norikra::UDF::SingleRow
7
+ def self.init
8
+ require 'norikra-udf-dateformat.jar'
9
+ end
10
+
11
+ def definition
12
+ ["dateformat", "me.takuti.norikra.udf.DateFormat", "format"]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "norikra-udf-dateformat"
7
+ spec.version = "0.1.0"
8
+ spec.authors = ["Takuya Kitazawa"]
9
+ spec.email = ["k.takuti@gmail.com"]
10
+
11
+ spec.summary = %q{Norikra UDF for flexible date formatting.}
12
+ spec.description = %q{Norikra UDF for flexible date formatting.}
13
+ spec.homepage = "https://github.com/takuti/norikra-udf-dateformat"
14
+ spec.platform = "java"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "exe"
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib", "jar"]
20
+
21
+ spec.add_runtime_dependency "norikra"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.12"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rspec", "~> 3.0"
26
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: norikra-udf-dateformat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: java
6
+ authors:
7
+ - Takuya Kitazawa
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-08-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - '>='
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ name: norikra
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '1.12'
33
+ name: bundler
34
+ prerelease: false
35
+ type: :development
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.12'
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: '10.0'
47
+ name: rake
48
+ prerelease: false
49
+ type: :development
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ version: '3.0'
61
+ name: rspec
62
+ prerelease: false
63
+ type: :development
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ description: Norikra UDF for flexible date formatting.
70
+ email:
71
+ - k.takuti@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - .gitignore
77
+ - .ruby-version
78
+ - Gemfile
79
+ - README.md
80
+ - Rakefile
81
+ - jar/norikra-udf-dateformat.jar
82
+ - java/me/takuti/norikra/udf/DateFormat.class
83
+ - java/me/takuti/norikra/udf/DateFormat.java
84
+ - lib/norikra/udf/dateformat.rb
85
+ - norikra-udf-dateformat.gemspec
86
+ homepage: https://github.com/takuti/norikra-udf-dateformat
87
+ licenses: []
88
+ metadata: {}
89
+ post_install_message:
90
+ rdoc_options: []
91
+ require_paths:
92
+ - lib
93
+ - jar
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubyforge_project:
106
+ rubygems_version: 2.1.9
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: Norikra UDF for flexible date formatting.
110
+ test_files: []