vcard_parser 0.0.8 → 0.0.9

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: 1fb8ca3e77cb134ecd1160e1108aa69798272e00
4
- data.tar.gz: 7417e4b1672428d1e46707b662efb820648634e3
3
+ metadata.gz: f6e163f43c16a755bc2431f450dae008e6ff4e1c
4
+ data.tar.gz: 75caa1354c96992ae2d1bad66251dfcdd46094b3
5
5
  SHA512:
6
- metadata.gz: e06178ffde2dbe9290374725d53e69992c883a3fca49633d9c79b2c1febf0c2d1d7b4dc354492951f064e81e8efa0a605922d8fe1a394d745f9d7cbca532f54b
7
- data.tar.gz: 6810158a55bb849486765fa8e6855c2b3ef8f55c4e58fee44a847742d9fbc261fc66bd97fb92327196c3b907ae498472f3d4b6beb9d2edc3bc802d30369ea650
6
+ metadata.gz: 361f3695db494bcbeae7581d46bb0eff68f3ee0f9903fb650d3074c2ffbb906e3e765a99b87ab64f4c089dcb2e1bb6c2389235aa07798d4ae2ca102ae9226ba9
7
+ data.tar.gz: 41a04060d9549cf2103c6e658eba8dbf077e88d1f09ce7eb0aa459d3a212753ab66d3049272b5086c3f74c0adaac1f8378fd80875349196eab9c6fb1d5556468
@@ -19,6 +19,7 @@ module VCardParser
19
19
  end
20
20
 
21
21
  def self.parse(data)
22
+ data.gsub!(/\r?\n /, "") # inline base64 data to not break parser
22
23
  data.scan(VCARD_FORMAT).map do |vcard_data|
23
24
  # find the version to choose the correct parser
24
25
  lines = vcard_data[0].each_line.map(&:strip)
@@ -1,3 +1,3 @@
1
1
  module VcardParser
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -8,6 +8,12 @@ item1.TEL;type=pref:2 56 38 54
8
8
  item2.TEL;type=pref:5 66
9
9
  TEL;type=CELL;type=VOICE:3 55
10
10
  item2.ADR;type=HOME;type=pref:;;3 rue du chat;Dris;;90880;FRANCE
11
+ PHOTO;encoding=b;type=JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/4gxYSUNDX1BST0ZJTEUA
12
+ AQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1
13
+ JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
14
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8A
15
+ AAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5k
16
+ IrAeZa3dxHuA3Lv3KVYKw/tboA//2Q==
11
17
  BDAY;value=date:1900-01-01
12
18
  REV:2012-10-31T16:08:22Z
13
19
  UID:11
@@ -89,7 +89,7 @@ describe 'Field 3.0' do
89
89
  f.value.should == "1234"
90
90
  f.params.should == {
91
91
  'type' => %w(WORK VOICE pref something)
92
- }
92
+ }
93
93
  end
94
94
 
95
95
  should 'generate vcf line for NOTE' do
@@ -71,7 +71,7 @@ END:VCARD
71
71
  vcards[1]["UID"].value.should == "12"
72
72
  end
73
73
 
74
- should 'enumerate attributes' do
74
+ should 'enumerate attributes 1' do
75
75
  vcards = VCardParser::VCard.parse( data_file('vcard3.0.vcf') )
76
76
  vcards.size.should == 1
77
77
 
@@ -81,10 +81,10 @@ END:VCARD
81
81
  attrs << a
82
82
  end
83
83
 
84
- attrs.size.should == 11
84
+ attrs.size.should == 12
85
85
  end
86
86
 
87
- should 'enumerate attributes' do
87
+ should 'enumerate attributes 2' do
88
88
  vcards = VCardParser::VCard.parse( data_file('vcard3.0.vcf') )
89
89
  vcards.size.should == 1
90
90
 
@@ -94,74 +94,79 @@ END:VCARD
94
94
  attrs << a
95
95
  end
96
96
 
97
- attrs[0].tap do |a|
97
+ n = -1
98
+ attrs[n+= 1].tap do |a|
98
99
  a.group.should == "item2"
99
100
  a.name.should == "ADR"
100
101
  a.value.should == ";;3 rue du chat;Dris;;90880;FRANCE"
