shades 0.16 → 0.17

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,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzlmYmQ3MTc0MTQ5NWM3MjNlMDBhNzU5MGIzMDM2ODk4NmQ0OTcyOQ==
5
- data.tar.gz: !binary |-
6
- OWM3ZjJjNDE5NzI4OGU0MWM3NmRhNzAzOWI5NGVjMmNjYTQ3ZmEwOQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MGVkM2YxOWEwNzgyMWM2NzBlNTViOGY0ZjQ5YjEyMDg2OTY2ZWI0YmFjNWI3
10
- YTNiOTM2OGI1YjllNmQ3YzM0NjM4ZTA0NDIzYjQzOGI3NDU2ZDQzODdmOWI3
11
- M2IwMjUxMzJkNmRjODkzMjFmZTk5ODRmNWUwZTYyNzVjNzFmNjA=
12
- data.tar.gz: !binary |-
13
- ZTc0YzY2NzA1MDgzZGFkNGVhNTY4Njc0ODBmYjY3MzczOTQzN2RhZTdlNjJj
14
- ZTZhMDZlMmZjMWNlYTJiZWQ4ODY4YjczYjFmZTUwOGM2NmIzZjBmNWI4ZDQw
15
- NjI0NmZhMGM1OGI1Nzg4ZDIyZjUyZTIwNTI2YmViY2Q0YjllY2M=
2
+ SHA1:
3
+ metadata.gz: d9d8ca3bf32d96256209ac2fe7db83c8e8923eda
4
+ data.tar.gz: feda5c6eb9ce7ae997f312eb6a70d56552666493
5
+ SHA512:
6
+ metadata.gz: 95281754e804b285e319e855f3682267cf3b489d2676d99123dfc5d40dc35cef1d94acecea1fa23f2ac8131cc671615ce6c89d8985581313f09d1121e6e65628
7
+ data.tar.gz: d547693e74ed71eb5b36f076bc343c00b71bc6b370102336586013b525ffcde3b01841f97bd6bf66569cdfd235f07e11819179b73890a263a3ad6ff33eabead8
data/bin/shades CHANGED
@@ -4,7 +4,9 @@ $: << File.realpath(File.dirname(__FILE__) + "/../lib")
4
4
  require 'getoptlong'
5
5
  require 'shades'
6
6
 
7
- def main(parseable_output, q)
7
+ require 'json'
8
+
9
+ def main(parseable_output, json_output, q)
8
10
 
9
11
  events_in = []
10
12
  p = Shades::StreamParser.new do |e|
@@ -16,21 +18,29 @@ def main(parseable_output, q)
16
18
  end
17
19
 
18
20
  events_out = q.run(events_in)
19
- fmt = Shades::Formatter.new(" ")
20
- if parseable_output
21
- fmt.text($stdout, events_out)
21
+
22
+ if json_output
23
+ puts events_out.map { |e| e.to_map }.to_json
22
24
  else
23
- fmt.pretty_text($stdout, events_out)
25
+ fmt = Shades::Formatter.new(" ")
26
+ if parseable_output
27
+ fmt.text($stdout, events_out)
28
+ else
29
+ fmt.pretty_text($stdout, events_out)
30
+ end
24
31
  end
25
32
  end
26
33
 
27
34
  opt_parser = GetoptLong.new
28
35
  opt_parser.set_options(
29
36
  # create output that can itself be used as input to this program
30
- ["-p", "--parseable", GetoptLong::NO_ARGUMENT]
37
+ ["-p", "--parseable", GetoptLong::NO_ARGUMENT],
38
+ # json output
39
+ ["-j", "--json", GetoptLong::NO_ARGUMENT],
31
40
  )
32
41
 
33
42
  parseable_output = false
43
+ json_output = false
34
44
 
35
45
  begin
36
46
  begin
@@ -39,12 +49,14 @@ begin
39
49
  case opt
40
50
  when "-p" || "--parseable"
41
51
  parseable_output = true
52
+ when "-j" || "--json"
53
+ json_output = true
42
54
  end
43
55
  rescue => err
44
- $stderr.puts err.message
56
+ $stderr.puts err.message
45
57
  end
46
58
  end while 1
47
59
 
48
60
  qs = ARGV[-1]
49
61
  q = Shades::QueryParser::parse(qs)
50
- main(parseable_output, q)
62
+ main(parseable_output, json_output, q)
@@ -233,6 +233,25 @@ module Shades
233
233
  f << measures.map { |k| '%.5f' % measure(k) }
234
234
  f.join("\t")
235
235
  end
236
+
237
+ def dimension_map
238
+ @dvalues
239
+ end
240
+
241
+ def measure_map
242
+ mm = {}
243
+ measures.each do |k, v|
244
+ mm[k] = measure(k)
245
+ end
246
+ mm
247
+ end
248
+
249
+ def to_map
250
+ {
251
+ :dimensions => @dvalues,
252
+ :measures => measure_map
253
+ }
254
+ end
236
255
  end
237
256
 
238
257
  end
@@ -11,7 +11,7 @@ module Shades
11
11
  def <<(line)
12
12
  line.strip!
13
13
  if !@metadata.nil?
14
- event = @metadata.parse_event(line, /\s+/)
14
+ event = @metadata.parse_event(line, /\t/)
15
15
  if event.nil?
16
16
  puts line
17
17
  else
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'shades'
3
- s.version = '0.16'
3
+ s.version = '0.17'
4
4
 
5
5
  s.summary = "Get a new perspective on your data. In-memory data cubing of event data for Ruby."
6
6
  s.description = <<-EOF
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shades
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.16'
4
+ version: '0.17'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dietrich Featherston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-26 00:00:00.000000000 Z
11
+ date: 2013-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: treetop
@@ -28,48 +28,46 @@ dependencies:
28
28
  name: rake-compiler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: ! ' Shades computes data cubes for you from events composed of dimensions
70
- and measures.
71
-
72
- '
69
+ description: |2
70
+ Shades computes data cubes for you from events composed of dimensions and measures.
73
71
  email: d@d2fn.com
74
72
  executables:
75
73
  - shades
@@ -126,17 +124,17 @@ require_paths:
126
124
  - lib
127
125
  required_ruby_version: !ruby/object:Gem::Requirement
128
126
  requirements:
129
- - - ! '>='
127
+ - - '>='
130
128
  - !ruby/object:Gem::Version
131
129
  version: '0'
132
130
  required_rubygems_version: !ruby/object:Gem::Requirement
133
131
  requirements:
134
- - - ! '>='
132
+ - - '>='
135
133
  - !ruby/object:Gem::Version
136
134
  version: '0'
137
135
  requirements: []
138
136
  rubyforge_project: shades
139
- rubygems_version: 2.0.7
137
+ rubygems_version: 2.0.3
140
138
  signing_key:
141
139
  specification_version: 4
142
140
  summary: Get a new perspective on your data. In-memory data cubing of event data for