gatecoin 0.1.0

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: 996be0bc166c032e6c4cffa34333ed99eef814fd
4
+ data.tar.gz: d0b7d612429ff8653ee98988b976d8a4024f87ee
5
+ SHA512:
6
+ metadata.gz: da1619ebdc8cd801117f34d17650ed522b6cf930fe9fe0ac8d33a96e9b20a29780d0eb402df7cf27eb9748302ec8a8b138eb842b91ef33cb8a4a5a86ce01ad6c
7
+ data.tar.gz: de806b4a6d6177f6db6db46b654e04ccc7822be77a90cfc8db860233dc0d38559944c344962ebd25566b526ae6bed730a15a07aae2232f53a4421b91c967643c
data/.gitignore ADDED
@@ -0,0 +1,44 @@
1
+ # Parts of this file were adapted from
2
+ # GitHub’s collection of .gitignore file templates
3
+ # which are Copyright (c) 2016 GitHub, Inc.
4
+ # and released under the MIT License.
5
+ # For more details, visit the project page:
6
+ # https://github.com/github/gitignore
7
+
8
+ *.gem
9
+ *.rbc
10
+ /.config
11
+ /coverage/
12
+ /InstalledFiles
13
+ /pkg/
14
+ /spec/reports/
15
+ /spec/examples.txt
16
+ /test/tmp/
17
+ /test/version_tmp/
18
+ /tmp/
19
+
20
+ ## Specific to RubyMotion:
21
+ .dat*
22
+ .repl_history
23
+ build/
24
+
25
+ ## Documentation cache and generated files:
26
+ /.yardoc/
27
+ /_yardoc/
28
+ /doc/
29
+ /rdoc/
30
+
31
+ ## Environment normalization:
32
+ /.bundle/
33
+ /vendor/bundle
34
+ /lib/bundler/man/
35
+
36
+ # for a library or gem, you might want to ignore these files since the code is
37
+ # intended to run in multiple environments; otherwise, check them in:
38
+ Gemfile.lock
39
+ .ruby-version
40
+ .ruby-gemset
41
+
42
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
43
+ .rvmrc
44
+ .byebug_history
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,9 @@
1
+ AllCops:
2
+ Include:
3
+ - Gemfile
4
+ - Guardfile
5
+ - Rakefile
6
+
7
+ Style/RegexpLiteral:
8
+ Exclude:
9
+ - Guardfile
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ language: ruby
3
+ sudo: required
4
+ dist: trusty
5
+ cache: bundler
6
+ rvm:
7
+ - 2
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --markup=markdown
2
+ lib/**/*.rb
3
+ -
4
+ README.md
5
+ CHANGELOG.md
6
+ LICENSE.txt
data/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ This project adheres to [Semantic Versioning](http://semver.org/).
5
+ This change log follows the conventions of
6
+ [keep a CHANGELOG](http://keepachangelog.com/).
7
+
8
+ ## [Unreleased]
9
+
10
+ [Unreleased]: https://github.com/heelhook/gatecoin/compare/v0.0.1...HEAD
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in gatecoin.gemspec.
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,23 @@
1
+ scope groups: [:doc, :lint, :unit]
2
+
3
+ group :doc do
4
+ guard :yard do
5
+ watch(%r{^lib/(.+)\.rb$})
6
+ end
7
+ end
8
+
9
+ group :lint do
10
+ guard :rubocop do
11
+ watch(%r{.+\.rb$})
12
+ watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
13
+ end
14
+ end
15
+
16
+ group :unit do
17
+ guard :rspec, cmd: 'bundle exec rspec --color --format Fuubar' do
18
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
19
+ watch(%r{^lib/gatecoin/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
20
+ watch(%r{^spec/.+_spec\.rb$})
21
+ watch('spec/spec_helper.rb') { 'spec' }
22
+ end
23
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Pablo Fernandez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,164 @@
1
+ # gatecoin
2
+
3
+ [![Gem](https://img.shields.io/gem/v/gatecoin.svg)](https://rubygems.org/gems/gatecoin)
4
+ [![GitHub license](https://img.shields.io/github/license/heelhook/gatecoin.svg)](./LICENSE.txt)
5
+ [![Gemnasium](https://img.shields.io/gemnasium/heelhook/gatecoin.svg)](https://gemnasium.com/heelhook/gatecoin)
6
+ [![Travis](https://img.shields.io/travis/heelhook/gatecoin.svg)](https://travis-ci.org/heelhook/gatecoin)
7
+ [![Codecov](https://img.shields.io/codecov/c/github/heelhook/gatecoin.svg)](https://codecov.io/github/heelhook/gatecoin)
8
+ [![Code Climate](https://img.shields.io/codeclimate/github/heelhook/gatecoin.svg)](https://codeclimate.com/github/heelhook/gatecoin)
9
+
10
+ > Built from [makenew/ruby-gem](https://github.com/makenew/ruby-gem).n
11
+ ## Description
12
+
13
+
14
+ ## Installation
15
+
16
+ Add this line to your application's [Gemfile][Bundler]
17
+
18
+ ```ruby
19
+ gem 'gatecoin'
20
+ ```
21
+
22
+ and update your bundle with
23
+
24
+ ```
25
+ $ bundle
26
+ ```
27
+
28
+ Or install it yourself with
29
+
30
+ ```
31
+ $ gem install gatecoin
32
+ ```
33
+
34
+ [Bundler]: http://bundler.io/
35
+
36
+ ## Usage
37
+
38
+ ```
39
+ client = Gatecoin::API.new(passphrase: ..., key: ..., secret: ...)
40
+ ```
41
+
42
+ ### Fetching accounts
43
+
44
+ ```
45
+ client.accounts
46
+ ```
47
+
48
+ ### Listing orders
49
+
50
+ ```
51
+ client.orders
52
+ ```
53
+
54
+ ### Order detils
55
+
56
+ ```
57
+ client.order(id)
58
+ ```
59
+
60
+ ### Placing an order
61
+
62
+ ```
63
+ client.create_order(
64
+ side: :buy,
65
+ size: 1.0,
66
+ price: 10000,
67
+ product_id: 'BTCEUR',
68
+ type: 'limit',
69
+ )
70
+ ```
71
+
72
+ ### Cancel an order
73
+
74
+ ```
75
+ client.cancel_order(id)
76
+ ```
77
+
78
+ ## Documentation
79
+
80
+ - [YARD documentation][RubyDoc] is hosted by RubyDoc.info.
81
+ - [Interactive documentation][Omniref] is hosted by Omniref.
82
+
83
+ [RubyDoc]: http://www.rubydoc.info/gems/gatecoin
84
+ [Omniref]: https://www.omniref.com/ruby/gems/gatecoin
85
+
86
+ ## Development and Testing
87
+
88
+ ### Source Code
89
+
90
+ The [gatecoin source] is hosted on GitHub.
91
+ Clone the project with
92
+
93
+ ```
94
+ $ git clone https://github.com/heelhook/gatecoin.git
95
+ ```
96
+
97
+ [gatecoin source]: https://github.com/heelhook/gatecoin
98
+
99
+ ### Requirements
100
+
101
+ You will need [Ruby] with [Bundler].
102
+
103
+ Install the development dependencies with
104
+
105
+ ```
106
+ $ bundle
107
+ ```
108
+
109
+ [Bundler]: http://bundler.io/
110
+ [Ruby]: https://www.ruby-lang.org/
111
+
112
+ ### Rake
113
+
114
+ Run `$ rake -T` to see all Rake tasks.
115
+
116
+ ```
117
+ rake build # Build gatecoin-2.0.1.gem into the pkg directory
118
+ rake bump:current[tag] # Show current gem version
119
+ rake bump:major[tag] # Bump major part of gem version
120
+ rake bump:minor[tag] # Bump minor part of gem version
121
+ rake bump:patch[tag] # Bump patch part of gem version
122
+ rake bump:pre[tag] # Bump pre part of gem version
123
+ rake bump:set # Sets the version number using the VERSION environment variable
124
+ rake clean # Remove any temporary products
125
+ rake clobber # Remove any generated files
126
+ rake install # Build and install gatecoin-2.0.1.gem into system gems
127
+ rake install:local # Build and install gatecoin-2.0.1.gem into system gems without network access
128
+ rake release[remote] # Create tag v2.0.1 and build and push gatecoin-2.0.1.gem to Rubygems
129
+ rake rubocop # Run RuboCop
130
+ rake rubocop:auto_correct # Auto-correct RuboCop offenses
131
+ rake spec # Run RSpec code examples
132
+ rake test # Run test suite
133
+ rake yard # Generate YARD Documentation
134
+ ```
135
+
136
+ ### Guard
137
+
138
+ Guard tasks have been separated into the following groups:
139
+ `doc`, `lint`, and `unit`.
140
+ By default, `$ guard` will generate documentation, lint, and run unit tests.
141
+
142
+ ## Contributing
143
+
144
+ Please submit and comment on bug reports and feature requests.
145
+
146
+ To submit a patch:
147
+
148
+ 1. Fork it (https://github.com/heelhook/gatecoin/fork).
149
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
150
+ 3. Make changes. Write and run tests.
151
+ 4. Commit your changes (`git commit -am 'Add some feature'`).
152
+ 5. Push to the branch (`git push origin my-new-feature`).
153
+ 6. Create a new Pull Request.
154
+
155
+ ## License
156
+
157
+ This Ruby gem is licensed under the MIT license.
158
+
159
+ ## Warranty
160
+
161
+ This software is provided "as is" and without any express or
162
+ implied warranties, including, without limitation, the implied
163
+ warranties of merchantibility and fitness for a particular
164
+ purpose.
data/Rakefile ADDED
@@ -0,0 +1,18 @@
1
+ require 'bump/tasks'
2
+ require 'bundler/gem_tasks'
3
+ require 'rspec/core/rake_task'
4
+ require 'rubocop/rake_task'
5
+ require 'yard'
6
+
7
+ task default: [:test, :yard]
8
+
9
+ desc 'Run test suite'
10
+ task test: [:rubocop, :spec]
11
+
12
+ RSpec::Core::RakeTask.new
13
+
14
+ RuboCop::RakeTask.new do |t|
15
+ t.formatters = ['progress']
16
+ end
17
+
18
+ YARD::Rake::YardocTask.new
data/gatecoin.gemspec ADDED
@@ -0,0 +1,44 @@
1
+ lib = File.expand_path(File.join('..', 'lib'), __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'gatecoin/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'gatecoin'
7
+ spec.version = Gatecoin::VERSION
8
+ spec.authors = ['Pablo Fernandez']
9
+ spec.email = ['pfer@me.com']
10
+ spec.description = ''
11
+ spec.summary = ''
12
+ spec.homepage = 'https://github.com/heelhook/gatecoin'
13
+ spec.license = 'MIT'
14
+
15
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(features|spec|test)/})
18
+ spec.require_paths = ['lib']
19
+
20
+ spec.required_ruby_version = '>= 2.0.1'
21
+
22
+ spec.add_development_dependency 'bundler', '~> 1.6'
23
+ spec.add_development_dependency 'rake', '~> 11.2'
24
+ spec.add_development_dependency 'bump', '~> 0.5'
25
+
26
+ spec.add_development_dependency 'guard', '~> 2.11'
27
+ spec.add_development_dependency 'guard-yard', '~> 2.1'
28
+ spec.add_development_dependency 'guard-rubocop', '~> 1.2'
29
+ spec.add_development_dependency 'guard-rspec', '~> 4.5'
30
+
31
+ spec.add_development_dependency 'rubocop', '~> 0.52.1'
32
+ spec.add_development_dependency 'rspec', '~> 3.1'
33
+ spec.add_development_dependency 'simplecov', '~> 0.9'
34
+ spec.add_development_dependency 'codecov', '~> 0.1'
35
+ spec.add_development_dependency 'fuubar', '~> 2.0'
36
+
37
+ spec.add_development_dependency 'yard', '~> 0.9.5'
38
+ spec.add_development_dependency 'redcarpet', '~> 3.2'
39
+ spec.add_development_dependency 'github-markup', '~> 1.3'
40
+
41
+ spec.add_development_dependency 'byebug', '~> 9.1'
42
+
43
+ spec.add_dependency 'rest-client', '~> 2'
44
+ end
data/lib/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: ../.rubocop.yml
data/lib/gatecoin.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'gatecoin/version'
2
+ require 'gatecoin/gatecoin'
3
+ require 'gatecoin/exceptions'
@@ -0,0 +1,4 @@
1
+ module Gatecoin
2
+ class CreateOrderException < RuntimeError; end
3
+ class CancelOrderException < RuntimeError; end
4
+ end
@@ -0,0 +1,123 @@
1
+ require 'rest-client'
2
+ require 'json'
3
+ require 'base64'
4
+ require 'byebug'
5
+
6
+ module Gatecoin
7
+ class API
8
+ attr_reader :key,
9
+ :secret,
10
+ :url
11
+
12
+ def initialize(key:, secret:, url: 'https://api.gatecoin.com')
13
+ @key = key
14
+ @secret = secret
15
+ @url = url
16
+ end
17
+
18
+ def balances
19
+ get('/Balance/Balances')['balances']
20
+ end
21
+
22
+ def order(id)
23
+ get("/Trade/Orders/#{id}")
24
+ end
25
+
26
+ def create_order(side:, size:, price:, pair:)
27
+ side = case side
28
+ when :buy then 'Bid'
29
+ when :sell then 'Ask'
30
+ else
31
+ raise "Unknown side type #{side}. Use :buy or :sell as symbols."
32
+ end
33
+
34
+ opts = {
35
+ Code: pair,
36
+ Way: side,
37
+ Amount: size.to_s,
38
+ Price: price.to_s,
39
+ }
40
+ order = post('/Trade/Orders', opts)
41
+
42
+ if !order['clOrderId']
43
+ error = order['responseStatus']['message'] if order['responseStatus'] && order['responseStatus']['message']
44
+ error ||= order
45
+ raise Gatecoin::CreateOrderException.new(error)
46
+ end
47
+
48
+ order
49
+ rescue => e
50
+ raise Gatecoin::CreateOrderException.new(e.message)
51
+ end
52
+
53
+ def cancel_order(id)
54
+ status = delete("/Trade/Orders/#{id}")
55
+
56
+ if status['responseStatus'] && status['responseStatus']['errorCode']
57
+ error = status['responseStatus']['message']
58
+ error ||= status['responseStatus']
59
+ raise Gatecoin::CancelOrderException.new(error)
60
+ end
61
+
62
+ status
63
+ rescue => e
64
+ raise Gatecoin::CancelOrderException.new(e.message)
65
+ end
66
+
67
+ private
68
+
69
+ def signature(timestamp, verb, content_type, path)
70
+ content_type = '' if verb == 'GET'
71
+ str = "#{verb}#{@url}#{path}#{content_type}#{timestamp}".downcase
72
+ hmac = OpenSSL::HMAC.digest('sha256', @secret, str)
73
+ a = Base64.encode64(hmac).to_s.gsub("\n",'')
74
+ end
75
+
76
+ def get(path, opts = {})
77
+ uri = URI.parse("#{@url}#{path}")
78
+ uri.query = URI.encode_www_form(opts[:params]) if opts[:params]
79
+
80
+ response = RestClient.get(uri.to_s, auth_headers(uri.request_uri, 'GET'))
81
+
82
+ if !opts[:skip_json]
83
+ JSON.parse(response.body)
84
+ else
85
+ response.body
86
+ end
87
+ end
88
+
89
+ def post(path, payload, opts = {})
90
+ data = JSON.unparse(payload)
91
+ response = RestClient.post("#{@url}#{path}", data, auth_headers(path, 'POST'))
92
+
93
+ if !opts[:skip_json]
94
+ JSON.parse(response.body)
95
+ else
96
+ response.body
97
+ end
98
+ end
99
+
100
+ def delete(path, opts = {})
101
+ response = RestClient.delete("#{@url}#{path}", auth_headers(path, 'DELETE'))
102
+
103
+ if !opts[:skip_json]
104
+ JSON.parse(response.body)
105
+ else
106
+ response.body
107
+ end
108
+ end
109
+
110
+ def auth_headers(path, method)
111
+ timestamp = Time.now.utc.to_f.round(3).to_s
112
+ content_type = 'application/json'
113
+ sign = signature(timestamp, method, content_type, path)
114
+
115
+ {
116
+ 'Content-Type' => content_type,
117
+ 'API_PUBLIC_KEY' => @key,
118
+ 'API_REQUEST_DATE' => "#{timestamp}",
119
+ 'API_REQUEST_SIGNATURE' => sign,
120
+ }
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ # Primary module for this gem.
3
+ module Gatecoin
4
+ # Current Gatecoin version.
5
+ VERSION = '0.1.0'.freeze
6
+ end
data/spec/.rubocop.yml ADDED
@@ -0,0 +1,4 @@
1
+ inherit_from: ../.rubocop.yml
2
+
3
+ Style/StringLiterals:
4
+ Enabled: false
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Gatecoin::API do
4
+ subject(:ruby_gem) { Gatecoin::API.new }
5
+
6
+ describe ".new" do
7
+ it "makes a new instance" do
8
+ expect(ruby_gem).to be_a Gatecoin::API
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,19 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start
4
+
5
+ if ENV['CI'] == 'true'
6
+ require 'codecov'
7
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
8
+ else
9
+ SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
10
+ end
11
+
12
+ require 'gatecoin'
13
+
14
+ RSpec.configure do |c|
15
+ c.expect_with(:rspec) { |e| e.syntax = :expect }
16
+ c.before(:each) do
17
+ allow(FileUtils).to receive(:remove_entry_secure).with(anything)
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,305 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gatecoin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Pablo Fernandez
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-01-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '11.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '11.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bump
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.5'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.11'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.11'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-yard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.2'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '4.5'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '4.5'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.52.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.52.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.1'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.9'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.9'
153
+ - !ruby/object:Gem::Dependency
154
+ name: codecov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.1'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.1'
167
+ - !ruby/object:Gem::Dependency
168
+ name: fuubar
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '2.0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: yard
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.9.5
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 0.9.5
195
+ - !ruby/object:Gem::Dependency
196
+ name: redcarpet
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.2'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '3.2'
209
+ - !ruby/object:Gem::Dependency
210
+ name: github-markup
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.3'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.3'
223
+ - !ruby/object:Gem::Dependency
224
+ name: byebug
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '9.1'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '9.1'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rest-client
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '2'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '2'
251
+ description: ''
252
+ email:
253
+ - pfer@me.com
254
+ executables: []
255
+ extensions: []
256
+ extra_rdoc_files: []
257
+ files:
258
+ - ".gitignore"
259
+ - ".rspec"
260
+ - ".rubocop.yml"
261
+ - ".travis.yml"
262
+ - ".yardopts"
263
+ - CHANGELOG.md
264
+ - Gemfile
265
+ - Guardfile
266
+ - LICENSE.txt
267
+ - README.md
268
+ - Rakefile
269
+ - gatecoin.gemspec
270
+ - lib/.rubocop.yml
271
+ - lib/gatecoin.rb
272
+ - lib/gatecoin/exceptions.rb
273
+ - lib/gatecoin/gatecoin.rb
274
+ - lib/gatecoin/version.rb
275
+ - spec/.rubocop.yml
276
+ - spec/ruby_gem_spec.rb
277
+ - spec/spec_helper.rb
278
+ homepage: https://github.com/heelhook/gatecoin
279
+ licenses:
280
+ - MIT
281
+ metadata: {}
282
+ post_install_message:
283
+ rdoc_options: []
284
+ require_paths:
285
+ - lib
286
+ required_ruby_version: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: 2.0.1
291
+ required_rubygems_version: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - ">="
294
+ - !ruby/object:Gem::Version
295
+ version: '0'
296
+ requirements: []
297
+ rubyforge_project:
298
+ rubygems_version: 2.6.14
299
+ signing_key:
300
+ specification_version: 4
301
+ summary: ''
302
+ test_files:
303
+ - spec/.rubocop.yml
304
+ - spec/ruby_gem_spec.rb
305
+ - spec/spec_helper.rb