wdevauld-ib-ruby 0.2 → 0.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.
data/History.txt CHANGED
@@ -3,3 +3,6 @@
3
3
 
4
4
  == 0.2 / 2007-02-14
5
5
  * Alpha Release - Paul Legato
6
+
7
+ == 0.3 / 2009-06-18
8
+ * Gem packaging
data/README.txt CHANGED
@@ -21,17 +21,22 @@ Copyright (C) 2009 Wes Devauld
21
21
  First, start up Interactive Broker's Trader Work Station. Ensure it is configured to allow API connections on localhost
22
22
 
23
23
  >> require 'ib-ruby'
24
- >> ib_connection = IB:IB.new()
24
+ >> ib_connection = IB::IB.new()
25
25
 
26
26
  == REQUIREMENTS:
27
27
 
28
28
  * FIXME List all the requirements
29
29
 
30
30
  == INSTALL:
31
+ === From Gem ===
31
32
 
32
33
  * Ensure that http://gems.github.com is in your gem sources
33
34
  * sudo gem install wdevauld-ib-ruby
34
35
 
36
+ === From Source ===
37
+ * git clone http://github.com/wdevauld/ib-ruby
38
+ * cd ib-ruby; rake gem:install
39
+
35
40
  == LICENSE:
36
41
 
37
42
  This library is free software; you can redistribute it and/or modify
data/bin/AccountInfo CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -w
2
2
  #
3
- # Copyright (C) 2007 Paul Legato.
3
+ # Copyright (C) 2009 Wes Devauld
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as
@@ -16,13 +16,9 @@
16
16
  # License along with this library; if not, write to the Free Software
17
17
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
18
  # 02110-1301 USA
19
- #
20
-
21
- $:.push(File.dirname(__FILE__) + "/../")
22
19
 
23
- require 'ib'
24
- require 'datatypes'
25
- require 'symbols/futures'
20
+ require File.expand_path(
21
+ File.join(File.dirname(__FILE__), '..', 'lib', 'ib-ruby'))
26
22
 
27
23
  # First, connect to IB TWS.
28
24
  ib = IB::IB.new
data/bin/HistoricToCSV CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -w
2
2
  #
3
- # Copyright (C) 2007 Paul Legato.
3
+ # Copyright (C) 2009 Wes Devauld
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as
@@ -17,29 +17,11 @@
17
17
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
18
  # 02110-1301 USA
19
19
  #
20
- #####################################################################
20
+ # TODO Fix the Historical command line client
21
21
  #
22
- # This program demonstrates how to download historic data and write it
23
- # to a CSV file.
24
- #
25
- # To use, set CSV_FILE to the file you want to write (which will be
26
- # overwritten automatically if it already exists), set the contract
27
- # data, duration, data type (trades, bid, ask, midpoint), etc. as you
28
- # like, and run the program.
29
- #
30
- # Note that it does not detect when the historic data from the server
31
- # has stopped arriving automatically. This limitation will be
32
- # addressed soon. For now, just press <Enter> when the data stream on
33
- # the console stops, and the output file will be closed and the
34
- # program terminated.
35
- #
36
-
37
- $:.push(File.dirname(__FILE__) + "/../")
38
-
39
- require 'ib'
40
- require 'datatypes'
41
- require 'symbols/futures'
42
22
 
23
+ require File.expand_path(
24
+ File.join(File.dirname(__FILE__), '..', 'lib', 'ib-ruby'))
43
25
 
44
26
  ### Configurable Options
45
27
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -w
2
2
  #
3
- # Copyright (C) 2007-8 Paul Legato. pjlegato at gmail dot com.
3
+ # Copyright (C) 2009 Wes Devauld
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as
@@ -17,28 +17,17 @@
17
17
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
18
  # 02110-1301 USA
19
19
  #
20
- # >> YOUR USE OF THIS PROGRAM IS ENTIRELY AT YOUR OWN RISK. <<
21
- # >> IT MAY CONTAIN POTENTIALLY COSTLY BUGS, ERRORS, ETC., BOTH KNOWN AND UNKNOWN. <<
22
- #
23
-
24
- $:.push(File.dirname(__FILE__) + "/../")
25
-
26
- # IB-Ruby libraries
27
- require 'ib'
28
- require 'datatypes'
29
- require 'symbols/futures'
30
20
 
31
- # Stdlib
32
- require 'time' # for extended time parsing
21
+ require File.expand_path(
22
+ File.join(File.dirname(__FILE__), '..', 'lib', 'ib-ruby'))
33
23
 
34
- # Gems - requires duration and getopt.
35
24
  require 'rubygems'
25
+ require 'time'
36
26
  require 'duration'
37
27
  require 'getopt/long'
38
28
 
39
-
40
- require "getopt/long"
41
29
  include Getopt
