stockery 0.4.1 → 0.4.2
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.
- data/README.md +3 -0
- data/VERSION +1 -1
- data/lib/stockery/runner.rb +2 -2
- data/stockery.gemspec +2 -2
- data/test/helper.rb +32 -8
- data/test/test_runner.rb +63 -28
- metadata +15 -15
data/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
[](http://travis-ci.org/pierot/stockery)
|
|
2
|
+
|
|
1
3
|
stockery
|
|
2
4
|
======
|
|
3
5
|
Get stock quotes.
|
|
@@ -14,6 +16,7 @@ CLI Usage
|
|
|
14
16
|
Command options:
|
|
15
17
|
-s, --source HOST Stock source (default: GOOGLE)
|
|
16
18
|
-q, --quotes 'comma separated' Required, no default
|
|
19
|
+
-o, --output 'print|json' Either 'json' (default) or 'print'
|
|
17
20
|
|
|
18
21
|
-h, --help
|
|
19
22
|
-v, --version
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.4.
|
|
1
|
+
0.4.2
|
data/lib/stockery/runner.rb
CHANGED
|
@@ -69,8 +69,8 @@ module Stockery
|
|
|
69
69
|
|
|
70
70
|
opts.separator ""
|
|
71
71
|
|
|
72
|
-
opts.on_tail("-h", "--help", "Show this message") { puts opts; exit }
|
|
73
|
-
opts.on_tail("-v", "--version", "Print version") { puts Stockery::VERSION; exit }
|
|
72
|
+
opts.on_tail("-h", "--help", "Show this message") { puts opts; exit 0 }
|
|
73
|
+
opts.on_tail("-v", "--version", "Print version") { puts Stockery::VERSION; exit 0 }
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
end
|
data/stockery.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "stockery"
|
|
8
|
-
s.version = "0.4.
|
|
8
|
+
s.version = "0.4.2"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Pieter Michels"]
|
|
12
|
-
s.date = "2011-09-
|
|
12
|
+
s.date = "2011-09-26"
|
|
13
13
|
s.description = "Fetch stock quotes. Build as a gem and command line tool."
|
|
14
14
|
s.email = "pieter@noort.be"
|
|
15
15
|
s.executables = ["stockery"]
|
data/test/helper.rb
CHANGED
|
@@ -17,12 +17,36 @@ require 'stockery'
|
|
|
17
17
|
class Test::Unit::TestCase
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
require 'stringio'
|
|
21
|
+
|
|
22
|
+
def capture_output(&block)
|
|
23
|
+
original_stdout = $stdout
|
|
24
|
+
|
|
25
|
+
$stdout = fake = StringIO.new
|
|
26
|
+
$stdout.flush
|
|
27
|
+
|
|
28
|
+
begin
|
|
29
|
+
yield
|
|
30
|
+
ensure
|
|
31
|
+
$stdout = original_stdout
|
|
32
|
+
$stdout.flush
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
fake.string
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def capture_error(&block)
|
|
39
|
+
original_stdout = $stderr
|
|
40
|
+
|
|
41
|
+
$stderr = fake = StringIO.new
|
|
42
|
+
$stderr.flush
|
|
43
|
+
|
|
44
|
+
begin
|
|
45
|
+
yield
|
|
46
|
+
ensure
|
|
47
|
+
$stderr = original_stdout
|
|
48
|
+
$stderr.flush
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
fake.string
|
|
28
52
|
end
|
data/test/test_runner.rb
CHANGED
|
@@ -15,33 +15,68 @@ class TestStockeryRunner < Test::Unit::TestCase
|
|
|
15
15
|
assert_equal runner.options[:output], "print"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
18
|
+
should "exit when passing invalid option" do
|
|
19
|
+
out = capture_error do
|
|
20
|
+
begin
|
|
21
|
+
Stockery::Runner.new(%w(--bad-option))
|
|
22
|
+
rescue SystemExit => e
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
assert_equal "Invalid option.\n", out.to_s
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
should "exit when passing no symbols" do
|
|
30
|
+
out = capture_error do
|
|
31
|
+
begin
|
|
32
|
+
runner = Stockery::Runner.new(%w(-o print))
|
|
33
|
+
runner.run!
|
|
34
|
+
rescue SystemExit => e
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
assert_equal "Stock symbols missing. Usage `stockery -q \"GOOG, MSFT\"\n", out.to_s
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
should "print the result as a json string by default" do
|
|
42
|
+
out = capture_output do
|
|
43
|
+
runner = Stockery::Runner.new(%w(-q AAPL))
|
|
44
|
+
runner.run!
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
possible_json_data = out.to_s
|
|
48
|
+
|
|
49
|
+
begin
|
|
50
|
+
JSON.parse(possible_json_data)
|
|
51
|
+
|
|
52
|
+
valid = true
|
|
53
|
+
rescue JSON::ParserError => e
|
|
54
|
+
valid = false
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
assert valid
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
should "print the result when passing print output argument" do
|
|
61
|
+
out = capture_output do
|
|
62
|
+
runner = Stockery::Runner.new(%w(-q AAPL -o print))
|
|
63
|
+
runner.run!
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
assert_match "Quotes at", out.to_s
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
should "print its version" do
|
|
70
|
+
out = capture_output do
|
|
71
|
+
begin
|
|
72
|
+
runner = Stockery::Runner.new(%w(-v))
|
|
73
|
+
runner.run!
|
|
74
|
+
rescue SystemExit => e
|
|
75
|
+
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
assert_equal Stockery::VERSION + "\n", out.to_s # \n because of exit status
|
|
80
|
+
end
|
|
46
81
|
end
|
|
47
82
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: stockery
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2011-09-
|
|
12
|
+
date: 2011-09-26 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: json
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &2156699420 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *2156699420
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: shoulda
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &2156698560 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :development
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *2156698560
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: bundler
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &2156697600 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ~>
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 1.0.0
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *2156697600
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: jeweler
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &2156696880 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 1.6.4
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *2156696880
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: rcov
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &2156696120 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *2156696120
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: thoughtbot-shoulda
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &2156695040 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *2156695040
|
|
80
80
|
description: Fetch stock quotes. Build as a gem and command line tool.
|
|
81
81
|
email: pieter@noort.be
|
|
82
82
|
executables:
|
|
@@ -115,7 +115,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
115
115
|
version: '0'
|
|
116
116
|
segments:
|
|
117
117
|
- 0
|
|
118
|
-
hash:
|
|
118
|
+
hash: 3668783843777895541
|
|
119
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
none: false
|
|
121
121
|
requirements:
|