rss_creator 0.3.9 → 0.4.2

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
- SHA1:
3
- metadata.gz: 93511d9505c210b19bdf3769ceebcc43c05984bf
4
- data.tar.gz: 829f4fd222b0a30b0bb239282958517028308b0e
2
+ SHA256:
3
+ metadata.gz: 964177968b7e65dc668fb908dc49dcb2b22a4832938d97e953b2e14134ac063b
4
+ data.tar.gz: 6f4fc2255ebb1f6aeddb9960ea9f374fe3d78b681c84daeb775e4f88164ac832
5
5
  SHA512:
6
- metadata.gz: 95014d4fde54fa0870238a6cb203815009dab8094da89453c59814d43c1dbfd3684dee455b65059eeccb6964b850da3373dd2beb870fa0f21593a272143cf9e2
7
- data.tar.gz: 1bcd55bf7c2c95ee3728c7e7b817b16e0a73b6fd546732919677d2aa27ebef76f5d7d5927dc539cca6093dcfee872778daa0f53d2a8d2e13435058893ecbb98a
6
+ metadata.gz: ea214c5015341d577e860471405e51dc367809fbf2aa2c93e692f8c39510f015dfa07656b0b9b57890f7ed2cf82bbda56204074f323cde01838fc1a612889489
7
+ data.tar.gz: a30c5a086500b4a9c12915c7e4b719f0489f48853604cf0474c601ddcc8f3e192d2ea364c607c397891f77a555ab857f8e1a6f51e87b958985a6ef274cbaa14a
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
@@ -1 +1,3 @@
1
- yA3���3yz���h��yӷ����� �ϣ�E��.�ɕ��]O� gp]$*���3E��S�&��B=;�z��Sf����\2�-�Ut�-ӳ��d�s���5B��u��3vy �@t��L��}@7����q�4�?����Z�'��������L�C�j��ݠ���o�(������p��q�) �;iu,��o4�R
1
+ ��ofE�������;�KL���ጭI��HH9�C6��&�>�]�̉���H{�E�нh�|0W W9��'1u�4�ėgc(��%��E.��c#�v
2
+ ��7Y��m���Ԯ1��3ڧ���s�F���2��ϭ�I��%�a���H�t�A��^e鬩G��D���'��k��4DOb��.b�MJ���^ �L���j��C�&U�b_�3m�@y@���lyL!r���y����Z#�y)O3�x�.��;�d�{P09���Ͳs��?�,bH�������w �U� w��3i5�ia��X_�VW�;��H
3
+ &������z'�<����V5���i����B�g;=H�G0��(w/y��^4�
data/lib/rss_creator.rb CHANGED
@@ -8,13 +8,14 @@ require 'rss_to_dynarex'
8
8
 
9
9
  class RSScreator
10
10
 
11
- attr_accessor :title, :description, :link, :limit, :xslt
11
+ attr_accessor :title, :description, :link, :limit, :xslt, :image_url,
12
+ :image_target_url
12
13
 
13
- def initialize(filepath='rss.xml', dx_xslt: nil,
14
- dx_filename: 'feed.xml', custom_fields: [])
14
+ def initialize(filepath='rss.xml', dx_xslt: nil, dx_filename: 'feed.xml',
15
+ custom_fields: [], limit: 10, debug: false)
15
16
 
16
17
 
17
- @filepath = filepath
18
+ @filepath, @debug = filepath, debug
18
19
 
19
20
  dxfilepath = File.join(File.dirname(filepath), dx_filename)
20
21
 
@@ -22,6 +23,7 @@ class RSScreator
22
23
 
23
24
  @dx = Dynarex.new dxfilepath
24
25
  @title, @description, @link = @dx.title, @dx.description, @dx.link
26
+ @image_url = @dx.image
25
27
 
26
28
  else
27
29
  if filepath and File.exists? filepath
@@ -30,11 +32,13 @@ class RSScreator
30
32
  @dx = rtd.to_dynarex
31
33
 
32
34
  @title, @description, @link = @dx.title, @dx.description, @dx.link
35
+ @image_url = @dx.image if @dx.image and @dx.image.length > 1
36
+ @image_target_url = @link if @link and @link.length > 1
33
37
 
34
38
  else
35
39
 
36
40
 
37
- schema = 'channel[title, description, link]/' + \
41
+ schema = 'channel[title, description, link, image]/' + \
38
42
  'item(title, link, description, date'
39
43
  schema += ', ' + custom_fields.join(', ') if custom_fields.any?
40
44
  schema += ')'
@@ -53,7 +57,7 @@ class RSScreator
53
57
  'link:link]/item(title:title,description:description,' + \
54
58
  'link:link,pubDate:date)'
55
59
  # maxium number of items saved in the RSS feed
56
- @dx.limit = @limit = 10
60
+ @dx.limit = @limit = limit
57
61
 
58
62
 
59
63
  @dirty = true
@@ -85,6 +89,10 @@ class RSScreator
85
89
  @description = val
86
90
  @dirty = true
87
91
  end
92
+
93
+ def delete(id)
94
+ @dx.delete id.to_s
95
+ end
88
96
 
89
97
  alias desc= description=
90
98
  alias desc description
@@ -92,6 +100,18 @@ class RSScreator
92
100
  def dynarex()
93
101
  @dx
94
102
  end
103
+
104
+ def image_url=(val)
105
+ @image_url = val
106
+ @dirty = true
107
+ end
108
+
109
+ alias image= image_url=
110
+
111
+ def image_target_url=(val)
112
+ @image_target_url = val
113
+ @dirty = true
114
+ end
95
115
 
96
116
  def link=(val)
97
117
  @link = val
@@ -118,6 +138,7 @@ class RSScreator
118
138
  end
119
139
 
120
140
  @dx.title, @dx.description, @dx.link = @title, @description, @link || ''
141
+ @dx.image = @image_url if @dx.respond_to? :image
121
142
 
122
143
  @rss = if @xslt then
123
144
 
@@ -130,7 +151,19 @@ class RSScreator
130
151
 
131
152
  else
132
153
 
133
- @dx.to_rss({limit: @limit})
154
+ @dx.to_rss({limit: @limit}) do |doc|
155
+
156
+ if @image_url then
157
+
158
+ img = Rexle::Element.new('image')
159
+ img.add Rexle::Element.new('url').add_text @image_url
160
+ img.add Rexle::Element.new('link').add_text @image_target_url
161
+
162
+ doc.root.element('channel/item').insert_before img
163
+
164
+ end
165
+
166
+ end
134
167
 
135
168
  end
136
169
 
@@ -139,4 +172,4 @@ class RSScreator
139
172
 
140
173
  end
141
174
 
142
- end
175
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rss_creator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE2MTExMzIyNDIyNloXDTE3MTExMzIyNDIyNlowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAKaOQQyDnSYBQAIOiwAbLycnxtnbmJi0OuNGu0EHmd0OWmLVMZ84oZWT8pkD
19
- zzj/RgAayFHw+Q8XB42aPtxARIRnvDwry5xMA+TSpQBqTxH5wlzijkRHUpQNqzEG
20
- Ijsu2LcLBxIPsg0969IJZevlSq+pY3VGC9qRCnLPA4fPpODpKVl4j3aT6hvxvnsk
21
- K3iOmXY7/jv0umProOCtDN8/NzWcR/ZgFpzAbsS7b6yybSUnhFeojKP7T06hoFjX
22
- PXs8w4NIMI1PHfaw459Srl4rN8/v4ahbJJnh5ky7vZLFCf3+nJ8/OBLm09U0FLe/
23
- cbcu7Fco7Kqs0PYrUZE7hcLILUkCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUXS6nRxaHN2aBZzHVRuEqTryY4O8wJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAEqWMdmXp
27
- D3hpOzwBtR8il6mvOuwuQkVUZ/RZzkMZ+AHjC+yEZzR/NMBGaOEykbEcN/94KOAT
28
- Pg4nFF6wa/WPnSIIk+/gy2pv/91wLOQCigOLGEeTseTl5duG6pIX+I5ITTarcRfF
29
- QZ+7yzFK7egXhF74VpxS5svdIxlls/wifDnE7RJxDnjzJevw97Q+rW0m+MDqdjZu
30
- zVa3GXFgEgs1pLV+ho4BfLSNcuVbBf/3+pZQubvdZeLHJjVk1GhOALhUF0PXb8bP
31
- hXSgrPL6ACV7rtc2iVhUYecvY3zMO7BYslWTwMttsJoWwM3Y1/zMxqGA6hyM1FiZ
32
- NhhuO3PIc1VSzw==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwMjI0MTEzNTE4WhcN
15
+ MjIwMjI0MTEzNTE4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC/EdPv
17
+ Z9PmSgZQ31H8hgTyVkC5Ww2VyrxJbX9LA2xX++xTEMm2LvLs4G9vGeNWiUpLdSZt
18
+ EkPMLX58IhDJoETYMF4UpAw/tOPMlvzrmM9vFTdsZXKXwTwS3blbWahUgRAlXWpV
19
+ pbNj+SQlnIZklZ8FR/rvXE98wAFO4IIldQcyuUi9ehrYfazpS6fOg3f3Yg6ffPMs
20
+ xWUmhF4zQs+J6utjoJeWyVHWwHFpcmzMIEcLbnGOsn6JHdPmDaCTyAWjbrTsbMRn
21
+ o4BHS81Mn9ao3FDOR+Rj/zxZJNwEoEdWtQXCqCRFtBNehODqjSGNEBlYQmG0gQJ1
22
+ 2PiXAf8lcqVo2KJPMVPjMSwKDQKdfMf8/EqZjwH+OrrH38AjrjJgOXH7/amVutBb
23
+ gCyoseuD+sB5tXXuw1pHsMYJJ/NB7GZ+ASmc3B2dQAXOWFgykpVcYIRfvMmwZP4v
24
+ +Vb0c3yg0FFzrwqVM3VkiAdEDWN2Rre0p5DOTkRnq+lFBGa4PG3aGouyBlMCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUhDWnNVwu
26
+ b9LRBkr5cLvEtdMUsJgwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAo0n6mqehv/bgKVFYMGIfB/tq2NKDBvELxb8LRVpZ
29
+ NS4iZKtM+N5OD+zmxM8bseB08B2Yxks9y1997X5wVWWdK54oJej5qSVomfHQIqTh
30
+ Fg8+FDZk6gkDBTIia5jZOK+s9AUxoYpftcorQOio3liFq+yCqW+s6hP64RkY94sR
31
+ voFGWhBW0WG1QEGqkqUHTit2G70yBhhIp/rm7WsyG5aRuzPONcyLY8VFXhSINKmj
32
+ 0Y+xZNDlcsrWogXVkGsZ0PoRNZZ4g4iyErPMwE452ObevrSVrIwbpNtsEdELB3nT
33
+ GhAiUqHiF6mNOkTz5Rj+RnhU07eAcTtHI+EesCu+U0UwvV0NAWG9/E/FkHO0a5Zj
34
+ GoDraKZUzvcj/SsP13HRpvscyV1L0cxGWubkEtJYKFGKlkjHU1WdV3xLvWLQSquN
35
+ CmoNNvIZ3zS4vUkMoFR7S0bXN/xdxzLVn5uGLJ8FwP76BqKlR2+xV5Bj+40hyMDP
36
+ s+qwrtoA3kBtGhpVjCn/TE5q
33
37
  -----END CERTIFICATE-----
34
- date: 2017-03-14 00:00:00.000000000 Z
38
+ date: 2021-02-24 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
41
  name: rss_to_dynarex
@@ -57,24 +61,24 @@ dependencies:
57
61
  name: rss_sliml
58
62
  requirement: !ruby/object:Gem::Requirement
59
63
  requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '0.1'
63
64
  - - ">="
64
65
  - !ruby/object:Gem::Version
65
- version: 0.1.0
66
+ version: 0.2.0
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.2'
66
70
  type: :runtime
67
71
  prerelease: false
68
72
  version_requirements: !ruby/object:Gem::Requirement
69
73
  requirements:
70
- - - "~>"
71
- - !ruby/object:Gem::Version
72
- version: '0.1'
73
74
  - - ">="
74
75
  - !ruby/object:Gem::Version
75
- version: 0.1.0
76
+ version: 0.2.0
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.2'
76
80
  description:
77
- email: james@jamesrobertson.eu
81
+ email: digital.robertson@gmail.com
78
82
  executables: []
79
83
  extensions: []
80
84
  extra_rdoc_files: []
@@ -100,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
104
  version: '0'
101
105
  requirements: []
102
106
  rubyforge_project:
103
- rubygems_version: 2.6.8
107
+ rubygems_version: 2.7.10
104
108
  signing_key:
105
109
  specification_version: 4
106
110
  summary: A gem for creating RSS feeds
metadata.gz.sig CHANGED
Binary file