30
+
42
31
  opt = Getopt::Long.getopts(
43
32
  ["--help", BOOLEAN],
44
33
  ["--end", REQUIRED],
@@ -245,13 +234,13 @@ ib = IB::IB.new
245
234
 
246
235
 
247
236
  # Default level is quiet, only warnings printed.
248
- IB::IBLogger.level = Logger::Severity::ERROR
237
+ # IB::IBLogger.level = Logger::Severity::ERROR
249
238
 
250
239
  # For verbose printing of each message:
251
- IB::IBLogger.level = Logger::Severity::INFO if VERBOSE
240
+ # IB::IBLogger.level = Logger::Severity::INFO if VERBOSE
252
241
 
253
242
  # For very verbose debug messages:
254
- IB::IBLogger.level = Logger::Severity::DEBUG if VERYVERBOSE
243
+ # IB::IBLogger.level = Logger::Severity::DEBUG if VERYVERBOSE
255
244
 
256
245
  puts "datetime,open,high,low,close,volume,wap,has_gaps" if !opt["header"].nil?
257
246
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -w
2
2
  #
3
- # Copyright (C) 2007 Paul Legato.
3
+ # Copyright (C) 2009 Wes Devauld
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as
@@ -18,11 +18,8 @@
18
18
  # 02110-1301 USA
19
19
  #
20
20
 
21
- $:.push(File.dirname(__FILE__) + "/../")
22
-
23
- require 'ib'
24
- require 'datatypes'
25
- require 'symbols/forex'
21
+ require File.expand_path(
22
+ File.join(File.dirname(__FILE__), '..', 'lib', 'ib-ruby'))
26
23
 
27
24
  #
28
25
  # Definition of what we want market data for. We have to keep track
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -w
2
2
  #
3
- # Copyright (C) 2007 Paul Legato.
3
+ # Copyright (C) 2009 Wes Devauld
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as
@@ -18,11 +18,8 @@
18
18
  # 02110-1301 USA
19
19
  #
20
20
 
21
- $:.push(File.dirname(__FILE__) + "/../")
22
-
23
- require 'ib'
24
- require 'datatypes'
25
- require 'symbols/futures'
21
+ require File.expand_path(
22
+ File.join(File.dirname(__FILE__), '..', 'lib', 'ib-ruby'))
26
23
 
27
24
  # First, connect to IB TWS.
28
25
  ib = IB::IB.new
data/lib/ib-ruby.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  module IbRuby
3
3
 
4
4
  # :stopdoc:
5
- VERSION = '1.0.0'
5
+ VERSION = '0.3'
6
6
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
7
7
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
8
8
  # :startdoc:
@@ -21,12 +21,8 @@
21
21
  # TODO: Implement equals() according to the criteria in IB's Java client.
22
22
  #
23
23
 
24
- require 'Logger'
25
-
26
24
  module IB
27
25
 
28
- logger = Logger.new(STDERR)
29
-
30
26
  module Datatypes
31
27
  attr_reader :created_at
32
28
 
@@ -200,9 +196,11 @@ module IB
200
196
  end
201
197
 
202
198
  def expiry=(x)
203
- x = nil if !x.nil? && x.empty?
204
- raise(ArgumentError.new("Invalid expiry \"#{x}\" (must be in format YYYYMM or YYYYMMDD)")) unless x.nil? || x.to_s =~ /^\d\d\d\d\d\d(\d\d)?$/
205
- @expiry = x.to_s
199
+ x = x.to_s
200
+ if x.nil? || ! (x =~ /\d{6,8}/) then
201
+ raise ArgumentError.new("Invalid expiry \"#{x}\" (must be in format YYYYMM or YYYYMMDD)")
202
+ end
203
+ @expiry = x
206
204
  end
207
205
 
208
206
  def sec_type=(x)
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (C) 2006 Blue Voodoo Magic LLC.
2
+ # Copyright (C) 2009 Wes Devauld
3
3
  #
4
4
  # This library is free software; you can redistribute it and/or modify
5
5
  # it under the terms of the GNU Lesser General Public License as
@@ -23,11 +23,6 @@
23
23
  # you may find useful there.
24
24
  #
25
25
 
26
- $:.push(File.dirname(__FILE__) + "/../")
27
-
28
- require 'ib'
29
- require 'datatypes'
30
-
31
26
  module IB
32
27
  module Symbols
33
28
  Forex =
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (C) 2006 Blue Voodoo Magic LLC.
2
+ # Copyright (C) 2009 Wes Devauld
3
3
  #
4
4
  # This library is free software; you can redistribute it and/or modify
5
5
  # it under the terms of the GNU Lesser General Public License as
@@ -29,11 +29,6 @@
29
29
  # you may find useful there.
30
30
  #
31
31
 
32
- $:.push(File.dirname(__FILE__) + "/../")
33
-
34
- require 'ib'
35
- require 'datatypes'
36
-
37
32
  module IB
38
33
  module Symbols
39
34
 
data/test/test_ib-ruby.rb CHANGED
@@ -18,11 +18,10 @@
18
18
  # 02110-1301 USA
19
19
  #
20
20
 
21
- $:.push(File.dirname(__FILE__) + "/../")
21
+ require File.expand_path(
22
+ File.join(File.dirname(__FILE__), '..', 'lib', 'ib-ruby'))
22
23
 
23
24
  require 'test/unit'
24
- require 'ib'
25
- require 'datatypes'
26
25
 
27
26
  class ContractTests < Test::Unit::TestCase
28
27
  def test_plain_instantiation
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wdevauld-ib-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.2"
4
+ version: "0.3"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wes Devauld
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-17 00:00:00 -07:00
12
+ date: 2009-06-18 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency