qrcode_intent 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8379525d4cad897017b4990bb5fe68f7c467347cd4bc3c239282855e4fda5a70
4
+ data.tar.gz: 5aca60fab9e9777e676640d03d548d83f1e3978c209fddcf5329340ac54ad10d
5
+ SHA512:
6
+ metadata.gz: f7d98c58e47e351d28607810d6229ec955ad13751b95f1f66d66cbefe037755c1184e506ac4ecd7c7721a30c3043bd24fa96e27ee1e9426d1ea9cf780afb5098
7
+ data.tar.gz: daed90a7cb48d33f3895d1b54578e12f02775aef7edee6c6feefbbf35253136e0fe4d5c44a8b53ab1a5b089f2525a05b93b31fe220d0975fe4a452f1ec6e51e0
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: qrcode_intent.rb
4
+
5
+ require 'rqrcode'
6
+ require 'simplevpim'
7
+
8
+
9
+ class QRCodeIntent
10
+
11
+ attr_reader :to_s
12
+
13
+ WiFi = Struct.new(*%i(ssid type password))
14
+
15
+ def initialize(obj=nil, event: nil, contact: nil, website: nil,
16
+ wifi: nil, location: nil, debug: false)
17
+
18
+ @debug = debug
19
+
20
+ if website then
21
+
22
+ add_website website
23
+
24
+ elsif location
25
+
26
+ add_location location
27
+
28
+ elsif event
29
+
30
+ add_event event
31
+
32
+ elsif contact
33
+
34
+ add_contact contact
35
+
36
+ elsif wifi
37
+
38
+ add_wifi wifi
39
+
40
+ else
41
+
42
+ if obj.is_a? String then
43
+ obj
44
+ elsif obj.is_a? Hash
45
+ obj[:start] ? add_event(obj) : add_contact(obj)
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+
52
+ def add_contact(obj=nil, &blk)
53
+
54
+ @to_s = if block_given? then
55
+
56
+ SimpleVpim.new(:contact, &blk).to_vcard.to_s
57
+
58
+ elsif obj
59
+
60
+ SimpleVpim.new(obj).to_vcard.to_s
61
+
62
+ end
63
+
64
+ end
65
+
66
+ def add_event(obj=nil, &blk)
67
+
68
+ @to_s = if block_given? then
69
+
70
+ SimpleVpim.new(:event, &blk).to_vevent
71
+
72
+ elsif obj
73
+
74
+ SimpleVpim.new(obj).to_vevent
75
+
76
+ end
77
+
78
+ end
79
+
80
+ # e.g. add_location '55.8835644,-3.2312978'
81
+ #
82
+ def add_location(s)
83
+ @to_s = 'geo:' + s
84
+ end
85
+
86
+ # e.g. add_website 'https://news.bbc.co.uk/'
87
+ #
88
+ def add_website(s)
89
+ @to_s = s
90
+ end
91
+
92
+ def add_wifi(obj=nil, &blk)
93
+
94
+ h = if block_given? then
95
+
96
+ wifi = WiFi.new(nil, 'WPA', nil)
97
+ yield wifi
98
+ wifi.to_h
99
+
100
+
101
+ elsif obj.is_a? Hash
102
+
103
+ obj
104
+
105
+ end
106
+
107
+ @to_s = "WIFI:S%s;T:%s;P:%s;;" % [h[:ssid], h[:type], h[:password]]
108
+
109
+ end
110
+
111
+ def to_svg()
112
+ RQRCode::QRCode.new(@to_s).as_svg
113
+ end
114
+
115
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qrcode_intent
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwNjIyMTMxMTE2WhcN
15
+ MjIwNjIyMTMxMTE2WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDkBXlw
17
+ 625ha0SqIYLn40Sbe5pMbGvbZ7aY0kZZoOUfoDtnY6q+v7U8e4087zAr8lBheP+H
18
+ 6RvRU3MiyWSWT48J8lSNMlSdRhYMF04Cc+wuM9KeXJGUB7mXc2CfOB7BzWpfEDPE
19
+ I9vflmYvGI9RL5Z28cKP5e+2+QWYQ4g5i1tzKUmVHUYQmwGekq1K9FyF15HvUSlm
20
+ yUValnOrdLqJKeR/vZlO3aP+dFLRKJFj7H66SSHt3oOEFZLZigVLL8pOEkjRrcQH
21
+ HHqnJGDNdgz1VK86BDRoQHx5mJb7b5hEhXJIfCV1aBGO577TdzObVq0Ug2rx0cpQ
22
+ dSQt3AlMpmH/7xNgAVUXtmexMlUDASQJ0QhKbEiNV77eMdEPHvXY4s9H3mNI2Pgw
23
+ CxhVsMoB02t4kxYeI0TP8vbPK+fK4mJitrtx5d9ioEufjgK8XyTOiXdDdN/azjPE
24
+ ATqxMmnCAWSGy2A7OkuyjMJYhegsPi+rWvjACGWhJG4L/o23/JoHEZjZgNcCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU10SDnAVD
26
+ 3ah8y7I1jHzI2xK0lBQwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAo8btJcJun8mknaVNmr7YvQa8UQJepEjtt336eD7H
29
+ Be0bgM4qCpAjSZ0+Qtfl3vPxQgKV/ZgzDgyKAdmkyX8C5A6z9gRpBz5sL2WrRxFp
30
+ qqrumeQCserGknEUbMH5Yb2x8BRtgK1sgVxvo19NHOLV8Pu7QQ6kfCpr3WvHR9xx
31
+ xHRjWgcj9XMlj8mpYTIjaMQc48XNAqzLjtWdJSGl4uV63dn5ViVbh4lWC6g4Ptmg
32
+ 2noJPby5HI05oPUBMccLSfoB+2tgYVzmxt2d/hafIH3hwkKIYBb2QacfMOJ+2n3E
33
+ QJKeoayf7rZVrYNQqcns+DpWsj2KI+mHN0pjethIEECFyiXiACn9csaE8Vg3lQCX
34
+ rPQKJB9t2op7+TnVDZhOKKEFxLUC1zHQgWiw0LIynk4SOqaoPa1jv3sRKCsAgZhp
35
+ CKmWN+kpdbPOLk9BPe+zHcOiLQPVpsxlbQiUE8EbZL9mwfjXKRoc8NPVGl5dNINp
36
+ 4Flko+JjHRqNlMRox3vA6Y0G
37
+ -----END CERTIFICATE-----
38
+ date: 2021-06-22 00:00:00.000000000 Z
39
+ dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: simplevpim
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.5'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 0.5.2
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0.5'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.5.2
60
+ description:
61
+ email: digital.robertson@gmail.com
62
+ executables: []
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - lib/qrcode_intent.rb
67
+ homepage: https://github.com/jrobertson/qrcode_intent
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubygems_version: 3.1.2
87
+ signing_key:
88
+ specification_version: 4
89
+ summary: An rqrcode wrapper for adding a website, a contact, wi-fi settings, location,
90
+ or event.
91
+ test_files: []
metadata.gz.sig ADDED
Binary file