ezapi_client 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Dockerfile +17 -0
- data/README.md +4 -1
- data/bin/rspec +17 -0
- data/docker-compose.yml +16 -0
- data/lib/ezapi_client/requests/create_transaction_request.rb +2 -2
- data/lib/ezapi_client/schemas/create_transaction_request_schema.rb +22 -4
- data/lib/ezapi_client/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5112f2a4dfb49a206f6ab6a5b6e3fd43b9c1ce06
|
4
|
+
data.tar.gz: 22061841b7a085fc9d7a478e21b7d1219b00b106
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9de12526f20484cf0c7382c1c091e18f8ba15b729996fdaced18552708bcf075b6e62564fee93080c098a5f3165c8b5704a3e2ac9398d6d39453de36e3e38c5
|
7
|
+
data.tar.gz: 1e16c1f3589105450a8bceee54daf88354547792bd05cd92687c87a70518b8bbf69108859a8d8163e72ca1c7594e3add37963d16624406729aacf0b06603e1b9
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## [0.2.0] - 2016-08-25
|
6
|
+
### Changed
|
7
|
+
- Update `trans_date` to new required format (`2016-08-23 15:30:05 +0800`)
|
8
|
+
- Require `bank_code`, `branch_name`, `account_no` only if bank transaction
|
9
|
+
|
5
10
|
## [0.1.0] - 2016-08-22
|
6
11
|
### Added
|
7
12
|
- Initial working version
|
data/Dockerfile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
FROM ruby:2.3.0
|
2
|
+
RUN apt-get update -qq
|
3
|
+
RUN apt-get upgrade -y
|
4
|
+
RUN apt-get install -y build-essential libpq-dev nodejs postgresql-client openjdk-7-jre
|
5
|
+
RUN mkdir /app
|
6
|
+
WORKDIR /app
|
7
|
+
|
8
|
+
ENV BUNDLE_GEMFILE=/app/Gemfile \
|
9
|
+
BUNDLE_JOBS=2 \
|
10
|
+
BUNDLE_PATH=/bundle \
|
11
|
+
GEM_HOME=/bundle
|
12
|
+
|
13
|
+
RUN gem install bundler
|
14
|
+
|
15
|
+
ENV PATH=./bin:$PATH
|
16
|
+
|
17
|
+
ADD . /app
|
data/README.md
CHANGED
@@ -25,7 +25,10 @@ See `spec/functional` for examples.
|
|
25
25
|
## Development
|
26
26
|
|
27
27
|
1. Copy `spec/config.yml.sample` to `spec/config.yml` and fill up with your own details.
|
28
|
-
2. `
|
28
|
+
2. `docker-compose build`
|
29
|
+
3. `docker-compose run app rspec`
|
30
|
+
|
31
|
+
Note: you do not necessarily need Docker, but it makes development easier. If you want to work on this without it, then you need Java installed. See `Dockerfile` for clues.
|
29
32
|
|
30
33
|
## Contributing
|
31
34
|
|
data/bin/rspec
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
#
|
4
|
+
# This file was generated by Bundler.
|
5
|
+
#
|
6
|
+
# The application 'rspec' is installed as part of a gem, and
|
7
|
+
# this file is here to facilitate running it.
|
8
|
+
#
|
9
|
+
|
10
|
+
require "pathname"
|
11
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
12
|
+
Pathname.new(__FILE__).realpath)
|
13
|
+
|
14
|
+
require "rubygems"
|
15
|
+
require "bundler/setup"
|
16
|
+
|
17
|
+
load Gem.bin_path("rspec-core", "rspec")
|
data/docker-compose.yml
ADDED
@@ -25,7 +25,7 @@ module EZAPIClient
|
|
25
25
|
}
|
26
26
|
|
27
27
|
attribute :reference_no, String
|
28
|
-
attribute :trans_date,
|
28
|
+
attribute :trans_date, DateTime
|
29
29
|
attribute :sender_lastname, String
|
30
30
|
attribute :sender_firstname, String
|
31
31
|
attribute :sender_middle_name, String
|
@@ -70,7 +70,6 @@ module EZAPIClient
|
|
70
70
|
def default_data
|
71
71
|
message = %i[
|
72
72
|
reference_no
|
73
|
-
trans_date
|
74
73
|
sender_lastname
|
75
74
|
sender_firstname
|
76
75
|
sender_middle_name
|
@@ -94,6 +93,7 @@ module EZAPIClient
|
|
94
93
|
message1
|
95
94
|
message2
|
96
95
|
].each_with_object({}) { |attr, hash| hash[attr] = send(attr) }
|
96
|
+
message[:trans_date] = trans_date.strftime("%Y-%m-%d %H:%M:%S %z")
|
97
97
|
|
98
98
|
GenData.(
|
99
99
|
username: username,
|
@@ -1,8 +1,10 @@
|
|
1
1
|
module EZAPIClient
|
2
2
|
CreateTransactionRequestSchema = Dry::Validation.Schema(BaseSchema) do
|
3
3
|
|
4
|
+
BANK_TRANS_TYPE = "CBA"
|
5
|
+
|
4
6
|
required(:reference_no).filled(:str?, max_size?: 20)
|
5
|
-
required(:trans_date).filled(:
|
7
|
+
required(:trans_date).filled(:date_time?)
|
6
8
|
required(:sender_lastname).filled(:str?, max_size?: 40)
|
7
9
|
required(:sender_firstname).filled(:str?, max_size?: 40)
|
8
10
|
required(:sender_middle_name).maybe(:str?, max_size?: 1)
|
@@ -21,9 +23,9 @@ module EZAPIClient
|
|
21
23
|
max_size?: 3,
|
22
24
|
included_in?: CreateTransactionRequest::TRANS_TYPES.keys,
|
23
25
|
})
|
24
|
-
required(:bank_code).
|
25
|
-
required(:branch_name).
|
26
|
-
required(:account_no).
|
26
|
+
required(:bank_code).maybe(:str?, max_size?: 5)
|
27
|
+
required(:branch_name).maybe(:str?, max_size?: 40)
|
28
|
+
required(:account_no).maybe(:str?, max_size?: 20)
|
27
29
|
required(:landed_currency).filled(:str?, {
|
28
30
|
max_size?: 3,
|
29
31
|
included_in?: %w(USD PHP),
|
@@ -40,6 +42,22 @@ module EZAPIClient
|
|
40
42
|
trans_type.included_in?(trans_types).then(recipient_birthday.filled?)
|
41
43
|
end
|
42
44
|
|
45
|
+
rule(bank_code_presence: %i[trans_type bank_code]) do |trans_type, bank_code|
|
46
|
+
trans_type.eql?(BANK_TRANS_TYPE).then(bank_code.filled?)
|
47
|
+
end
|
48
|
+
|
49
|
+
rule(
|
50
|
+
branch_name_presence: %i[trans_type branch_name]
|
51
|
+
) do |trans_type, branch_name|
|
52
|
+
trans_type.eql?(BANK_TRANS_TYPE).then(branch_name.filled?)
|
53
|
+
end
|
54
|
+
|
55
|
+
rule(
|
56
|
+
account_no_presence: %i[trans_type account_no]
|
57
|
+
) do |trans_type, account_no|
|
58
|
+
trans_type.eql?(BANK_TRANS_TYPE).then(account_no.filled?)
|
59
|
+
end
|
60
|
+
|
43
61
|
rule(
|
44
62
|
recipient_phone_presence: %i[trans_type recipient_phone]
|
45
63
|
) do |trans_type, recipient_phone|
|
data/lib/ezapi_client/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ezapi_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ramon Tayag
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -162,12 +162,15 @@ files:
|
|
162
162
|
- ".travis.yml"
|
163
163
|
- CHANGELOG.md
|
164
164
|
- CODE_OF_CONDUCT.md
|
165
|
+
- Dockerfile
|
165
166
|
- Gemfile
|
166
167
|
- LICENSE.txt
|
167
168
|
- README.md
|
168
169
|
- Rakefile
|
169
170
|
- bin/console
|
171
|
+
- bin/rspec
|
170
172
|
- bin/setup
|
173
|
+
- docker-compose.yml
|
171
174
|
- ezapi_client.gemspec
|
172
175
|
- lib/ezapi_client.rb
|
173
176
|
- lib/ezapi_client/bin/ezapi.jar
|
@@ -210,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
213
|
version: '0'
|
211
214
|
requirements: []
|
212
215
|
rubyforge_project:
|
213
|
-
rubygems_version: 2.
|
216
|
+
rubygems_version: 2.5.1
|
214
217
|
signing_key:
|
215
218
|
specification_version: 4
|
216
219
|
summary: Ruby wrapper for EZAPI
|