atomutil 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
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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: []
|