credit-card-sms-parser 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/.gitignore +10 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +3 -2
- data/README.md +3 -3
- data/bin/console +13 -0
- data/bin/setup +7 -0
- data/credit-card-sms-parser.gemspec +22 -16
- data/icon.png +0 -0
- data/lib/credit_card_sms_parser.rb +2 -1
- metadata +35 -7
- data/test/test_credit_card_sms_parser.rb +0 -95
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9166f01686ad80ba2e447e31bbcf98c4f7f5d8a6
|
4
|
+
data.tar.gz: 869d799e4662b0888f178a43006609291f71e530
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0a8b9b03f682ba4b8d4c775d8552aa3e1f02cc634ca8f03ad550d5afd6b26fa0f9ab2d7d3edc3e35f44b046f16c3759d62aa006fb29a6b2707542366dc4c18f
|
7
|
+
data.tar.gz: 0f2a913311d103a1c7be094079acf04d65317c9dfe91cb3aa150bba8eba161512afe61a77dcbac59fbb07caf4edc20970b88ebd6fb2f4dcf9dbd620acc04394d
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
credit-card-sms-parser (0.
|
4
|
+
credit-card-sms-parser (0.2.0)
|
5
5
|
rltk
|
6
6
|
|
7
7
|
GEM
|
@@ -28,7 +28,7 @@ GEM
|
|
28
28
|
httpclient (2.6.0.1)
|
29
29
|
i18n (0.7.0)
|
30
30
|
json (1.8.2)
|
31
|
-
minitest (5.
|
31
|
+
minitest (5.6.0)
|
32
32
|
multipart-post (2.0.0)
|
33
33
|
nesty (1.0.2)
|
34
34
|
rack (1.6.0)
|
@@ -53,6 +53,7 @@ PLATFORMS
|
|
53
53
|
DEPENDENCIES
|
54
54
|
activesupport
|
55
55
|
bump
|
56
|
+
bundler (~> 1.8)
|
56
57
|
credit-card-sms-parser!
|
57
58
|
geminabox
|
58
59
|
minitest
|
data/README.md
CHANGED
@@ -11,16 +11,16 @@ $ pry
|
|
11
11
|
=> true
|
12
12
|
[2] pry(main)> include CreditCardSmsParser
|
13
13
|
=> Object
|
14
|
-
[3] pry(main)> parse_sms('
|
14
|
+
[3] pry(main)> parse_sms('하나(6*8*)***님 04/06 15:26 씨유판교 일시불/3,500원/누적-4,645원')
|
15
15
|
=> {:CARD=>"하나(6*8*)",
|
16
16
|
:DATE=>"04/06",
|
17
17
|
:TIME=>"15:26",
|
18
18
|
:SHOP=>"씨유판교",
|
19
|
-
:MONEY=>4645
|
20
|
-
:card_name=>"하나카드"}
|
19
|
+
:MONEY=>4645}
|
21
20
|
```
|
22
21
|
|
23
22
|
## 현재까지 지원하는(걸로 추정되는) 카드사
|
24
23
|
* 현대카드
|
25
24
|
* 하나SK카드
|
26
25
|
* 국민카드
|
26
|
+
* 농협
|
data/bin/console
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
|
5
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
6
|
+
# with your gem easier. You can also use a different console, if you like.
|
7
|
+
|
8
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
9
|
+
# require "pry"
|
10
|
+
# Pry.start
|
11
|
+
|
12
|
+
require 'irb'
|
13
|
+
IRB.start
|
data/bin/setup
ADDED
@@ -1,22 +1,28 @@
|
|
1
|
-
#
|
1
|
+
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
|
5
|
-
Gem::Specification.new do |
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
gem.homepage = 'https://github.com/kakao/credit-card-sms-parser'
|
14
|
-
gem.metadata['allowed_push_host'] = 'https://rubygems.org'
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'credit-card-sms-parser'
|
7
|
+
spec.version = '0.2.0'
|
8
|
+
spec.authors = %w(Hanson Benjamin)
|
9
|
+
spec.email = %w(jehokim@live.com)
|
10
|
+
if spec.respond_to?(:metadata)
|
11
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
12
|
+
end
|
15
13
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
spec.summary = 'Parsing credit card SMS messages'
|
15
|
+
spec.description = 'It parses out the SMS notifications for each credit (or debit) transaction, allowing you to collect the following information: transaction amount, name of credit card company, payee (store), total amount. For the time being, support is limited to Korean credit card companies only.'
|
16
|
+
spec.homepage = 'https://github.com/kakao/credit-card-sms-parser'
|
17
|
+
spec.licenses = %w(MIT)
|
20
18
|
|
21
|
-
|
19
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
+
spec.bindir = 'exe'
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
+
spec.require_paths = ['lib']
|
24
|
+
|
25
|
+
spec.add_runtime_dependency 'rltk'
|
26
|
+
spec.add_development_dependency 'bundler', '~> 1.8'
|
27
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
22
28
|
end
|
data/icon.png
ADDED
Binary file
|
@@ -27,7 +27,8 @@ class KoreanCreditCardLexer < RLTK::Lexer
|
|
27
27
|
rule(/\d\d:\d\d/) {|t| [:TIME, t]}
|
28
28
|
rule(/일시불/) { :TYPE }
|
29
29
|
rule(/주식회사\p{Hangul}+/) {|t| [:SHOP, t[4..-1]]}
|
30
|
-
rule(
|
30
|
+
rule(/^\p{Hangul}+( +\p{Hangul}+)*$/) {|t| [:SHOP, t.strip]}
|
31
|
+
rule(/[A-Za-z\p{Hangul}]+/) {|t| [:SHOP, t.strip]}
|
31
32
|
rule(/\//) {|t| [:SLASH, t]}
|
32
33
|
rule(/[\p{L}\p{P}]+/) {|t| [:WORD, t]}
|
33
34
|
rule(/[\d\*]+/) { :NUMBER }
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: credit-card-sms-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hanson
|
8
8
|
- Benjamin
|
9
9
|
autorequire:
|
10
|
-
bindir:
|
10
|
+
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
12
|
+
date: 2015-04-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rltk
|
@@ -25,6 +25,34 @@ dependencies:
|
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.8'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.8'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '10.0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '10.0'
|
28
56
|
description: 'It parses out the SMS notifications for each credit (or debit) transaction,
|
29
57
|
allowing you to collect the following information: transaction amount, name of credit
|
30
58
|
card company, payee (store), total amount. For the time being, support is limited
|
@@ -40,10 +68,11 @@ files:
|
|
40
68
|
- Gemfile.lock
|
41
69
|
- README.md
|
42
70
|
- Rakefile
|
71
|
+
- bin/console
|
72
|
+
- bin/setup
|
43
73
|
- credit-card-sms-parser.gemspec
|
44
|
-
-
|
74
|
+
- icon.png
|
45
75
|
- lib/credit_card_sms_parser.rb
|
46
|
-
- test/test_credit_card_sms_parser.rb
|
47
76
|
homepage: https://github.com/kakao/credit-card-sms-parser
|
48
77
|
licenses:
|
49
78
|
- MIT
|
@@ -69,5 +98,4 @@ rubygems_version: 2.4.6
|
|
69
98
|
signing_key:
|
70
99
|
specification_version: 4
|
71
100
|
summary: Parsing credit card SMS messages
|
72
|
-
test_files:
|
73
|
-
- test/test_credit_card_sms_parser.rb
|
101
|
+
test_files: []
|
@@ -1,95 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'credit_card_sms_parser'
|
3
|
-
require 'active_support/core_ext/enumerable'
|
4
|
-
|
5
|
-
class TestCreditCardSmsParser < Minitest::Test
|
6
|
-
include CreditCardSmsParser
|
7
|
-
def setup
|
8
|
-
# @hyundae_card = CreditCardSmsParser::HyundaeCard.new
|
9
|
-
# @hana_card = CreditCardSmsParser::HanaCard.new
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_hyundae_card
|
13
|
-
s = <<-eos
|
14
|
-
[Web발신]
|
15
|
-
[현대카드]-승인
|
16
|
-
김재*님
|
17
|
-
1,500원(일시불)
|
18
|
-
마노핀익스프레스신림
|
19
|
-
누적:354,220원
|
20
|
-
eos
|
21
|
-
|
22
|
-
assert_equal('마노핀익스프레스신림', parse_sms(s)[:SHOP])
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_hana_card
|
26
|
-
s = <<-eos
|
27
|
-
[Web발신]
|
28
|
-
하나(6*8*)김*호님 04/06 15:26 씨유판교 일시불/3,500원/누적-4,645원
|
29
|
-
eos
|
30
|
-
|
31
|
-
assert_equal('씨유판교', parse_sms(s)[:SHOP])
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_kb_card
|
35
|
-
s = <<-eos
|
36
|
-
[Web발신]
|
37
|
-
KB국민카드 2*5*
|
38
|
-
정*욱님
|
39
|
-
03/25 09:30
|
40
|
-
2,200원
|
41
|
-
미니스톱판교점
|
42
|
-
누적 97,440원
|
43
|
-
eos
|
44
|
-
|
45
|
-
assert_equal('미니스톱판교점', parse_sms(s)[:SHOP])
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_kb_card
|
49
|
-
s = <<-eos
|
50
|
-
[Web발신]
|
51
|
-
삼성가족카드승인9785
|
52
|
-
03/24 18:45
|
53
|
-
10,000원
|
54
|
-
일시불
|
55
|
-
소문난우동
|
56
|
-
eos
|
57
|
-
|
58
|
-
assert_equal('소문난우동', parse_sms(s)[:SHOP])
|
59
|
-
|
60
|
-
s = <<-eos
|
61
|
-
[Web발신]
|
62
|
-
[KB]04/08 21:27
|
63
|
-
078501**554
|
64
|
-
주식회사개성
|
65
|
-
체크카드출금
|
66
|
-
13,000
|
67
|
-
eos
|
68
|
-
|
69
|
-
assert_equal('개성', parse_sms(s)[:SHOP])
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_keb_hana_card
|
73
|
-
s = <<-eos
|
74
|
-
[Web발신]
|
75
|
-
KEB하나 박솔*님 4*6*
|
76
|
-
일시불 30,000원
|
77
|
-
(주)이니 03/23 09:58
|
78
|
-
누적 2,368,397원
|
79
|
-
eos
|
80
|
-
|
81
|
-
assert_equal('이니', parse_sms(s)[:SHOP])
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_city_bc_card
|
85
|
-
s = <<-eos
|
86
|
-
[체크.승인]
|
87
|
-
22,000원
|
88
|
-
씨티BC(1*9*)김*정님
|
89
|
-
01/23 12:34
|
90
|
-
매일식당
|
91
|
-
eos
|
92
|
-
|
93
|
-
assert_equal('매일식당', parse_sms(s)[:SHOP])
|
94
|
-
end
|
95
|
-
end
|