101
102
  a.params.should == {'type' => ['HOME', 'pref']}
102
103
  end
103
104
 
104
- attrs[1].tap do |a|
105
+ attrs[n+= 1].tap do |a|
105
106
  a.name.should == "BDAY"
106
107
  a.value.should == Time.parse('1900-01-01')
107
108
  a.params.should == {'value' => ['date']}
108
109
  end
109
110
 
110
111
 
111
- attrs[2].tap do |a|
112
+ attrs[n+= 1].tap do |a|
112
113
  a.name.should == "FN"
113
114
  a.value.should == "Christophe Durand"
114
115
  a.params.should == {}
115
116
  end
116
117
 
117
- attrs[3].tap do |a|
118
+ attrs[n+= 1].tap do |a|
118
119
  a.name.should == "N"
119
120
  a.value.should == "Durand;Christophe;;;"
120
121
  a.params.should == {}
121
122
  end
122
123
 
123
- attrs[4].tap do |a|
124
+ attrs[n+= 1].tap do |a|
124
125
  a.name.should == "ORG"
125
126
  a.value.should == "Op;"
126
127
  a.params.should == {}
127
128
  end
128
-
129
129
 
130
- attrs[5].tap do |a|
130
+ attrs[n+= 1].tap do |a|
131
+ a.name.should == "PHOTO"
132
+ a.value.should.include?("AAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlub")
133
+ a.params.should == {"encoding"=>["b"], "type"=>["JPEG"]}
134
+ end
135
+
136
+ attrs[n+= 1].tap do |a|
131
137
  a.name.should == "PRODID"
132
138
  a.value.should == "-//Apple Inc.//iOS 5.0.1//EN"
133
139
  a.params.should == {}
134
140
  end
135
141
 
136
- attrs[6].tap do |a|
142
+ attrs[n+= 1].tap do |a|
137
143
  a.name.should == "REV"
138
144
  a.value.should == Time.parse("2012-10-31T16:08:22Z")
139
145
  a.params.should == {}
140
146
  end
141
147
 
142
- attrs[7].tap do |a|
143
- a.group.should == nil
144
- a.name.should == "TEL"
145
- a.value.should == "3 55"
146
- a.params.should == {'type' => %w(CELL VOICE)}
147
- end
148
-
149
- attrs[8].tap do |a|
148
+ attrs[n+= 1].tap do |a|
150
149
  a.group.should == "item1"
151
150
  a.name.should == "TEL"
152
151
  a.value.should == "2 56 38 54"
153
152
  a.params.should == {'type' => %w(pref)}
154
153
  end
155
-
156
- attrs[9].tap do |a|
154
+
155
+ attrs[n+= 1].tap do |a|
157
156
  a.group.should == "item2"
158
157
  a.name.should == "TEL"
159
158
  a.value.should == "5 66"
160
159
  a.params.should == {'type' => %w(pref)}
161
160
  end
162
161
 
162
+ attrs[n+= 1].tap do |a|
163
+ a.group.should == nil
164
+ a.name.should == "TEL"
165
+ a.value.should == "3 55"
166
+ a.params.should == {'type' => %w(CELL VOICE)}
167
+ end
163
168
 
164
- attrs[10].tap do |a|
169
+ attrs[n+=1].tap do |a|
165
170
  a.name.should == "UID"
166
171
  a.value.should == "11"
167
172
  a.params.should == {}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcard_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Ammous
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-21 00:00:00.000000000 Z
11
+ date: 2014-07-21 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A vCard parser
14
14
  email:
@@ -17,8 +17,8 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
- - .gitignore
21
- - .travis.yml
20
+ - ".gitignore"
21
+ - ".travis.yml"
22
22
  - ChangeLog
23
23
  - Gemfile
24
24
  - Guardfile
@@ -45,17 +45,17 @@ require_paths:
45
45
  - lib
46
46
  required_ruby_version: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - '>='
48
+ - - ">="
49
49
  - !ruby/object:Gem::Version
50
50
  version: '0'
51
51
  required_rubygems_version: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  requirements: []
57
57
  rubyforge_project:
58
- rubygems_version: 2.0.3
58
+ rubygems_version: 2.2.2
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: A simple vCard parser