Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Klimenko committed May 11, 2018
0 parents commit 21e5011
Show file tree
Hide file tree
Showing 17 changed files with 240 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .gitignore
@@ -0,0 +1,11 @@
/.bundle/
/.yardoc
/_yardoc/
/coverage/
/doc/
/pkg/
/spec/reports/
/tmp/

# rspec failure tracking
.rspec_status
3 changes: 3 additions & 0 deletions .rspec
@@ -0,0 +1,3 @@
--format documentation
--color
--require spec_helper
8 changes: 8 additions & 0 deletions .rubocop.yml
@@ -0,0 +1,8 @@
AllCops:
TargetRubyVersion: 2.1

Style/AsciiComments:
Enabled: false

Rails:
Enabled: false
1 change: 1 addition & 0 deletions .ruby-version
@@ -0,0 +1 @@
2.3.5
5 changes: 5 additions & 0 deletions .travis.yml
@@ -0,0 +1,5 @@
sudo: false
language: ruby
rvm:
- 2.3.5
before_install: gem install bundler -v 1.16.1
6 changes: 6 additions & 0 deletions Gemfile
@@ -0,0 +1,6 @@
source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

# Specify your gem's dependencies in qiwi-pay.gemspec
gemspec
51 changes: 51 additions & 0 deletions Gemfile.lock
@@ -0,0 +1,51 @@
PATH
remote: .
specs:
qiwi-pay (0.1.0)
rest-client (~> 1.8)

GEM
remote: https://rubygems.org/
specs:
diff-lcs (1.3)
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
luhn (1.0.2)
mime-types (2.99.3)
netrc (0.11.0)
rake (10.5.0)
rest-client (1.8.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
rspec (3.7.0)
rspec-core (~> 3.7.0)
rspec-expectations (~> 3.7.0)
rspec-mocks (~> 3.7.0)
rspec-core (3.7.1)
rspec-support (~> 3.7.0)
rspec-expectations (3.7.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0)
rspec-mocks (3.7.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0)
rspec-support (3.7.1)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.5)

PLATFORMS
ruby

DEPENDENCIES
bundler (~> 1.16)
luhn (~> 1.0)
qiwi-pay!
rake (~> 10.0)
rspec (~> 3.0)

BUNDLED WITH
1.16.1
33 changes: 33 additions & 0 deletions README.md
@@ -0,0 +1,33 @@
# QiwiPay

TODO

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'qiwi-pay'
```

And then execute:

$ bundle

Or install it yourself as:

$ gem install qiwi-pay

## Usage

TODO: Write usage instructions here

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

TODO: Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/qiwi-pay.
6 changes: 6 additions & 0 deletions Rakefile
@@ -0,0 +1,6 @@
require "bundler/gem_tasks"
require "rspec/core/rake_task"

RSpec::Core::RakeTask.new(:spec)

task :default => :spec
14 changes: 14 additions & 0 deletions bin/console
@@ -0,0 +1,14 @@
#!/usr/bin/env ruby

require "bundler/setup"
require "qiwi_pay"

# You can add fixtures and/or initialization code here to make experimenting
# with your gem easier. You can also use a different console, if you like.

# (If you use this, don't forget to add pry to your Gemfile!)
# require "pry"
# Pry.start

require "irb"
IRB.start(__FILE__)
8 changes: 8 additions & 0 deletions bin/setup
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
set -vx

bundle install

# Do any other automated setup that you need to do here
24 changes: 24 additions & 0 deletions lib/qiwi_pay.rb
@@ -0,0 +1,24 @@
# frozen_string_literal: true
require "qiwi_pay/version"
require "qiwi_pay/wpf/signature"
require "qiwi_pay/wpf/confirmation"
require "qiwi_pay/wpf/payment_operation"
require "qiwi_pay/wpf/sale_operation"
require "qiwi_pay/wpf/cheque"

module QiwiPay
# Web Payment Form interface interaction implementation
# @see https://developer.qiwi.com/ru/qiwipay/index.html?php#qiwipay-wpf
module Wpf
# QiwiPay WPF host
ENDPOINT_HOST = 'pay.qiwi.com'

# QiwiPay WPF endpoint
ENDPOINT_PATH = '/paypage/initial'
end

# JSON API interaction implementation
# @see https://developer.qiwi.com/ru/qiwipay/index.html?json#section-6
module Api
end
end
8 changes: 8 additions & 0 deletions lib/qiwi_pay/confirmation.rb
@@ -0,0 +1,8 @@
# frozen_string_literal: true

module QiwiPay::Wpf
# Qiwi payment confirmation
class Confirmation
end
end

5 changes: 5 additions & 0 deletions lib/qiwi_pay/version.rb
@@ -0,0 +1,5 @@
# frozen_string_literal: true

module QiwiPay
VERSION = "0.1.0"
end
38 changes: 38 additions & 0 deletions qiwi-pay.gemspec
@@ -0,0 +1,38 @@

lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'qiwi_pay/version'

Gem::Specification.new do |spec|
spec.name = 'qiwi-pay'
spec.version = QiwiPay::VERSION
spec.authors = ['Michael Klimenko']
spec.email = ['michaelkl@mail.ru']

spec.summary = 'QiwiPay WPF/API support'
spec.description = 'Provides support for payment operations using QiwiPay WPF and API service'
# spec.homepage = 'TODO: Put your gem's website or public repo URL here.'

# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
# to allow pushing to a single host or delete this section to allow pushing to any host.
if spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
else
raise 'RubyGems 2.0 or newer is required to protect against ' \
'public gem pushes.'
end

spec.files = `git ls-files -z`.split("\x0").reject do |f|
f.match(%r{^(test|spec|features)/})
end
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

spec.add_dependency 'rest-client', '~> 1.8'

spec.add_development_dependency 'bundler', '~> 1.16'
spec.add_development_dependency 'luhn', '~> 1.0'
spec.add_development_dependency 'rake', '~> 10.0'
spec.add_development_dependency 'rspec', '~> 3.0'
end
5 changes: 5 additions & 0 deletions spec/qiwi_pay/qiwi_pay_spec.rb
@@ -0,0 +1,5 @@
RSpec.describe QiwiPay do
it "has a version number" do
expect(QiwiPay::VERSION).not_to be nil
end
end
14 changes: 14 additions & 0 deletions spec/spec_helper.rb
@@ -0,0 +1,14 @@
require 'bundler/setup'
require 'qiwi_pay'

RSpec.configure do |config|
# Enable flags like --only-failures and --next-failure
config.example_status_persistence_file_path = ".rspec_status"

# Disable RSpec exposing methods globally on `Module` and `main`
config.disable_monkey_patching!

config.expect_with :rspec do |c|
c.syntax = :expect
end
end

0 comments on commit 21e5011

Please sign in to comment.