wordpress-wxr 0.5.1 → 0.73

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: 3c5e16b294da4728d76fa47baee46e566bf23195
4
- data.tar.gz: 0431ee90ef5b1b761a75e1e51315fe5e9ede9fb2
2
+ SHA256:
3
+ metadata.gz: cdda329bfca8cbec9f3907c67359e0bd1515da152a9991921b9f393b3a284e4f
4
+ data.tar.gz: b9c1c9ccf9a2b45db870a66a4d0faf715c4948afb08778f6bf247319cb9327cb
5
5
  SHA512:
6
- metadata.gz: f509724ad79ea8cf7ced17ba5132a690f642dea628b84cb35514252e5126e92bf8d30dacf0a3c172fc4518a09cbee5f8733a4f0513bbef827674835573e7327a
7
- data.tar.gz: ae0ce521288379b3b26e09696f298be9fcea986f41040c3cecc22228c0dc9f8f10af48c4020973e6641de4c2964f0f7593b98d0962ca4356b753ef730f6dc129
6
+ metadata.gz: 701d8d2e41aa0f476bbfb3992c3e34478df683edfa5214c0afb360977f0f7317298be44a04c3b9bbcefce08b95331ae1b0af7c3ff9596ec05915379fd5a9ee67
7
+ data.tar.gz: d7be5d074896b747b10bd84f1f735ea4a2525d1f17092cf2c91d04ac1a990fa3378d9f6f2010553ffb4afcf8195f0c4b09a99f7176f7b694c41d597c5e8a0010
data/README.md CHANGED
@@ -0,0 +1,4 @@
1
+ To build and deploy a new gem after incrementing the version number in lib/wordpress/wxr/version.rb
2
+
3
+ gem build wordpress-wxr.gemspec
4
+ bundle exec rake release
@@ -6,6 +6,7 @@ require 'wordpress/wxr/categories'
6
6
  require 'wordpress/wxr/pages'
7
7
  require 'wordpress/wxr/posts'
8
8
  require 'wordpress/wxr/tags'
9
+ require 'wordpress/wxr/directory_listings'
9
10
  require 'wordpress/wxr/version'
10
11
 
11
12
  module Wordpress
@@ -46,5 +47,9 @@ module Wordpress
46
47
  def tags
47
48
  Tags.new(document, self)
48
49
  end
50
+
51
+ def directory_listings
52
+ DirectoryListings.new(document, self)
53
+ end
49
54
  end
50
55
  end
