tradeking 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 81fef12e52d1d822a2c95927fa630f1f1b728674
4
+ data.tar.gz: 4e6fe664461acd7a1004cd68402a9edba939716b
5
+ SHA512:
6
+ metadata.gz: 307b7ab43ca96992f544b6555a650e58c95f1f79c2f55e86baf66dce05038ed397e1709ca3212b56651afe7098f5baf23159509e929afb7f175c3dae2965cf44
7
+ data.tar.gz: bb392ffc1ba9f9e27fe334eee8026f0322f01823e2cb476ba94c710050bd8c0e5df482f2eee4938eb821ea3916da11907bcd20444df878c34ac0a631bcebb997
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Alexander Shamne
1
+ Copyright 2013 Sasha Shamne
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # Tradeking API wrapper
2
+
3
+ Ruby wrapper for a Tradeking API.
4
+ Allows access to a Tradeking account's rest operations. Check out the [api documentation](https://developers.tradeking.com/documentation/getting-started)
5
+
6
+
7
+ ## Basic Usage
8
+
9
+ API wrapper can be used from the command line or as part of a Ruby web framework. First install the gem:
10
+
11
+ gem install tradeking
12
+
13
+ Instantiate a client with your tradeking credentials. You can get it [here](https://developers.tradeking.com/applications)
14
+
15
+ client = Tradeking::Client.new(consumer_key: "YOUR_KEY", consumer_secret: "YOUR_SECRET", access_token: "TOKEN", access_token_secret: "TOKEN_SECRET")
16
+
17
+ Then access API operations, you can find a full list of operations [here](https://developers.tradeking.com/documentation/request-structure)
18
+
19
+ client.get("market/options/expirations")
20
+ client.get("market/news/search", {keywords: "ford"})
21
+ client.post("watchlists", {id: "MyNewWatchlist", symbols: "AAPL,MSFT"})
22
+ client.delete("watchlists/MyList")
23
+
24
+
25
+ ## Testing
26
+
27
+ You should be able to run the test suite:
28
+
29
+ rake
30
+
31
+ You can also run just one test file:
32
+
33
+ rake test test/tradeking_test.rb
34
+
data/Rakefile CHANGED
@@ -11,35 +11,11 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
 
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "tradeking"
18
- gem.homepage = "http://github.com/shamne/tradeking"
19
- gem.license = "MIT"
20
- gem.summary = "Tradeking oauth api library for ruby"
21
- gem.description = "Tradeking oauth api library for ruby"
22
- gem.email = "alexander.shamne@gmail.com"
23
- gem.authors = ["Alexander Shamne"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
14
  require 'rake/testtask'
29
15
  Rake::TestTask.new(:test) do |test|
30
- test.libs << 'lib' << 'test'
31
- test.pattern = 'test/**/test_*.rb'
16
+ test.libs << 'test'
17
+ test.pattern = 'test/**/*_test.rb'
32
18
  test.verbose = true
33
19
  end
34
20
 
35
21
  task :default => :test
36
-
37
- require 'rdoc/task'
38
- Rake::RDocTask.new do |rdoc|
39
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
-
41
- rdoc.rdoc_dir = 'rdoc'
42
- rdoc.title = "tradeking #{version}"
43
- rdoc.rdoc_files.include('README*')
44
- rdoc.rdoc_files.include('lib/**/*.rb')
45
- end
data/lib/tradeking.rb CHANGED
@@ -1,4 +1,11 @@
1
+ require 'oauth'
2
+ require 'json'
1
3
  require 'tradeking/client'
2
4
 
3
5
  module Tradeking
6
+
7
+ API_URI = "https://api.tradeking.com"
8
+ API_VERSION = "v1"
9
+ API_FORMAT = "json"
10
+
4
11
  end
@@ -1,13 +1,27 @@
1
+ require 'tradeking/http/request'
2
+ require 'tradeking/http/response'
3
+
1
4
  module Tradeking
2
5
  class Client
3
-
4
- def initialize(options = {})
6
+
7
+ include Tradeking::Http::Request
8
+ include Tradeking::Http::Response
9
+
10
+ # Creates an instance of an API client
11
+ #
12
+ # ==== Attributes
13
+ # * +options+ - Access credentials hash, required keys are: consumer_key, consumer_secret, access_token, access_token_secret
14
+ # ==== Example
15
+ # client = Tradeking::Client.new({consumer_key: "abc", consumer_secret: "abc", access_token: "abc", access_token_secret: "abc"})
16
+ def initialize options = {}
5
17
  @consumer_key = options[:consumer_key]
6
18
  @consumer_secret = options[:consumer_secret]
7
- @token = options[:token]
8
- @secret = options[:secret]
9
- @proxy = options[:proxy]
19
+ @access_token = options[:access_token]
20
+ @access_token_secret = options[:access_token_secret]
21
+
22
+ @oauth_consumer = OAuth::Consumer.new @consumer_key, @consumer_secret, { :site => API_URI }
23
+ @oauth_access_token = OAuth::AccessToken.new(@oauth_consumer, @access_token, @access_token_secret)
10
24
  end
11
-
25
+
12
26
  end
13
27
  end
@@ -0,0 +1,65 @@
1
+ module Tradeking
2
+ module Http
3
+ module Request
4
+
5
+ def request args
6
+ attrs = args[0] || {}
7
+ headers = args[1] || {}
8
+ response(yield(attrs, headers))
9
+ end
10
+
11
+ # GET API accessor
12
+ # Will make a GET request to a specified operation path
13
+ # You can find a list of all available GET requests here: https://developers.tradeking.com/documentation/getting-started
14
+ #
15
+ # ==== Attributes
16
+ # * +operation+ - Operation path without API version ("/v1/")
17
+ # * +*args+ - Attributes and headers
18
+ # ==== Example
19
+ # client.get("market/options/expirations")
20
+ # client.get("market/news/search", {keywords: "ford"}, {'Accept' => 'application/json'})
21
+ def get operation, *args
22
+ request(args) do |attrs, headers|
23
+ uri = "/#{API_VERSION}/#{operation}.#{API_FORMAT}"
24
+ uri << "?#{URI.encode_www_form(attrs.to_a)}" unless attrs.empty?
25
+ @oauth_access_token.send(:get, uri, headers)
26
+ end
27
+ end
28
+
29
+ # POST API accessor
30
+ # Will make a POST request to a specified operation path
31
+ # You can find a list of all available POST requests here: https://developers.tradeking.com/documentation/getting-started
32
+ #
33
+ # ==== Attributes
34
+ # * +operation+ - Operation path without API version ("/v1/")
35
+ # * +*args+ - Attributes and headers
36
+ # ==== Example
37
+ # client.post("watchlists", {id: "MyNewWatchlist", symbols: "AAPL,MSFT"})
38
+ def post operation, *args
39
+ request(args) do |attrs, headers|
40
+ @oauth_access_token.send(:post, "/#{API_VERSION}/#{operation}.#{API_FORMAT}", attrs, headers)
41
+ end
42
+ end
43
+
44
+ # DELETE API accessor
45
+ # Will make a DELETE request to a specified operation path
46
+ # You can find a list of all available DELETE requests here: https://developers.tradeking.com/documentation/getting-started
47
+ #
48
+ # ==== Attributes
49
+ # * +operation+ - Operation path without API version ("/v1/")
50
+ # * +*args+ - Attributes and headers
51
+ # ==== Example
52
+ # client.delete("watchlists/MyList")
53
+ def delete operation, *args
54
+ request(args) do |attrs, headers|
55
+ @oauth_access_token.send(:delete, "/#{API_VERSION}/#{operation}.#{API_FORMAT}", headers)
56
+ end
57
+ end
58
+
59
+ def put
60
+ # Not implemented on a Tradeking API
61
+ end
62
+
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,13 @@
1
+ module Tradeking
2
+ module Http
3
+ module Response
4
+
5
+ def response resp
6
+ output = JSON.parse(resp.body)["response"]
7
+ raise output["description"] if output["type"] == "Error"
8
+ output
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module Tradeking
2
+ VERSION = '0.0.2'
3
+ end
data/test/helper.rb CHANGED
@@ -1,18 +1,30 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
1
  require 'test/unit'
11
- require 'shoulda'
2
+ require 'webmock/test_unit'
12
3
 
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
4
  require 'tradeking'
16
5
 
17
6
  class Test::Unit::TestCase
7
+
8
+ ACCESS_CREDENTIALS = {
9
+ consumer_key: "abc",
10
+ consumer_secret: "abc",
11
+ access_token: "abc",
12
+ access_token_secret: "abc"
13
+ }
14
+
15
+ def stub_v1_api_call type, operation, attrs={}
16
+ filename = "#{type}_"
17
+ filename << operation.split("?").first.gsub("/","_")
18
+ stub_request(type, 'https://api.tradeking.com/v1/' << operation)
19
+ .with(:body => attrs.empty? ? {} : attrs)
20
+ .to_return(
21
+ :body => expected_body(filename),
22
+ :status => 200
23
+ )
24
+ end
25
+
26
+ def expected_body filename
27
+ File.read(File.join(File.dirname(__FILE__), 'support/responses/' << filename))
28
+ end
29
+
18
30
  end
@@ -0,0 +1 @@
1
+ {"response":{"@id":"e6a09a4:142348f1617:2d18","elapsedtime":"0","watchlists":{"watchlist":[{"id":"Another one"},{"id":"DEFAULT"}]}}}
@@ -0,0 +1 @@
1
+ {"response":{"@id":"63980f49:14234eeadc3:10de","articles":{"article":[{"date":"11\/07 17:28","headline":"ProShares Ultra QQQ Falls 3.77% on Heavy Volume: Watch For Potential Rebound","id":"fe36fbc862728a4cdee62958d861c591","story":null},{"date":"11\/07 17:27","headline":"ProShares Ultra QQQ Falls 3.77% on Heavy Volume: Watch For Potential Rebound","id":"69e3b51abd65cf2a20210c88214b4152","story":null},{"date":"11\/07 17:26","headline":"ProShares Ultra QQQ Falls 3.77% on Heavy Volume: Watch For Potential Rebound","id":"b767eec2aad61f631a14682cf47c6937","story":null},{"date":"11\/06 11:05","headline":"ProShares UltraPro QQQ Shares Up 15.9% Since SmarTrend's Buy Recommendation (TQQQ)","id":"5648ed8688f5e22f8ec7be06911e3349","story":null},{"date":"10\/31 07:33","headline":"Invesco Reports Results for Three Months Ended September 30, 2013","id":"fc83050f3ec446a18f62b6f257a367de","story":null},{"date":"10\/30 10:00","headline":"Viacom Inc. [VIA] With Spike TV's \"BELLATOR\" to Ring The NASDAQ Stock Market Closing Bell","id":"28ca3574a54a3ac25f2765274a1cc807","story":null},{"date":"10\/28 10:03","headline":"VimpelCom added to NASDAQ-100 Index","id":"86f267f69a83231f71b751b34351e506","story":null},{"date":"10\/25 17:34","headline":"Watch for ProShares UltraPro QQQ to Potentially Pullback After Gaining 2.00% Yesterday","id":"4b6667c4c8f10a4393119f0ca83e6f8d","story":null},{"date":"10\/25 17:02","headline":"Look for Shares of ProShares Ultra QQQ to Potentially Pullback after Yesterday's 1.34% Rise","id":"728c00cd7c3f01d153925a261597b4cd","story":null},{"date":"10\/25 17:02","headline":"ProShares Ultra QQQ Rises 1.34% on Heavy Volume: Watch For Potential Pullback","id":"2c6d7ed6cd8220b0cdfad68c64e1abf2","story":null}]}}}
@@ -0,0 +1 @@
1
+ {"response":{"@id":"e6a09a4:123:5cb4","elapsedtime":"0","watchlists":{"watchlist":[{"id":"Another one"},{"id":"DEFAULT"},{"id":"One"}]}}}
@@ -0,0 +1,9 @@
1
+ {
2
+ "response": {
3
+ "@id": "63980f49:14234eeadc3:2b2c",
4
+ "type": "Error",
5
+ "name": "ServiceOperationIdentificationFailure",
6
+ "description": "Service Operation Identification Failure",
7
+ "path" : "/v1/blah.json"
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ {"response":{"@id":"e6a09a4:123:6a0f","elapsedtime":"0","watchlists":{"watchlist":[{"id":"Another one"},{"id":"DEFAULT"},{"id":"One"}]}}}
@@ -0,0 +1,47 @@
1
+ require 'helper'
2
+
3
+ class TestTradeking < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @client = Tradeking::Client.new(ACCESS_CREDENTIALS)
7
+ end
8
+
9
+ def test_client_instance_vars
10
+ assert_equal @client.instance_variable_get(:@oauth_consumer).class, OAuth::Consumer
11
+ assert_equal @client.instance_variable_get(:@oauth_access_token).class, OAuth::AccessToken
12
+ end
13
+
14
+ def test_api_get
15
+ stub_request = stub_v1_api_call(:get, "watchlists.json")
16
+ assert_equal JSON.parse(expected_body("get_watchlists.json"))["response"], @client.get("watchlists")
17
+ assert_requested(stub_request)
18
+ end
19
+
20
+ def test_api_get_with_attributes
21
+ params = {keywords: "qqq"}
22
+ stub_request = stub_v1_api_call(:get, "market/news/search.json?keywords=qqq")
23
+ assert_equal JSON.parse(expected_body("get_market_news_search.json"))["response"], @client.get("market/news/search", params)
24
+ assert_requested(stub_request)
25
+ end
26
+
27
+ def test_api_get_wrongpath
28
+ stub_request = stub_v1_api_call(:get, "wrongpath.json")
29
+ exception = assert_raise(RuntimeError) {@client.get("wrongpath")}
30
+ assert_equal("Service Operation Identification Failure", exception.message)
31
+ assert_requested(stub_request)
32
+ end
33
+
34
+ def test_api_post
35
+ params = {id: "New watchlist", symbols: "AAPL,MSFT"}
36
+ stub_request = stub_v1_api_call(:post, "watchlists.json", params)
37
+ assert_equal JSON.parse(expected_body("post_watchlists.json"))["response"], @client.post("watchlists", params)
38
+ assert_requested(stub_request)
39
+ end
40
+
41
+ def test_api_delete
42
+ stub_request = stub_v1_api_call(:delete, "watchlists/One.json")
43
+ assert_equal JSON.parse(expected_body("delete_watchlists_One.json"))["response"], @client.delete("watchlists/One")
44
+ assert_requested(stub_request)
45
+ end
46
+
47
+ end
metadata CHANGED
@@ -1,128 +1,135 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tradeking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
- - Alexander Shamne
7
+ - Sasha Shamne
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-03-12 00:00:00.000000000Z
11
+ date: 2013-11-08 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: oauth
16
- requirement: &2156740620 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *2156740620
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: json
27
- requirement: &2156740000 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *2156740000
36
- - !ruby/object:Gem::Dependency
37
- name: shoulda
38
- requirement: &2156739400 !ruby/object:Gem::Requirement
39
- none: false
36
+ version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ! '>='
38
+ - - '>='
42
39
  - !ruby/object:Gem::Version
43
40
  version: '0'
44
- type: :development
45
- prerelease: false
46
- version_requirements: *2156739400
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: rdoc
49
- requirement: &2156734940 !ruby/object:Gem::Requirement
50
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
51
44
  requirements:
52
- - - ~>
45
+ - - '>='
53
46
  - !ruby/object:Gem::Version
54
- version: '3.12'
47
+ version: '0'
55
48
  type: :development
56
49
  prerelease: false
57
- version_requirements: *2156734940
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
58
55
  - !ruby/object:Gem::Dependency
59
- name: bundler
60
- requirement: &2156734280 !ruby/object:Gem::Requirement
61
- none: false
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
62
58
  requirements:
63
- - - ~>
59
+ - - '>='
64
60
  - !ruby/object:Gem::Version
65
- version: 1.0.0
61
+ version: '0'
66
62
  type: :development
67
63
  prerelease: false
68
- version_requirements: *2156734280
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: jeweler
71
- requirement: &2156733620 !ruby/object:Gem::Requirement
72
- none: false
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
73
72
  requirements:
74
- - - ~>
73
+ - - '>='
75
74
  - !ruby/object:Gem::Version
76
- version: 1.8.3
75
+ version: '0'
77
76
  type: :development
78
77
  prerelease: false
79
- version_requirements: *2156733620
80
- description: Tradeking oauth api library for ruby
81
- email: alexander.shamne@gmail.com
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Allows access to a Tradeking account's rest operations https://developers.tradeking.com/documentation/getting-started
84
+ email:
85
+ - a@shamne.com
82
86
  executables: []
83
87
  extensions: []
84
- extra_rdoc_files:
85
- - LICENSE.txt
86
- - README.rdoc
88
+ extra_rdoc_files: []
87
89
  files:
88
- - .document
89
- - Gemfile
90
- - Gemfile.lock
91
- - LICENSE.txt
92
- - README.rdoc
93
- - Rakefile
94
- - VERSION
95
- - lib/tradeking.rb
96
90
  - lib/tradeking/client.rb
91
+ - lib/tradeking/http/request.rb
92
+ - lib/tradeking/http/response.rb
93
+ - lib/tradeking/version.rb
94
+ - lib/tradeking.rb
95
+ - MIT-LICENSE
96
+ - Rakefile
97
+ - README.md
97
98
  - test/helper.rb
98
- - test/test_tradeking.rb
99
- - tradeking.gemspec
100
- homepage: http://github.com/shamne/tradeking
101
- licenses:
102
- - MIT
99
+ - test/support/responses/delete_watchlists_One.json
100
+ - test/support/responses/get_market_news_search.json
101
+ - test/support/responses/get_watchlists.json
102
+ - test/support/responses/get_wrongpath.json
103
+ - test/support/responses/post_watchlists.json
104
+ - test/tradeking_test.rb
105
+ homepage:
106
+ licenses: []
107
+ metadata: {}
103
108
  post_install_message:
104
109
  rdoc_options: []
105
110
  require_paths:
106
111
  - lib
107
112
  required_ruby_version: !ruby/object:Gem::Requirement
108
- none: false
109
113
  requirements:
110
- - - ! '>='
114
+ - - '>='
111
115
  - !ruby/object:Gem::Version
112
116
  version: '0'
113
- segments:
114
- - 0
115
- hash: -1839360790902183466
116
117
  required_rubygems_version: !ruby/object:Gem::Requirement
117
- none: false
118
118
  requirements:
119
- - - ! '>='
119
+ - - '>='
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  requirements: []
123
123
  rubyforge_project:
124
- rubygems_version: 1.8.10
124
+ rubygems_version: 2.0.3
125
125
  signing_key:
126
- specification_version: 3
127
- summary: Tradeking oauth api library for ruby
128
- test_files: []
126
+ specification_version: 4
127
+ summary: Ruby wrapper for a Tradeking API
128
+ test_files:
129
+ - test/helper.rb
130
+ - test/support/responses/delete_watchlists_One.json
131
+ - test/support/responses/get_market_news_search.json
132
+ - test/support/responses/get_watchlists.json
133
+ - test/support/responses/get_wrongpath.json
134
+ - test/support/responses/post_watchlists.json
135
+ - test/tradeking_test.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/Gemfile DELETED
@@ -1,17 +0,0 @@
1
- source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
-
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
-
9
- gem "oauth"
10
- gem "json"
11
-
12
- group :development do
13
- gem "shoulda", ">= 0"
14
- gem "rdoc", "~> 3.12"
15
- gem "bundler", "~> 1.0.0"
16
- gem "jeweler", "~> 1.8.3"
17
- end
data/Gemfile.lock DELETED
@@ -1,30 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- git (1.2.5)
5
- jeweler (1.8.3)
6
- bundler (~> 1.0)
7
- git (>= 1.2.5)
8
- rake
9
- rdoc
10
- json (1.6.5)
11
- oauth (0.4.5)
12
- rake (0.9.2.2)
13
- rdoc (3.12)
14
- json (~> 1.4)
15
- shoulda (3.0.1)
16
- shoulda-context (~> 1.0.0)
17
- shoulda-matchers (~> 1.0.0)
18
- shoulda-context (1.0.0)
19
- shoulda-matchers (1.0.0)
20
-
21
- PLATFORMS
22
- ruby
23
-
24
- DEPENDENCIES
25
- bundler (~> 1.0.0)
26
- jeweler (~> 1.8.3)
27
- json
28
- oauth
29
- rdoc (~> 3.12)
30
- shoulda
data/README.rdoc DELETED
@@ -1,13 +0,0 @@
1
- = tradeking
2
-
3
- Description goes here.
4
-
5
- == Contributing to tradeking
6
-
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
9
- * Fork the project.
10
- * Start a feature/bugfix branch.
11
- * Commit and push until you are happy with your contribution.
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.1
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestTradeking < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- #flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end
data/tradeking.gemspec DELETED
@@ -1,66 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = "tradeking"
8
- s.version = "0.0.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Alexander Shamne"]
12
- s.date = "2012-03-12"
13
- s.description = "Tradeking oauth api library for ruby"
14
- s.email = "alexander.shamne@gmail.com"
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "LICENSE.txt",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "lib/tradeking.rb",
28
- "lib/tradeking/client.rb",
29
- "test/helper.rb",
30
- "test/test_tradeking.rb",
31
- "tradeking.gemspec"
32
- ]
33
- s.homepage = "http://github.com/shamne/tradeking"
34
- s.licenses = ["MIT"]
35
- s.require_paths = ["lib"]
36
- s.rubygems_version = "1.8.10"
37
- s.summary = "Tradeking oauth api library for ruby"
38
-
39
- if s.respond_to? :specification_version then
40
- s.specification_version = 3
41
-
42
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
- s.add_runtime_dependency(%q<oauth>, [">= 0"])
44
- s.add_runtime_dependency(%q<json>, [">= 0"])
45
- s.add_development_dependency(%q<shoulda>, [">= 0"])
46
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
47
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
49
- else
50
- s.add_dependency(%q<oauth>, [">= 0"])
51
- s.add_dependency(%q<json>, [">= 0"])
52
- s.add_dependency(%q<shoulda>, [">= 0"])
53
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
54
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
55
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
56
- end
57
- else
58
- s.add_dependency(%q<oauth>, [">= 0"])
59
- s.add_dependency(%q<json>, [">= 0"])
60
- s.add_dependency(%q<shoulda>, [">= 0"])
61
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
62
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
63
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
64
- end
65
- end
66
-