aurfy 0.1.1 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cdf97785085e8e57fe1637e2397ebfcdd9ed2dae
4
- data.tar.gz: 5f14266cd1992ec98e279839e27a29921c575826
3
+ metadata.gz: cd370b13b668a5a3ad75b2259835fcbf713162e6
4
+ data.tar.gz: 9b4fcedecb44992d5da07cb225bbe8f12fe08a3d
5
5
  SHA512:
6
- metadata.gz: 16c239e41a1e87763c7d0d73bc163f44e2c3a502dab5ceb27731898d6796cae8eb8e0901e31d9c3bfdbf9f7d408395563211255a6fc7b06f0758ec9f6e1d6b45
7
- data.tar.gz: 451e505339b82c154f1dfbe3f26142c245d710bb5a88164afb5b2525efb43a4612a23b99d8dc4c6cbe68e33bf1ec8c0ba0e9c9869665fd6de221a2cce7df97d1
6
+ metadata.gz: 6f656da1218c81ea95a91cf6141305f178a26f2193f48b50a98680638669734752d7861ca9e095e1e38ab1572b8e3885a70c9482570aa5ff1b809a4a51584c1b
7
+ data.tar.gz: bd91ec61d956df7a990cb6c974d92c0b5dc327c74c447e10a5e61519a97121b232052495d01598ea701bb4b525b3262aae13d2b93045a12d184c54266c435e73
data/aurfy.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.files = `git ls-files`.split($/)
15
15
  s.require_paths = ['lib']
16
16
 
17
+ s.add_runtime_dependency 'credit_card_reader', '~> 0.0.0'
17
18
  s.add_runtime_dependency 'faraday', '~> 0.9.0'
18
19
  s.add_development_dependency "pry", "~> 0.10.0"
19
20
  s.add_development_dependency 'rspec', '~> 3.0', '>= 3.0.0'
@@ -7,7 +7,6 @@ module Aurfy
7
7
  end
8
8
 
9
9
  def initialize
10
- @cardtype = "UP"
11
10
  @charset = "UTF-8"
12
11
  @ordercurrency = "USD"
13
12
  @orderdescription = ""
@@ -30,6 +29,7 @@ module Aurfy
30
29
  next unless Configure.keys.include? key
31
30
  instance_variable_set(:"@#{key}", value)
32
31
  end
32
+ @cardtype ||= cardtype
33
33
  options
34
34
  end
35
35
 
@@ -47,5 +47,23 @@ module Aurfy
47
47
  def signature
48
48
  Digest::MD5.hexdigest(signature_key)
49
49
  end
50
+
51
+ def cardtype
52
+ credit_card = credit_card_detector.detect(@cardnumber)
53
+ case credit_card.brand
54
+ when :union_pay
55
+ "UP"
56
+ when :vise
57
+ "VISA"
58
+ when :jcb
59
+ "JCB"
60
+ when :master
61
+ "MC"
62
+ end
63
+ end
64
+
65
+ def credit_card_detector
66
+ CreditCardReader::Detector.new
67
+ end
50
68
  end
51
69
  end
data/lib/aurfy/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Aurfy
2
2
  MAJOR = 0
3
- MINOR = 1
4
- PATCH = 1
3
+ MINOR = 2
4
+ PATCH = 0
5
5
  VERSION = [MAJOR, MINOR, PATCH].join('.').freeze
6
6
  end
data/lib/aurfy.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'faraday'
2
+ require 'credit_card_reader'
2
3
 
3
4
  require 'aurfy/client'
4
5
  require 'aurfy/configure'
@@ -32,9 +32,9 @@ describe Aurfy::Configure do
32
32
 
33
33
  describe "#sorted_variables" do
34
34
  it "returns sorted instance variables" do
35
- subject.options = { trade_certificate: "test", cardnumber: "0123456789012345", orderid: "orderid",
35
+ subject.options = { trade_certificate: "test", cardnumber: "6200123456789012", orderid: "orderid",
36
36
  ordertime: "20150429124533" }
37
- sorted_variables = { cardnumber: "0123456789012345", cardtype: "UP", charset: "UTF-8", ordercurrency: "USD",
37
+ sorted_variables = { cardnumber: "6200123456789012", cardtype: "UP", charset: "UTF-8", ordercurrency: "USD",
38
38
  orderdescription: "", orderid: "orderid", ordertime: "20150429124533", signmethod: "MD5",
39
39
  transtype: "PURCHASE", txnremark1: "", txnremark2: "", version: "1.0", website: "" }
40
40
 
@@ -44,9 +44,9 @@ describe Aurfy::Configure do
44
44
 
45
45
  describe "#signature_key" do
46
46
  it "returns sorted instance variables" do
47
- subject.options = { signmethod: "MD5", trade_certificate: "trade_certificate", orderid: "orderid",
47
+ subject.options = { cardnumber: "6200123456789012", signmethod: "MD5", trade_certificate: "trade_certificate", orderid: "orderid",
48
48
  ordertime: "20150429124533" }
49
- signature_key = "cardtype=UP&charset=UTF-8&ordercurrency=USD&orderdescription=&orderid=orderid&ordertime=20150429124533&transtype=PURCHASE&txnremark1=&txnremark2=&version=1.0&website=&trade_certificate"
49
+ signature_key = "cardnumber=6200123456789012&cardtype=UP&charset=UTF-8&ordercurrency=USD&orderdescription=&orderid=orderid&ordertime=20150429124533&transtype=PURCHASE&txnremark1=&txnremark2=&version=1.0&website=&trade_certificate"
50
50
 
51
51
  expect(subject.signature_key).to eq(signature_key)
52
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aurfy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Saito
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2015-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: credit_card_reader
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: faraday
15
29
  requirement: !ruby/object:Gem::Requirement