stockery 0.4.0 → 0.4.1
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/.gemtest +0 -0
- data/README.md +1 -0
- data/Rakefile +17 -17
- data/VERSION +1 -1
- data/lib/stockery/quote.rb +1 -1
- data/lib/stockery/runner.rb +3 -1
- data/stockery.gemspec +5 -3
- data/test/helper.rb +10 -0
- data/test/test_quote.rb +40 -0
- data/test/test_runner.rb +47 -0
- metadata +18 -16
- data/test/test_stockery.rb +0 -7
data/.gemtest
ADDED
|
File without changes
|
data/README.md
CHANGED
data/Rakefile
CHANGED
|
@@ -4,8 +4,8 @@ require 'rubygems'
|
|
|
4
4
|
require 'bundler'
|
|
5
5
|
require 'rake'
|
|
6
6
|
require 'jeweler'
|
|
7
|
-
require 'rdoc/task'
|
|
8
|
-
require 'rcov/rcovtask'
|
|
7
|
+
# require 'rdoc/task'
|
|
8
|
+
# require 'rcov/rcovtask'
|
|
9
9
|
require 'rake/testtask'
|
|
10
10
|
|
|
11
11
|
begin
|
|
@@ -34,20 +34,20 @@ Rake::TestTask.new(:test) do |test|
|
|
|
34
34
|
test.verbose = true
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
Rcov::RcovTask.new do |test|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
end
|
|
37
|
+
# Rcov::RcovTask.new do |test|
|
|
38
|
+
# test.libs << 'test'
|
|
39
|
+
# test.pattern = 'test/**/test_*.rb'
|
|
40
|
+
# test.verbose = true
|
|
41
|
+
# test.rcov_opts << '--exclude "gems/*"'
|
|
42
|
+
# end
|
|
43
|
+
|
|
44
|
+
# Rake::RDocTask.new do |rdoc|
|
|
45
|
+
# version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
|
46
|
+
#
|
|
47
|
+
# rdoc.rdoc_dir = 'rdoc'
|
|
48
|
+
# rdoc.title = "Stockery #{version}"
|
|
49
|
+
# rdoc.rdoc_files.include('README*')
|
|
50
|
+
# rdoc.rdoc_files.include('lib/**/*.rb')
|
|
51
|
+
# end
|
|
43
52
|
|
|
44
53
|
task :default => :test
|
|
45
|
-
|
|
46
|
-
Rake::RDocTask.new do |rdoc|
|
|
47
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
|
48
|
-
|
|
49
|
-
rdoc.rdoc_dir = 'rdoc'
|
|
50
|
-
rdoc.title = "Stockery #{version}"
|
|
51
|
-
rdoc.rdoc_files.include('README*')
|
|
52
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
53
|
-
end
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.4.
|
|
1
|
+
0.4.1
|
data/lib/stockery/quote.rb
CHANGED
|
@@ -24,7 +24,7 @@ module Stockery
|
|
|
24
24
|
def print(stockery_data)
|
|
25
25
|
printed = ""
|
|
26
26
|
|
|
27
|
-
unless stockery_data.empty?
|
|
27
|
+
unless stockery_data.nil? || stockery_data.empty?
|
|
28
28
|
printed += "#{stockery_data[:name]} on #{stockery_data[:market]} @ #{stockery_data[:timestamp]}\n"
|
|
29
29
|
# printed += " *** MARKET CLOSED ***\n" if Time.now.strftime("%H:%M") > "16:00"
|
|
30
30
|
|
data/lib/stockery/runner.rb
CHANGED
|
@@ -2,6 +2,8 @@ require 'optparse'
|
|
|
2
2
|
|
|
3
3
|
module Stockery
|
|
4
4
|
class Runner
|
|
5
|
+
attr_accessor :options
|
|
6
|
+
|
|
5
7
|
def initialize(argv)
|
|
6
8
|
@argv = argv
|
|
7
9
|
|
|
@@ -40,7 +42,7 @@ module Stockery
|
|
|
40
42
|
puts "\n"
|
|
41
43
|
end
|
|
42
44
|
when 'json'
|
|
43
|
-
|
|
45
|
+
puts JSON.generate(quotes_res)
|
|
44
46
|
end
|
|
45
47
|
end
|
|
46
48
|
|
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.1"
|
|
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-25"
|
|
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"]
|
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
"README.md"
|
|
19
19
|
]
|
|
20
20
|
s.files = [
|
|
21
|
+
".gemtest",
|
|
21
22
|
"Gemfile",
|
|
22
23
|
"LICENSE.txt",
|
|
23
24
|
"README.md",
|
|
@@ -29,7 +30,8 @@ Gem::Specification.new do |s|
|
|
|
29
30
|
"lib/stockery/runner.rb",
|
|
30
31
|
"stockery.gemspec",
|
|
31
32
|
"test/helper.rb",
|
|
32
|
-
"test/
|
|
33
|
+
"test/test_quote.rb",
|
|
34
|
+
"test/test_runner.rb"
|
|
33
35
|
]
|
|
34
36
|
s.homepage = "http://wellconsidered.be/post/10526511041/stockery-stock-quotes-rubygem"
|
|
35
37
|
s.licenses = ["MIT"]
|
data/test/helper.rb
CHANGED
|
@@ -16,3 +16,13 @@ require 'stockery'
|
|
|
16
16
|
|
|
17
17
|
class Test::Unit::TestCase
|
|
18
18
|
end
|
|
19
|
+
|
|
20
|
+
def silence_stream(stream)
|
|
21
|
+
old_stream = stream.dup
|
|
22
|
+
stream.reopen(RUBY_PLATFORM =~ /mswin/ ? 'NUL:' : '/dev/null')
|
|
23
|
+
stream.sync = true
|
|
24
|
+
|
|
25
|
+
yield
|
|
26
|
+
ensure
|
|
27
|
+
stream.reopen(old_stream)
|
|
28
|
+
end
|
data/test/test_quote.rb
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
|
|
3
|
+
class TestStockeryQuote < Test::Unit::TestCase
|
|
4
|
+
context "A Stockery::Quote instance" do
|
|
5
|
+
setup do
|
|
6
|
+
@stock = Stockery::Quote.new
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
should "have GOOGLE as default source" do
|
|
10
|
+
assert_equal @stock.source, "GOOGLE"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
should "be able to switch sources" do
|
|
14
|
+
@stock.source = Stockery::YAHOO
|
|
15
|
+
assert_equal @stock.source, Stockery::YAHOO
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
should "return not nil when requesting a valid symbol" do
|
|
19
|
+
result = @stock.get_status("AAPL")
|
|
20
|
+
assert_not_nil result
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
should "print out an 'error message' when sending an invalid stock data object" do
|
|
24
|
+
message = @stock.print(nil)
|
|
25
|
+
assert_equal message, "Stock data invalid or empty"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
should "print out a quote message when sending stock data object" do
|
|
29
|
+
result = @stock.get_status("AAPL")
|
|
30
|
+
message = @stock.print(result)
|
|
31
|
+
assert message.length > 0
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
should "not print out an 'error message' when sending an valid stock data object" do
|
|
35
|
+
result = @stock.get_status("AAPL")
|
|
36
|
+
message = @stock.print(result)
|
|
37
|
+
assert_not_equal message, "Stock data invalid or empty"
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
data/test/test_runner.rb
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
class TestStockeryRunner < Test::Unit::TestCase
|
|
5
|
+
context "A Stockery::Runner instance" do
|
|
6
|
+
setup do
|
|
7
|
+
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
should "parse its options" do
|
|
11
|
+
runner = Stockery::Runner.new(%w(-q AAPL -s YAHOO -o print))
|
|
12
|
+
|
|
13
|
+
assert_equal runner.options[:source], "YAHOO"
|
|
14
|
+
assert_equal runner.options[:quotes], "AAPL"
|
|
15
|
+
assert_equal runner.options[:output], "print"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# should "print the result as a json string by default" do
|
|
19
|
+
# out = silence_stream(STDOUT) do
|
|
20
|
+
# runner = Stockery::Runner.new(%w(-q AAPL))
|
|
21
|
+
# runner.run!
|
|
22
|
+
# end
|
|
23
|
+
|
|
24
|
+
# puts out.to_s
|
|
25
|
+
# json = JSON.parse(out.to_s)
|
|
26
|
+
# # assert_match out.to_s, "/Quotes at/"
|
|
27
|
+
# end
|
|
28
|
+
|
|
29
|
+
# should "print the result when passing print output argument" do
|
|
30
|
+
# out = silence_stream(STDOUT) do
|
|
31
|
+
# runner = Stockery::Runner.new(%w(-q AAPL -o print))
|
|
32
|
+
# runner.run!
|
|
33
|
+
# end
|
|
34
|
+
|
|
35
|
+
# assert_match out.to_s, "/Quotes at/"
|
|
36
|
+
# end
|
|
37
|
+
|
|
38
|
+
# should "print its version" do
|
|
39
|
+
# out = silence_stream(STDOUT) do
|
|
40
|
+
# runner = Stockery::Runner.new(%w(-v))
|
|
41
|
+
# runner.run!
|
|
42
|
+
# end
|
|
43
|
+
|
|
44
|
+
# assert_equal out.to_s, Stockery::VERSION
|
|
45
|
+
# end
|
|
46
|
+
end
|
|
47
|
+
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.1
|
|
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-25 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: json
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &2162930560 !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: *2162930560
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: shoulda
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &2162929560 !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: *2162929560
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: bundler
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &2162928800 !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: *2162928800
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: jeweler
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &2162927900 !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: *2162927900
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: rcov
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &2162926940 !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: *2162926940
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: thoughtbot-shoulda
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &2162925960 !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: *2162925960
|
|
80
80
|
description: Fetch stock quotes. Build as a gem and command line tool.
|
|
81
81
|
email: pieter@noort.be
|
|
82
82
|
executables:
|
|
@@ -86,6 +86,7 @@ extra_rdoc_files:
|
|
|
86
86
|
- LICENSE.txt
|
|
87
87
|
- README.md
|
|
88
88
|
files:
|
|
89
|
+
- .gemtest
|
|
89
90
|
- Gemfile
|
|
90
91
|
- LICENSE.txt
|
|
91
92
|
- README.md
|
|
@@ -97,7 +98,8 @@ files:
|
|
|
97
98
|
- lib/stockery/runner.rb
|
|
98
99
|
- stockery.gemspec
|
|
99
100
|
- test/helper.rb
|
|
100
|
-
- test/
|
|
101
|
+
- test/test_quote.rb
|
|
102
|
+
- test/test_runner.rb
|
|
101
103
|
homepage: http://wellconsidered.be/post/10526511041/stockery-stock-quotes-rubygem
|
|
102
104
|
licenses:
|
|
103
105
|
- MIT
|
|
@@ -113,7 +115,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
113
115
|
version: '0'
|
|
114
116
|
segments:
|
|
115
117
|
- 0
|
|
116
|
-
hash:
|
|
118
|
+
hash: 3780466078473534277
|
|
117
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
120
|
none: false
|
|
119
121
|
requirements:
|