simplevpim 0.5.0 → 0.5.4

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
  SHA256:
3
- metadata.gz: 837294bf422fd83d5713759e1983df1d04b6843557790a89f041c1aea5e81469
4
- data.tar.gz: ce99d263776326cdac99f6831b1c8ce4bcc7f54d25d828175c215bfd9ba263ba
3
+ metadata.gz: 4c64a906a46262925ae97e53b4183fa9676e84203993cf25b06853f7a031b873
4
+ data.tar.gz: e5339040fa708cffaad3a5798ff77bf742ddace8d4664ce2b52cfd1a7ab339e1
5
5
  SHA512:
6
- metadata.gz: b412cde4385b238ad9073e93d8be7346f2bd600b9d44d90297250f34ba670209fefbb97915dc8b7dfa55114a0c47e95213f0355494c11eb82409994be6191900
7
- data.tar.gz: 97ef6fedf467824363b642147202d6cacaea03700d0492bd15969483ebf690891480da634cf8eea859676d9d6252bb7d9d8b2456bd4aa9ea4c6d800c7103ea97
6
+ metadata.gz: 348c5891cbc99b82be316829e787a3ffd4225981be0ae35bafaad28e6e7f49dcc122e448f4cd30e9cfb843ac3ff239a4000c1d1d23ab309747bf6dd9062c5bfd
7
+ data.tar.gz: bc0068f15c03f2416a47f6b46769c7878d804029c7441315eac3b288a84cbd8d1a7d4c928b1de21f00cf8491246e6781ca331867c169ad4f2c9cfbfc5c1204a3
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/simplevpim.rb CHANGED
@@ -11,20 +11,53 @@ require 'unichron'
11
11
 
12
12
 
13
13
  class SimpleVpim
14
+ using ColouredText
14
15
 
15
16
  attr_reader :to_vcard, :to_vevent, :to_xml
17
+
18
+ a = %i(firstname lastname name tel addr email)
19
+ Contact = Struct.new(*a)
20
+ Event = Struct.new(*%i(title summary start end location description))
21
+
22
+ def initialize(rawobj, debug: false)
23
+
24
+ @debug = debug
16
25
 
17
- def initialize(s)
26
+ obj = if block_given? then
27
+
28
+ if rawobj == :event then
29
+
30
+ e = Event.new
31
+ yield e
32
+ e.to_h
33
+
34
+ elsif rawobj == :contact then
18
35
 
19
- kvx = Kvx.new(s)
36
+ puts 'inside contact' if @debug
37
+ c = Contact.new
38
+ yield c
39
+ c.to_h
40
+
41
+ end
42
+
43
+ else
44
+
45
+ rawobj
46
+
47
+ end
48
+
49
+ puts 'obj: ' + obj.inspect if @debug
50
+
51
+ kvx = Kvx.new(obj, debug: false)
52
+
20
53
  @h = kvx.to_h
21
54
 
22
- if s.lstrip =~ /# vcard/ and @h[:name] then
55
+ if @h[:name] or @h[:firstname] or @h[:lastname] then
23
56
 
24
57
  @to_vcard = make_vcard @h
25
58
  @to_xml = vcard_xml @h
26
59
 
27
- elsif @h[:title] or @h[:summary]
60
+ elsif @h[:start]
28
61
 
29
62
  @to_vevent = make_vevent @h
30
63
  @to_xml = vevent_xml kvx.to_xml
@@ -70,6 +103,11 @@ class SimpleVpim
70
103
  end
71
104
 
72
105
  def make_vcard(h)
106
+
107
+ if @debug then
108
+ puts 'inside make_vcard'.info
109
+ puts 'h: ' + h.inspect
110
+ end
73
111
 
74
112
  card = Vpim::Vcard::Maker.make2 do |maker|
75
113
 
@@ -82,8 +120,23 @@ class SimpleVpim
82
120
 
83
121
  prefix = h[:prefix]
84
122
  suffix = h[:suffix]
