magnet 1.4.0 → 1.5.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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MzU4NDg2NjQ1YzEzOGQyY2MwN2YyYjA3MGRhOGM5NmMzODM3Y2MzMQ==
5
+ data.tar.gz: !binary |-
6
+ MzY0M2E2ZmUyOTNiMDM5Y2E2N2E0NjVkYWQwY2MwNGYxNTUxOWM5Mg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ Mjc3NGI2NmE3YWM2MTcyNmM3Y2Y4NjgzYzlmZGNjZjkwYjc1MWQ2OGIyMTYw
10
+ ZDEyODAzN2JhYTg3ZDMzNWM4ODdlNWM4OGRiOTliMjQ2YjYyZjQ5MDBjZTBi
11
+ OTY0MGRlZTJkZWY4YWRmNTAzZDZkYmNlNzlkZGEyYmRmMGU1OWU=
12
+ data.tar.gz: !binary |-
13
+ NjE0MTM1MjVlZGVmNDcxNWNhMjE3OTFkZTQzNzJkY2ZmOThlNjQ2NDE5MGE0
14
+ N2I5MWMwNzE3MzJjN2M5ZTRmZDg2YjFhYjljNGJjZWE3MzRjNmJmY2U3ZTU2
15
+ NzlmNTg4MWEwMzJhOWE3Yzc1ZjgxYjk0M2M1NjNhZjVmZGZhODA=
@@ -1,7 +1,7 @@
1
1
  module Magnet
2
2
  class Parser
3
3
  TRACKS = {
4
- 1 => /\A%(?<format>[A-Z])(?<pan>[0-9 ]{1,19})\^(?<name>[A-Za-z0-9.'&_!@#\$\%*\\~,"\-\/ *]{0,26})\^(?<expiration>\d{4}|\^)(?<service_code>\d{3}|\^)(?<discretionary_data>[^\?]*)\?\Z/,
4
+ 1 => /\A%(?<format>[A-Z])(?<pan>[0-9 ]{1,19})\^(?<name>[^^]*)\^(?<expiration>\d{4}|\^)(?<service_code>\d{3}|\^)(?<discretionary_data>[^\?]*)\?\Z/,
5
5
  2 => /\A;(?<format>[A-Z])(?<pan>[0-9 ]{1,19})=(?<expiration>\d{4}|=)(?<service_code>\d{3}|=)(?<discretionary_data>[^\?]*)\?\Z/
6
6
  }.freeze
7
7
 
@@ -1,3 +1,3 @@
1
1
  module Magnet
2
- VERSION = "1.4.0"
2
+ VERSION = "1.5.0"
3
3
  end
@@ -184,5 +184,10 @@ describe Magnet::Parser do
184
184
  assert_equal "ALISON,MAYNE/B", attributes[:name]
185
185
  end
186
186
 
187
+ it "should parse track data with 27 character names" do
188
+ attributes = @parser.parse("%B4717270000000000^ALISON,MAYNE/B /^0000000000000000000000000000000?")
189
+
190
+ assert_equal "ALISON,MAYNE/B /", attributes[:name]
191
+ end
187
192
  end
188
193
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magnet
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
5
- prerelease:
4
+ version: 1.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Samuel Kadolph
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-10-10 00:00:00.000000000 Z
11
+ date: 2013-10-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: minitest
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: mocha
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -75,27 +68,26 @@ files:
75
68
  - test/magnet/parser_test.rb
76
69
  homepage: http://samuelkadolph.github.com/magnet/
77
70
  licenses: []
71
+ metadata: {}
78
72
  post_install_message:
79
73
  rdoc_options: []
80
74
  require_paths:
81
75
  - lib
82
76
  required_ruby_version: !ruby/object:Gem::Requirement
83
- none: false
84
77
  requirements:
85
78
  - - ! '>='
86
79
  - !ruby/object:Gem::Version
87
80
  version: 1.9.2
88
81
  required_rubygems_version: !ruby/object:Gem::Requirement
89
- none: false
90
82
  requirements:
91
83
  - - ! '>='
92
84
  - !ruby/object:Gem::Version
93
85
  version: '0'
94
86
  requirements: []
95
87
  rubyforge_project:
96
- rubygems_version: 1.8.23
88
+ rubygems_version: 2.1.10
97
89
  signing_key:
98
- specification_version: 3
90
+ specification_version: 4
99
91
  summary: magnet is a library for decoding the track data on magnetic stripe cards.
100
92
  test_files:
101
93
  - test/magnet/card_test.rb