@@ -0,0 +1,109 @@
1
+ require 'wordpress/wxr/item'
2
+ require 'php-serialize'
3
+
4
+ module Wordpress
5
+ class WXR
6
+ class DirectoryListing < Item
7
+ def content
8
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_company_bio']").at_xpath('wp:meta_value').try(:text)
9
+ end
10
+
11
+ def directory_name
12
+ node.xpath("wp:postmeta[wp:meta_key = 'directory_type']").at_xpath('wp:meta_value').try(:text)
13
+ end
14
+
15
+ def contact_name
16
+ node.xpath("wp:postmeta[wp:meta_key = 'contact_details_0_contact_name']").at_xpath('wp:meta_value').try(:text)
17
+ end
18
+
19
+ def contact_email
20
+ node.xpath("wp:postmeta[wp:meta_key = 'contact_details_0_email']").at_xpath('wp:meta_value').try(:text)
21
+ end
22
+
23
+ def contact_phone
24
+ node.xpath("wp:postmeta[wp:meta_key = 'contact_details_0_phone']").at_xpath('wp:meta_value').try(:text)
25
+ end
26
+
27
+ def country
28
+ unserialize('company_details_0_country_of_origin', 'country_name')
29
+ end
30
+
31
+ def state
32
+ unserialize('company_details_0_country_of_origin', 'state_name')
33
+ end
34
+
35
+ def city
36
+ unserialize('company_details_0_country_of_origin', 'city_name')
37
+ end
38
+
39
+ def website
40
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_company_website']").at_xpath('wp:meta_value').try(:text)
41
+ end
42
+
43
+ def years_established
44
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_number_of_years_established']").at_xpath('wp:meta_value').try(:text)
45
+ end
46
+
47
+ def founder
48
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_founder']").at_xpath('wp:meta_value').try(:text)
49
+ end
50
+
51
+ def ceo
52
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_ceo']").at_xpath('wp:meta_value').try(:text)
53
+ end
54
+
55
+ def coo
56
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_coo']").at_xpath('wp:meta_value').try(:text)
57
+ end
58
+
59
+ def cto
60
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_cto']").at_xpath('wp:meta_value').try(:text)
61
+ end
62
+
63
+ def cfo
64
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_cfo']").at_xpath('wp:meta_value').try(:text)
65
+ end
66
+
67
+ def annual_revenues
68
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_annual_revenues']").at_xpath('wp:meta_value').try(:text)
69
+ end
70
+
71
+ def market_segment
72
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_portal_market_segment']").at_xpath('wp:meta_value').try(:text)
73
+ end
74
+
75
+ def business_model
76
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_portal_business_model']").at_xpath('wp:meta_value').try(:text)
77
+ end
78
+
79
+ def market_coverage
80
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_portal_market_coverage']").at_xpath('wp:meta_value').try(:text)
81
+ end
82
+
83
+ def average_monthly_traffic
84
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_average_monthly_traffic']").at_xpath('wp:meta_value').try(:text)
85
+ end
86
+
87
+ def data_source
88
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_data_source']").at_xpath('wp:meta_value').try(:text)
89
+ end
90
+
91
+ def technology_platform
92
+ node.xpath("wp:postmeta[wp:meta_key = 'company_details_0_technology_platform']").at_xpath('wp:meta_value').try(:text)
93
+ end
94
+
95
+ private
96
+
97
+ def unserialize(xml_field_name, key)
98
+ return unless node.xpath("wp:postmeta[wp:meta_key = '#{xml_field_name}']").at_xpath('wp:meta_value')
99
+ serialized_php = node.xpath("wp:postmeta[wp:meta_key = '#{xml_field_name}']").at_xpath('wp:meta_value').text
100
+ begin
101
+ unserialized_php = PHP.unserialize(serialized_php)
102
+ !!unserialized_php[key] && !unserialized_php[key].empty? ? unserialized_php[key] : ''
103
+ rescue
104
+ ''
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,31 @@
1
+ require 'wordpress/wxr/directory_listing'
2
+
3
+ module Wordpress
4
+ class WXR
5
+ class DirectoryListings
6
+ include Enumerable
7
+
8
+ attr_reader :document, :wxr
9
+ private :document, :wxr
10
+
11
+ def initialize(document, wxr)
12
+ @document = document
13
+ @wxr = wxr
14
+ end
15
+
16
+ def each
17
+ return enum_for(:each) unless block_given?
18
+
19
+ nodes.each do |node|
20
+ yield DirectoryListing.new(node, wxr)
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def nodes
27
+ document.xpath("//item[wp:post_type = 'directory']")
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,5 @@
1
1
  module Wordpress
2
2
  class WXR
3
- VERSION = '0.5.1'.freeze
3
+ VERSION = '0.73'.freeze
4
4
  end
5
5
  end
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
23
  spec.add_development_dependency 'rspec', '~> 3.0'
24
24
 
25
- spec.add_runtime_dependency 'mail', '~> 2.5.4'
25
+ spec.add_runtime_dependency 'mail'
26
26
  spec.add_runtime_dependency 'nokogiri'
27
+ spec.add_runtime_dependency 'php-serialize', '~> 1.2.0'
27
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wordpress-wxr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: '0.73'
5
5
  platform: ruby
6
6
  authors:
7
7
  - ePublishing, inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-30 00:00:00.000000000 Z
11
+ date: 2020-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: mail
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.5.4
61
+ version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 2.5.4
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,21 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description:
83
+ - !ruby/object:Gem::Dependency
84
+ name: php-serialize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.2.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.2.0
97
+ description:
84
98
  email:
85
99
  - development@ePublishing.com
86
100
  executables: []
@@ -104,6 +118,8 @@ files:
104
118
  - lib/wordpress/wxr/categories.rb
105
119
  - lib/wordpress/wxr/category.rb
106
120
  - lib/wordpress/wxr/comment.rb
121
+ - lib/wordpress/wxr/directory_listing.rb
122
+ - lib/wordpress/wxr/directory_listings.rb
107
123
  - lib/wordpress/wxr/element.rb
108
124
  - lib/wordpress/wxr/item.rb
109
125
  - lib/wordpress/wxr/page.rb
@@ -118,7 +134,7 @@ homepage: https://bitbucket.org/epub_dev/wordpress-wxr
118
134
  licenses:
119
135
  - MIT
120
136
  metadata: {}
121
- post_install_message:
137
+ post_install_message:
122
138
  rdoc_options: []
123
139
  require_paths:
124
140
  - lib
@@ -133,9 +149,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
149
  - !ruby/object:Gem::Version
134
150
  version: '0'
135
151
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.2.5
138
- signing_key:
152
+ rubygems_version: 3.0.3
153
+ signing_key:
139
154
  specification_version: 4
140
155
  summary: Parse a WordPress XML file into separate Ruby objects.
141
156
  test_files: []