85
-
86
- firstname, middlename, surname, fullname = extract_names(h[:name])
123
+
124
+ if h[:name] then
125
+
126
+ firstname, middlename, surname, fullname = extract_names(h[:name])
127
+
128
+ elsif h[:firstname] or h[:lastname]
129
+
130
+ firstname = h[:firstname] if h[:firstname]
131
+ surname = h[:lastname] if h[:lastname]
132
+
133
+ fullname = if h[:fullname] then
134
+ h[:fullname]
135
+ else
136
+ [firstname, surname].compact.join(' ')
137
+ end
138
+
139
+ end
87
140
 
88
141
  maker.add_name do |name|
89
142
  name.prefix = prefix if prefix
@@ -108,6 +161,17 @@ class SimpleVpim
108
161
  maker.add_email(eh) { |e| e.location = 'home' } if eh
109
162
  end
110
163
  end
164
+
165
+
166
+ # -- address ------------------------------
167
+
168
+ adr = h[:addr]
169
+ puts ('adr: ' + adr.inspect).debug if @debug
170
+ if adr then
171
+ maker.add_addr do |addr|
172
+ addr.street = adr
173
+ end
174
+ end
111
175
 
112
176
  # -- urls ---------------------------------
113
177
 
@@ -320,12 +384,14 @@ EOF
320
384
  end
321
385
 
322
386
  def make_xcard(xml)
323
- #lib = File.dirname(__FILE__)
324
- lib = 'http://a0.jamesrobertson.me.uk/rorb/r/ruby/simplevpim'
325
- xsl = open(lib + '/xcard.xsl','UserAgent' => 'SimplevPim').read
387
+
388
+ lib = File.dirname(__FILE__)
389
+ xsl = File.read File.join(lib,'xcard.xsl')
390
+
326
391
  doc = Nokogiri::XML(xml)
327
392
  xslt = Nokogiri::XSLT(xsl)
328
393
  xslt.transform(doc).to_s
394
+
329
395
  end
330
396
 
331
397
  def vcard_xml(h)
@@ -333,7 +399,22 @@ EOF
333
399
  prefix = h[:prefix]
334
400
  suffix = h[:suffix]
335
401
 
336
- firstname, middlename, surname, fullname = extract_names(h[:name])
402
+ if h[:name] then
403
+
404
+ firstname, middlename, surname, fullname = extract_names(h[:name])
405
+
406
+ elsif h[:firstname] or h[:lastname]
407
+
408
+ firstname = h[:firstname] if h[:firstname]
409
+ surname = h[:lastname] if h[:lastname]
410
+
411
+ fullname = if h[:fullname] then
412
+ h[:fullname]
413
+ else
414
+ [firstname, surname].compact.join(' ')
415
+ end
416
+
417
+ end
337
418
 
338
419
  xml = RexleBuilder.new
339
420
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplevpim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  dBpGyLXPFeCV5Z8rWY+S891OLL3UPvcmIiolU7aaNSwvXBGLesCCH6TrIdhw4q2z
36
36
  pM4lNlA3G8w+xUHw/9AE8V6p
37
37
  -----END CERTIFICATE-----
38
- date: 2021-06-21 00:00:00.000000000 Z
38
+ date: 2021-11-18 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: hlt
@@ -77,6 +77,26 @@ dependencies:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
79
  version: 13.11.11
80
+ - !ruby/object:Gem::Dependency
81
+ name: unichron
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 0.4.0
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.4'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.4.0
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.4'
80
100
  - !ruby/object:Gem::Dependency
81
101
  name: rexle-builder
82
102
  requirement: !ruby/object:Gem::Requirement
@@ -123,8 +143,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
143
  - !ruby/object:Gem::Version
124
144
  version: '0'
125
145
  requirements: []
126
- rubygems_version: 3.1.2
146
+ rubyforge_project:
147
+ rubygems_version: 2.7.10
127
148
  signing_key:
128
149
  specification_version: 4
129
- summary: A simple wrapper for the vPim gem
150
+ summary: A simple wrapper for the vPim gem.
130
151
  test_files: []
metadata.gz.sig CHANGED
Binary file