atomutil 0.1.4 → 0.1.5
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 +5 -5
- data/CHANGELOG.md +10 -0
- data/Gemfile +4 -3
- data/Gemfile.lock +51 -8
- data/Rakefile +2 -7
- data/VERSION +1 -1
- data/atomutil.gemspec +27 -38
- data/lib/atomutil.rb +54 -51
- data/spec/content_spec.rb +215 -2
- metadata +31 -41
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 6caef9b5e4041251ca11a21315b28a321595a0e71bc3a97d431717cb47c19f29
|
|
4
|
+
data.tar.gz: 5f099d23a860ca5b7c8e8cef3945a4f9c2a4dababf37d0c4efc366a4c15da103
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5cdcb74f7433581eab266e6cb3d37d4e996dd27955912b3275164d2afb51cae65f6805440714b111ea1c1b569cfca4da54d2b3bc295578b66fb4a5f49fac5bf7
|
|
7
|
+
data.tar.gz: 88e25859ee8e8f26f87e3dd34fae92e61f8690508f70c69b8154d55fbe6a141fb528e439da06f3769abf01c6a88b1c5233719de9c9c01d5641c95f68cbc930da
|
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
|
@@ -7,7 +7,8 @@ source "http://rubygems.org"
|
|
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
|
8
8
|
group :development do
|
|
9
9
|
gem "rspec", "~> 2.4.0"
|
|
10
|
-
gem "bundler", "~> 1.
|
|
11
|
-
gem "jeweler", "~>
|
|
12
|
-
gem "rcov", ">= 0"
|
|
10
|
+
gem "bundler", "~> 1.16.1"
|
|
11
|
+
gem "jeweler", "~> 2.3.9"
|
|
13
12
|
end
|
|
13
|
+
|
|
14
|
+
gem 'rake', '< 11.0'
|
data/Gemfile.lock
CHANGED
|
@@ -1,14 +1,52 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
+
addressable (2.4.0)
|
|
5
|
+
builder (3.2.3)
|
|
6
|
+
descendants_tracker (0.0.4)
|
|
7
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
|
4
8
|
diff-lcs (1.1.2)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
faraday (0.9.2)
|
|
10
|
+
multipart-post (>= 1.2, < 3)
|
|
11
|
+
git (1.5.0)
|
|
12
|
+
github_api (0.16.0)
|
|
13
|
+
addressable (~> 2.4.0)
|
|
14
|
+
descendants_tracker (~> 0.0.4)
|
|
15
|
+
faraday (~> 0.8, < 0.10)
|
|
16
|
+
hashie (>= 3.4)
|
|
17
|
+
mime-types (>= 1.16, < 3.0)
|
|
18
|
+
oauth2 (~> 1.0)
|
|
19
|
+
hashie (3.6.0)
|
|
20
|
+
highline (2.0.0)
|
|
21
|
+
jeweler (2.3.9)
|
|
22
|
+
builder
|
|
23
|
+
bundler
|
|
8
24
|
git (>= 1.2.5)
|
|
25
|
+
github_api (~> 0.16.0)
|
|
26
|
+
highline (>= 1.6.15)
|
|
27
|
+
nokogiri (>= 1.5.10)
|
|
28
|
+
psych
|
|
9
29
|
rake
|
|
10
|
-
|
|
11
|
-
|
|
30
|
+
rdoc
|
|
31
|
+
semver2
|
|
32
|
+
jwt (1.5.6)
|
|
33
|
+
mime-types (2.99.3)
|
|
34
|
+
mini_portile2 (2.3.0)
|
|
35
|
+
multi_json (1.13.1)
|
|
36
|
+
multi_xml (0.6.0)
|
|
37
|
+
multipart-post (2.0.0)
|
|
38
|
+
nokogiri (1.8.4)
|
|
39
|
+
mini_portile2 (~> 2.3.0)
|
|
40
|
+
oauth2 (1.4.0)
|
|
41
|
+
faraday (>= 0.8, < 0.13)
|
|
42
|
+
jwt (~> 1.0)
|
|
43
|
+
multi_json (~> 1.3)
|
|
44
|
+
multi_xml (~> 0.5)
|
|
45
|
+
rack (>= 1.2, < 3)
|
|
46
|
+
psych (3.0.2)
|
|
47
|
+
rack (2.0.5)
|
|
48
|
+
rake (10.5.0)
|
|
49
|
+
rdoc (6.0.4)
|
|
12
50
|
rspec (2.4.0)
|
|
13
51
|
rspec-core (~> 2.4.0)
|
|
14
52
|
rspec-expectations (~> 2.4.0)
|
|
@@ -17,12 +55,17 @@ GEM
|
|
|
17
55
|
rspec-expectations (2.4.0)
|
|
18
56
|
diff-lcs (~> 1.1.2)
|
|
19
57
|
rspec-mocks (2.4.0)
|
|
58
|
+
semver2 (3.4.2)
|
|
59
|
+
thread_safe (0.3.6)
|
|
20
60
|
|
|
21
61
|
PLATFORMS
|
|
22
62
|
ruby
|
|
23
63
|
|
|
24
64
|
DEPENDENCIES
|
|
25
|
-
bundler (~> 1.
|
|
26
|
-
jeweler (~>
|
|
27
|
-
|
|
65
|
+
bundler (~> 1.16.1)
|
|
66
|
+
jeweler (~> 2.3.9)
|
|
67
|
+
rake (< 11.0)
|
|
28
68
|
rspec (~> 2.4.0)
|
|
69
|
+
|
|
70
|
+
BUNDLED WITH
|
|
71
|
+
1.16.1
|
data/Rakefile
CHANGED
|
@@ -32,15 +32,10 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
|
32
32
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
|
36
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
|
37
|
-
spec.rcov = true
|
|
38
|
-
end
|
|
39
|
-
|
|
40
35
|
task :default => :spec
|
|
41
36
|
|
|
42
|
-
require '
|
|
43
|
-
|
|
37
|
+
require 'rdoc/task'
|
|
38
|
+
RDoc::Task.new do |rdoc|
|
|
44
39
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
|
45
40
|
|
|
46
41
|
rdoc.rdoc_dir = 'rdoc'
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.5
|
data/atomutil.gemspec
CHANGED
|
@@ -2,22 +2,25 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
+
# stub: atomutil 0.1.5 ruby lib
|
|
5
6
|
|
|
6
7
|
Gem::Specification.new do |s|
|
|
7
|
-
s.name = "atomutil"
|
|
8
|
-
s.version = "0.1.
|
|
8
|
+
s.name = "atomutil".freeze
|
|
9
|
+
s.version = "0.1.5"
|
|
9
10
|
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
-
s.
|
|
12
|
-
s.
|
|
13
|
-
s.
|
|
14
|
-
s.
|
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib".freeze]
|
|
13
|
+
s.authors = ["lyokato".freeze]
|
|
14
|
+
s.date = "2018-09-04"
|
|
15
|
+
s.description = "This library allows your to handle AtomPub and Atom Feed easily".freeze
|
|
16
|
+
s.email = "lyo.kato@gmail.com".freeze
|
|
15
17
|
s.extra_rdoc_files = [
|
|
16
18
|
"README.rdoc"
|
|
17
19
|
]
|
|
18
20
|
s.files = [
|
|
19
21
|
".document",
|
|
20
22
|
".rspec",
|
|
23
|
+
"CHANGELOG.md",
|
|
21
24
|
"Gemfile",
|
|
22
25
|
"Gemfile.lock",
|
|
23
26
|
"License.txt",
|
|
@@ -40,44 +43,30 @@ Gem::Specification.new do |s|
|
|
|
40
43
|
"spec/spec_helper.rb",
|
|
41
44
|
"spec/threading_spec.rb"
|
|
42
45
|
]
|
|
43
|
-
s.homepage = "http://github.com/lyokato/ruby-atomutil"
|
|
44
|
-
s.licenses = ["MIT"]
|
|
45
|
-
s.
|
|
46
|
-
s.
|
|
47
|
-
s.summary = "Ruby AtomPub Client"
|
|
48
|
-
s.test_files = [
|
|
49
|
-
"spec/categories_spec.rb",
|
|
50
|
-
"spec/category_spec.rb",
|
|
51
|
-
"spec/content_spec.rb",
|
|
52
|
-
"spec/customfeed_spec.rb",
|
|
53
|
-
"spec/feed_spec.rb",
|
|
54
|
-
"spec/link_spec.rb",
|
|
55
|
-
"spec/namespace_spec.rb",
|
|
56
|
-
"spec/opensearch_spec.rb",
|
|
57
|
-
"spec/person_spec.rb",
|
|
58
|
-
"spec/spec_helper.rb",
|
|
59
|
-
"spec/threading_spec.rb"
|
|
60
|
-
]
|
|
46
|
+
s.homepage = "http://github.com/lyokato/ruby-atomutil".freeze
|
|
47
|
+
s.licenses = ["MIT".freeze]
|
|
48
|
+
s.rubygems_version = "2.7.6".freeze
|
|
49
|
+
s.summary = "Ruby AtomPub Client".freeze
|
|
61
50
|
|
|
62
51
|
if s.respond_to? :specification_version then
|
|
63
|
-
s.specification_version =
|
|
52
|
+
s.specification_version = 4
|
|
64
53
|
|
|
65
54
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
66
|
-
s.
|
|
67
|
-
s.add_development_dependency(%q<
|
|
68
|
-
s.add_development_dependency(%q<
|
|
69
|
-
s.add_development_dependency(%q<
|
|
55
|
+
s.add_runtime_dependency(%q<rake>.freeze, ["< 11.0"])
|
|
56
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 2.4.0"])
|
|
57
|
+
s.add_development_dependency(%q<bundler>.freeze, ["~> 1.16.1"])
|
|
58
|
+
s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
|
|
70
59
|
else
|
|
71
|
-
s.add_dependency(%q<
|
|
72
|
-
s.add_dependency(%q<
|
|
73
|
-
s.add_dependency(%q<
|
|
74
|
-
s.add_dependency(%q<
|
|
60
|
+
s.add_dependency(%q<rake>.freeze, ["< 11.0"])
|
|
61
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 2.4.0"])
|
|
62
|
+
s.add_dependency(%q<bundler>.freeze, ["~> 1.16.1"])
|
|
63
|
+
s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
|
|
75
64
|
end
|
|
76
65
|
else
|
|
77
|
-
s.add_dependency(%q<
|
|
78
|
-
s.add_dependency(%q<
|
|
79
|
-
s.add_dependency(%q<
|
|
80
|
-
s.add_dependency(%q<
|
|
66
|
+
s.add_dependency(%q<rake>.freeze, ["< 11.0"])
|
|
67
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 2.4.0"])
|
|
68
|
+
s.add_dependency(%q<bundler>.freeze, ["~> 1.16.1"])
|
|
69
|
+
s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
|
|
81
70
|
end
|
|
82
71
|
end
|
|
83
72
|
|
data/lib/atomutil.rb
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
#--
|
|
2
2
|
# Copyright (C) 2007 Lyo Kato, <lyo.kato _at_ gmail.com>.
|
|
3
3
|
#
|
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
|
-
# a copy of this software and associated documentation files (the
|
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
-
# the following conditions:
|
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
|
+
# a copy of this software and associated documentation files (the
|
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
+
# the following conditions:
|
|
11
11
|
#
|
|
12
|
-
# The above copyright notice and this permission notice shall be
|
|
13
|
-
# included in all copies or substantial portions of the Software.
|
|
14
|
-
#
|
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
12
|
+
# The above copyright notice and this permission notice shall be
|
|
13
|
+
# included in all copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
22
|
#
|
|
23
23
|
# This package allows you to handle AtomPub and Atom Syndication Format easily.
|
|
24
24
|
# This is just a porting for Perl's great libraries, XML::Atom, XML::Atom::Service,
|
|
@@ -55,7 +55,7 @@ module AtomUtil
|
|
|
55
55
|
module VERSION#:nodoc:
|
|
56
56
|
MAJOR = 0
|
|
57
57
|
MINOR = 1
|
|
58
|
-
TINY =
|
|
58
|
+
TINY = 5
|
|
59
59
|
STRING = [MAJOR, MINOR, TINY].join('.')
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -216,7 +216,7 @@ module Atom
|
|
|
216
216
|
return false unless value.type == @type
|
|
217
217
|
return true if value.subtype == '*'
|
|
218
218
|
return false unless value.subtype == @subtype
|
|
219
|
-
return true if value.parameters.nil? || @parameters.nil?
|
|
219
|
+
return true if value.parameters.nil? || @parameters.nil?
|
|
220
220
|
return value.parameters == @parameters
|
|
221
221
|
end
|
|
222
222
|
SERVICE = self.new 'application/atomsvc+xml'
|
|
@@ -254,7 +254,7 @@ module Atom
|
|
|
254
254
|
@element_ns = nil
|
|
255
255
|
def self.element_ns(ns=nil)
|
|
256
256
|
unless ns.nil?
|
|
257
|
-
@element_ns = ns.is_a?(Namespace) ? ns : Namespace.new(:uri => ns)
|
|
257
|
+
@element_ns = ns.is_a?(Namespace) ? ns : Namespace.new(:uri => ns)
|
|
258
258
|
end
|
|
259
259
|
@element_ns
|
|
260
260
|
end
|
|
@@ -359,7 +359,7 @@ module Atom
|
|
|
359
359
|
name.tr!('-', '_')
|
|
360
360
|
unless moniker.nil?
|
|
361
361
|
moniker = moniker.to_s
|
|
362
|
-
moniker.tr!('-', '_')
|
|
362
|
+
moniker.tr!('-', '_')
|
|
363
363
|
end
|
|
364
364
|
elem_ns = element_ns || ns
|
|
365
365
|
class_eval(<<-EOS, __FILE__, __LINE__)
|
|
@@ -396,7 +396,7 @@ module Atom
|
|
|
396
396
|
name.tr!('-', '_')
|
|
397
397
|
unless moniker.nil?
|
|
398
398
|
moniker = moniker.to_s
|
|
399
|
-
moniker.tr!('-', '_')
|
|
399
|
+
moniker.tr!('-', '_')
|
|
400
400
|
end
|
|
401
401
|
elem_ns = ext_class.element_ns || ns
|
|
402
402
|
class_eval(<<-EOS, __FILE__, __LINE__)
|
|
@@ -523,7 +523,11 @@ module Atom
|
|
|
523
523
|
element.add_attribute a
|
|
524
524
|
end
|
|
525
525
|
end
|
|
526
|
-
element.text = value.elem.text unless value.elem.text.nil?
|
|
526
|
+
#element.text = value.elem.text unless value.elem.text.nil?
|
|
527
|
+
text = value.elem.get_text
|
|
528
|
+
unless text.nil?
|
|
529
|
+
element.text = REXML::Text.new(text.to_s, true, nil, true)
|
|
530
|
+
end
|
|
527
531
|
else
|
|
528
532
|
if value.is_a?(REXML::Element)
|
|
529
533
|
element.add_element value.deep_clone
|
|
@@ -564,7 +568,7 @@ module Atom
|
|
|
564
568
|
def get_object(ns, element_name, ext_class)
|
|
565
569
|
elements = getlist(ns, element_name)
|
|
566
570
|
return nil if elements.empty?
|
|
567
|
-
ext_class.new(:namespace => ns, :elem => elements.first)
|
|
571
|
+
ext_class.new(:namespace => ns, :elem => elements.first)
|
|
568
572
|
end
|
|
569
573
|
# Get all indicated elements as an object of the class you passed as thrid argument.
|
|
570
574
|
#
|
|
@@ -576,7 +580,7 @@ module Atom
|
|
|
576
580
|
elements = getlist(ns, element_name)
|
|
577
581
|
return [] if elements.empty?
|
|
578
582
|
elements.collect do |e|
|
|
579
|
-
ext_class.new(:namespace => ns, :elem => e)
|
|
583
|
+
ext_class.new(:namespace => ns, :elem => e)
|
|
580
584
|
end
|
|
581
585
|
end
|
|
582
586
|
# Get attribute value for indicated key
|
|
@@ -754,23 +758,8 @@ module Atom
|
|
|
754
758
|
|
|
755
759
|
def body=(value)
|
|
756
760
|
|
|
757
|
-
if value
|
|
758
|
-
|
|
759
|
-
|[\xc0-\xdf][\x80-\xbf]
|
|
760
|
-
|[\xe0-\xef][\x80-\xbf]{2}
|
|
761
|
-
|[\xf0-\xf7][\x80-\xbf]{3}
|
|
762
|
-
|[\xf8-\xfb][\x80-\xbf]{4}
|
|
763
|
-
|[\xfc-\xfd][\x80-\xbf]{5}
|
|
764
|
-
)*$", Regexp::EXTENDED, 'n')
|
|
765
|
-
#if value =~ /^(?:
|
|
766
|
-
# [[:print:]]
|
|
767
|
-
# |[\xc0-\xdf][\x80-\xbf]
|
|
768
|
-
# |[\xe0-\xef][\x80-\xbf]{2}
|
|
769
|
-
# |[\xf0-\xf7][\x80-\xbf]{3}
|
|
770
|
-
# |[\xf8-\xfb][\x80-\xbf]{4}
|
|
771
|
-
# |[\xfc-\xfd][\x80-\xbf]{5}
|
|
772
|
-
# )*$/x
|
|
773
|
-
copy = "<div xmlns=\"http://www.w3.org/1999/xhtml\">#{value}</div>"
|
|
761
|
+
if is_utf8?(value)
|
|
762
|
+
copy = "<div xmlns=\"http://www.w3.org/1999/xhtml\">#{value}</div>"
|
|
774
763
|
is_valid = true
|
|
775
764
|
begin
|
|
776
765
|
node = REXML::Document.new(copy).elements[1][0]
|
|
@@ -819,6 +808,20 @@ module Atom
|
|
|
819
808
|
end
|
|
820
809
|
@body
|
|
821
810
|
end
|
|
811
|
+
|
|
812
|
+
private
|
|
813
|
+
|
|
814
|
+
def is_utf8?(str)
|
|
815
|
+
case str.encoding
|
|
816
|
+
when Encoding::UTF_8
|
|
817
|
+
str.valid_encoding?
|
|
818
|
+
when Encoding::ASCII_8BIT, Encoding::US_ASCII
|
|
819
|
+
str.dup.force_encoding(Encoding::UTF_8).valid_encoding?
|
|
820
|
+
else
|
|
821
|
+
false
|
|
822
|
+
end
|
|
823
|
+
end
|
|
824
|
+
|
|
822
825
|
end
|
|
823
826
|
|
|
824
827
|
class RootElement < Element
|
|
@@ -1100,7 +1103,7 @@ module Atom
|
|
|
1100
1103
|
gen = gen.is_a?(Generator) ? gen : Generator.new(:name => gen)
|
|
1101
1104
|
set(Namespace::ATOM, 'generator', gen)
|
|
1102
1105
|
end
|
|
1103
|
-
|
|
1106
|
+
|
|
1104
1107
|
def language
|
|
1105
1108
|
@elem.attributes['xml:lang']
|
|
1106
1109
|
end
|
|
@@ -1229,7 +1232,7 @@ module Atompub
|
|
|
1229
1232
|
return true if @collection.nil?
|
|
1230
1233
|
if @accepts.nil?
|
|
1231
1234
|
@accepts = @collection.accepts.collect do |accept|
|
|
1232
|
-
accept.text.split(/[\s,]+/)
|
|
1235
|
+
accept.text.split(/[\s,]+/)
|
|
1233
1236
|
end.flatten
|
|
1234
1237
|
@accepts << Atom::MediaType::ENTRY if @accepts.empty?
|
|
1235
1238
|
end
|
|
@@ -1269,7 +1272,7 @@ module Atompub
|
|
|
1269
1272
|
collection.accepts.each { |a| coll.add_accept a.text }
|
|
1270
1273
|
collection.categories_list.each do |cats|
|
|
1271
1274
|
unless cats.nil?
|
|
1272
|
-
new_cats = cats.href.nil?? clone_categories(cats) : get_categories(cats.href, client)
|
|
1275
|
+
new_cats = cats.href.nil?? clone_categories(cats) : get_categories(cats.href, client)
|
|
1273
1276
|
coll.categories = new_cats unless new_cats.nil?
|
|
1274
1277
|
end
|
|
1275
1278
|
end
|
|
@@ -1352,8 +1355,8 @@ module Atompub
|
|
|
1352
1355
|
@rc = Atom::Service.new :stream => @res.body
|
|
1353
1356
|
@rc.workspaces.each do |workspace|
|
|
1354
1357
|
workspace.collections.each do |collection|
|
|
1355
|
-
#@service_info.put(collection.href, collection, self)
|
|
1356
|
-
@service_info.put(collection.href, collection)
|
|
1358
|
+
#@service_info.put(collection.href, collection, self)
|
|
1359
|
+
@service_info.put(collection.href, collection)
|
|
1357
1360
|
end
|
|
1358
1361
|
end
|
|
1359
1362
|
end
|
|
@@ -1490,7 +1493,7 @@ module Atompub
|
|
|
1490
1493
|
# client.delete_entry(entry.edit_link)
|
|
1491
1494
|
#
|
|
1492
1495
|
def delete_entry(edit_uri)
|
|
1493
|
-
delete_resource(edit_uri)
|
|
1496
|
+
delete_resource(edit_uri)
|
|
1494
1497
|
end
|
|
1495
1498
|
# Delete media
|
|
1496
1499
|
#
|
|
@@ -1506,7 +1509,7 @@ module Atompub
|
|
|
1506
1509
|
# Set request headers those are required on each request accessing resources.
|
|
1507
1510
|
def set_common_info(req)
|
|
1508
1511
|
req['User-Agent'] = @agent
|
|
1509
|
-
@auth.authorize(req)
|
|
1512
|
+
@auth.authorize(req)
|
|
1510
1513
|
end
|
|
1511
1514
|
# Get contents, for example, service-document, categories, and feed.
|
|
1512
1515
|
def get_contents_except_resources(uri, &block)
|
|
@@ -1671,7 +1674,7 @@ module Atompub
|
|
|
1671
1674
|
# initializer
|
|
1672
1675
|
#
|
|
1673
1676
|
# Set two parameters as hash
|
|
1674
|
-
# * username
|
|
1677
|
+
# * username
|
|
1675
1678
|
# * password
|
|
1676
1679
|
#
|
|
1677
1680
|
# Usage:
|
|
@@ -1714,7 +1717,7 @@ module Atompub
|
|
|
1714
1717
|
# initializer
|
|
1715
1718
|
#
|
|
1716
1719
|
# Set two parameters as hash
|
|
1717
|
-
# * username
|
|
1720
|
+
# * username
|
|
1718
1721
|
# * password
|
|
1719
1722
|
#
|
|
1720
1723
|
# Usage:
|
data/spec/content_spec.rb
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper.rb'
|
|
2
2
|
|
|
3
|
+
require 'base64'
|
|
4
|
+
|
|
5
|
+
describe Atom::Entry, "setter/getter and building xml" do
|
|
6
|
+
|
|
7
|
+
it "should escape body collectly" do
|
|
8
|
+
entry = Atom::Entry.new
|
|
9
|
+
entry.content = "<br>"
|
|
10
|
+
entry.to_s.should == "<?xml version='1.0' encoding='UTF-8'?><entry xmlns='http://www.w3.org/2005/Atom'><content type='text'>&lt;br&gt;</content></entry>"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
3
14
|
describe Atom::Content, "setter/getter and building xml" do
|
|
4
15
|
|
|
5
16
|
it "should set and get type" do
|
|
@@ -30,6 +41,14 @@ describe Atom::Content, "setter/getter and building xml" do
|
|
|
30
41
|
content.type.should == 'foo/bar'
|
|
31
42
|
end
|
|
32
43
|
|
|
44
|
+
it "should handle UTF-8 text body collectly" do
|
|
45
|
+
content = Atom::Content.new
|
|
46
|
+
content.body = 'こんにちは'
|
|
47
|
+
content.body.should == 'こんにちは'
|
|
48
|
+
content.type = 'foo/bar'
|
|
49
|
+
content.type.should == 'foo/bar'
|
|
50
|
+
end
|
|
51
|
+
|
|
33
52
|
it "should handle xhtml body collectly" do
|
|
34
53
|
content = Atom::Content.new
|
|
35
54
|
content.body = '<p>This is a test with XHTML</p>'
|
|
@@ -45,11 +64,205 @@ describe Atom::Content, "setter/getter and building xml" do
|
|
|
45
64
|
end
|
|
46
65
|
|
|
47
66
|
it "should handle image data collectly" do
|
|
67
|
+
img_b64 = <<EOF;
|
|
68
|
+
/9j/4AAQSkZJRgABAQAAkACQAAD/4QCARXhpZgAATU0AKgAAAAgABQESAAMA
|
|
69
|
+
AAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdp
|
|
70
|
+
AAQAAAABAAAAWgAAAAAAAACQAAAAAQAAAJAAAAABAAKgAgAEAAAAAQAAAGSg
|
|
71
|
+
AwAEAAAAAQAAAGQAAAAA/+EJIWh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
|
|
72
|
+
MC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6
|
|
73
|
+
TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRh
|
|
74
|
+
LyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPiA8cmRmOlJERiB4bWxuczpy
|
|
75
|
+
ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1u
|
|
76
|
+
cyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+IDwvcmRmOlJE
|
|
77
|
+
Rj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
78
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
79
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
80
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
81
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
82
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
83
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
84
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
85
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
86
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
87
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
88
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
89
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
90
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
91
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
92
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
93
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
94
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
95
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
96
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
97
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
98
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
99
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
100
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
101
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
102
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
103
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
104
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
105
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
106
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
107
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
108
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
109
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
110
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
111
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
112
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
113
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
114
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
115
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
116
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
117
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
118
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
119
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
120
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
121
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
|
122
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFj
|
|
123
|
+
a2V0IGVuZD0idyI/PgD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4
|
|
124
|
+
QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/+IM5ElDQ19QUk9GSUxFAAEB
|
|
125
|
+
AAAM1GFwcGwCEAAAbW50clJHQiBYWVogB+IAAQAKAAAAIwAVYWNzcEFQUEwA
|
|
126
|
+
AAAAQVBQTAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAA
|
|
127
|
+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARZGVz
|
|
128
|
+
YwAAAVAAAABiZHNjbQAAAbQAAAG8Y3BydAAAA3AAAAAjd3RwdAAAA5QAAAAU
|
|
129
|
+
clhZWgAAA6gAAAAUZ1hZWgAAA7wAAAAUYlhZWgAAA9AAAAAUclRSQwAAA+QA
|
|
130
|
+
AAgMYWFyZwAAC/AAAAAgdmNndAAADBAAAAAwbmRpbgAADEAAAAA+Y2hhZAAA
|
|
131
|
+
DIAAAAAsbW1vZAAADKwAAAAoYlRSQwAAA+QAAAgMZ1RSQwAAA+QAAAgMYWFi
|
|
132
|
+
ZwAAC/AAAAAgYWFnZwAAC/AAAAAgZGVzYwAAAAAAAAAIRGlzcGxheQAAAAAA
|
|
133
|
+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
134
|
+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAIwAA
|
|
135
|
+
AAxockhSAAAACAAAAbRrb0tSAAAACAAAAbRuYk5PAAAACAAAAbRpZAAAAAAA
|
|
136
|
+
CAAAAbRodUhVAAAACAAAAbRjc0NaAAAACAAAAbRkYURLAAAACAAAAbR1a1VB
|
|
137
|
+
AAAACAAAAbRhcgAAAAAACAAAAbR6aFRXAAAACAAAAbRyb1JPAAAACAAAAbRu
|
|
138
|
+
bE5MAAAACAAAAbRoZUlMAAAACAAAAbRlc0VTAAAACAAAAbRmaUZJAAAACAAA
|
|
139
|
+
AbRpdElUAAAACAAAAbR2aVZOAAAACAAAAbRza1NLAAAACAAAAbR6aENOAAAA
|
|
140
|
+
CAAAAbRydVJVAAAACAAAAbRtcwAAAAAACAAAAbRmckZSAAAACAAAAbRoaUlO
|
|
141
|
+
AAAACAAAAbR0aFRIAAAACAAAAbRjYUVTAAAACAAAAbRlc1hMAAAACAAAAbRk
|
|
142
|
+
ZURFAAAACAAAAbRlblVTAAAACAAAAbRwdEJSAAAACAAAAbRwbFBMAAAACAAA
|
|
143
|
+
AbRlbEdSAAAACAAAAbRzdlNFAAAACAAAAbR0clRSAAAACAAAAbRqYUpQAAAA
|
|
144
|
+
CAAAAbRwdFBUAAAACAAAAbQAaQBNAGEAY3RleHQAAAAAQ29weXJpZ2h0IEFw
|
|
145
|
+
cGxlIEluYy4sIDIwMTgAAFhZWiAAAAAAAADwzwABAAAAARkRWFlaIAAAAAAA
|
|
146
|
+
AIXsAAA+t////7ZYWVogAAAAAAAASbUAALIwAAALNlhZWiAAAAAAAAAnNAAA
|
|
147
|
+
DxkAAMhBY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsA
|
|
148
|
+
QABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACt
|
|
149
|
+
ALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUB
|
|
150
|
+
KwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ
|
|
151
|
+
AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4C
|
|
152
|
+
mAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOK
|
|
153
|
+
A5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE
|
|
154
|
+
tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYG
|
|
155
|
+
BhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YH
|
|
156
|
+
mQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP
|
|
157
|
+
CWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkL
|
|
158
|
+
UQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
|
|
159
|
+
DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P
|
|
160
|
+
7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKE
|
|
161
|
+
EqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYV
|
|
162
|
+
eBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK
|
|
163
|
+
GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9oc
|
|
164
|
+
AhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+U
|
|
165
|
+
H78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj
|
|
166
|
+
lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneier
|
|
167
|
+
J9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUs
|
|
168
|
+
OSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDb
|
|
169
|
+
MRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1
|
|
170
|
+
/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zst
|
|
171
|
+
O2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA
|
|
172
|
+
50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0ar
|
|
173
|
+
RvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpN
|
|
174
|
+
Ak1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1Nf
|
|
175
|
+
U6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
|
|
176
|
+
VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFP
|
|
177
|
+
YaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo
|
|
178
|
+
7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CG
|
|
179
|
+
cOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54
|
|
180
|
+
zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK
|
|
181
|
+
gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ
|
|
182
|
+
/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLj
|
|
183
|
+
k02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByc
|
|
184
|
+
iZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYa
|
|
185
|
+
poum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACw
|
|
186
|
+
dbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1
|
|
187
|
+
uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvF
|
|
188
|
+
yMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC6
|
|
189
|
+
0TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXc
|
|
190
|
+
it0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy
|
|
191
|
+
6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0
|
|
192
|
+
wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
|
|
193
|
+
AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW3ZjZ3QAAAAAAAAAAQABAAAA
|
|
194
|
+
AAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAA
|
|
195
|
+
rgAAAFIAAABBgAAAskAAACYAAAAOAAAAT0AAAFRAAAIzMwACMzMAAjMzAAAA
|
|
196
|
+
AAAAAABzZjMyAAAAAAABDqsAAAch///ybwAACW8AAPxH///7UP///ZwAAAPU
|
|
197
|
+
AAC+6G1tb2QAAAAAAAAGEAAArhNoYy5F0v6AgAAAAAAAAAAAAAAAAAAAAAD/
|
|
198
|
+
wAARCABkAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
|
|
199
|
+
BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx
|
|
200
|
+
FDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdI
|
|
201
|
+
SUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKj
|
|
202
|
+
pKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx
|
|
203
|
+
8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QA
|
|
204
|
+
tREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB
|
|
205
|
+
CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldY
|
|
206
|
+
WVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmq
|
|
207
|
+
srO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6
|
|
208
|
+
/9sAQwACAgICAgIDAgIDBAMDAwQFBAQEBAUHBQUFBQUHCAcHBwcHBwgICAgI
|
|
209
|
+
CAgICgoKCgoKCwsLCwsNDQ0NDQ0NDQ0N/9sAQwECAgIDAwMGAwMGDQkHCQ0N
|
|
210
|
+
DQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N
|
|
211
|
+
DQ0N/90ABAAH/9oADAMBAAIRAxEAPwD+f+iiigAooooAKKKKACiiigAooooA
|
|
212
|
+
KKKKACiiigD/0P5/6KKKACiium8IeD/EHjrXrfw34atWur24PAHCRoPvSSN0
|
|
213
|
+
VF7k/QZJAIa0KFStUjSoxcpN2SWrbfRHM13Phz4Z/EDxcizeHPD+oX0LdJ0g
|
|
214
|
+
YQH/ALasAn/j1fpL8Lf2YvA3gOGG/wBehj8Qa0AGae5TdbQtjpDC2V4PR3Bb
|
|
215
|
+
uNvSvpVVVFCqAABgAcAAVDn2P3HIPBSvWpqrm1bkv9mNm/nLZP0T9T8hP+GZ
|
|
216
|
+
fjh5fm/8Iy+3rj7ZZ7v++fPz+lcB4j+GfxA8Io03iPw/qFjCvWd4GMA/7aqC
|
|
217
|
+
n/j1ft3SMqupVgCCMEHkEGp52fR4nwQyuULYfEVIy7vlkvuSj+Z+BlFfq78U
|
|
218
|
+
v2YvA3jyGa/0GGPw/rRBZZrZNttM3pNCuF5PV0Abud3SvzI8X+D/ABB4F164
|
|
219
|
+
8N+JbVrW9tzyDykiH7skbdGRuxH0OCCBopJn4xxZwNmOQTTxK5qb2mtvR9n5
|
|
220
|
+
P5NnM0UUUz40KKKKAP/R/n/ooooAlhhmuZo7e3RpJZWCIijLMzHAAA6knpX7
|
|
221
|
+
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
|
|
258
|
+
EOF
|
|
259
|
+
|
|
260
|
+
img = Base64.decode64(img_b64)
|
|
48
261
|
content = Atom::Content.new
|
|
49
262
|
content.type = 'image/jpeg'
|
|
50
|
-
content.body =
|
|
263
|
+
content.body = img
|
|
51
264
|
content.type.should == 'image/jpeg'
|
|
52
|
-
content.body.should ==
|
|
265
|
+
content.body.should == img
|
|
53
266
|
end
|
|
54
267
|
|
|
55
268
|
end
|
metadata
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: atomutil
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- lyokato
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2018-09-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: rake
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - "<"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
type: :
|
|
19
|
+
version: '11.0'
|
|
20
|
+
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - "<"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: '11.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: rspec
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - ~>
|
|
31
|
+
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 2.4.0
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - ~>
|
|
38
|
+
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 2.4.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
47
|
+
version: 1.16.1
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.
|
|
54
|
+
version: 1.16.1
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: jeweler
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
59
|
+
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
61
|
+
version: 2.3.9
|
|
62
62
|
type: :development
|
|
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:
|
|
68
|
+
version: 2.3.9
|
|
69
69
|
description: This library allows your to handle AtomPub and Atom Feed easily
|
|
70
70
|
email: lyo.kato@gmail.com
|
|
71
71
|
executables: []
|
|
@@ -73,8 +73,9 @@ extensions: []
|
|
|
73
73
|
extra_rdoc_files:
|
|
74
74
|
- README.rdoc
|
|
75
75
|
files:
|
|
76
|
-
- .document
|
|
77
|
-
- .rspec
|
|
76
|
+
- ".document"
|
|
77
|
+
- ".rspec"
|
|
78
|
+
- CHANGELOG.md
|
|
78
79
|
- Gemfile
|
|
79
80
|
- Gemfile.lock
|
|
80
81
|
- License.txt
|
|
@@ -106,29 +107,18 @@ require_paths:
|
|
|
106
107
|
- lib
|
|
107
108
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
108
109
|
requirements:
|
|
109
|
-
- -
|
|
110
|
+
- - ">="
|
|
110
111
|
- !ruby/object:Gem::Version
|
|
111
112
|
version: '0'
|
|
112
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
114
|
requirements:
|
|
114
|
-
- -
|
|
115
|
+
- - ">="
|
|
115
116
|
- !ruby/object:Gem::Version
|
|
116
117
|
version: '0'
|
|
117
118
|
requirements: []
|
|
118
119
|
rubyforge_project:
|
|
119
|
-
rubygems_version: 2.
|
|
120
|
+
rubygems_version: 2.7.6
|
|
120
121
|
signing_key:
|
|
121
|
-
specification_version:
|
|
122
|
+
specification_version: 4
|
|
122
123
|
summary: Ruby AtomPub Client
|
|
123
|
-
test_files:
|
|
124
|
-
- spec/categories_spec.rb
|
|
125
|
-
- spec/category_spec.rb
|
|
126
|
-
- spec/content_spec.rb
|
|
127
|
-
- spec/customfeed_spec.rb
|
|
128
|
-
- spec/feed_spec.rb
|
|
129
|
-
- spec/link_spec.rb
|
|
130
|
-
- spec/namespace_spec.rb
|
|
131
|
-
- spec/opensearch_spec.rb
|
|
132
|
-
- spec/person_spec.rb
|
|
133
|
-
- spec/spec_helper.rb
|
|
134
|
-
- spec/threading_spec.rb
|
|
124
|
+
test_files: []
|