builder 3.2.3 → 3.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 505b295fe83c35703399477bd6cff50dade8b7f1
4
- data.tar.gz: 3029bd550b33392484c1f662cac290d8d8f49d41
2
+ SHA256:
3
+ metadata.gz: 386ed394ff60c6aff710d3304b69fac8ead0e6c89b80f80691b434fcb772290f
4
+ data.tar.gz: 42ccc387ac8ba03c586bf3b280977292418e96031e859ea764808a8d132e5654
5
5
  SHA512:
6
- metadata.gz: ee06b4bec85d9bb75353ebf14dbf78af08f7104e0478e353a7a44f67598735a5361ba9a09fadae89ff8447e4b08b28975531fbb726c5243c4233c678d6eea0b7
7
- data.tar.gz: f7214747cf82a8879e5ab9e6304691f4f7b365f842d838ae8bf3ea148a766286a6951656cb90070506080b5590e1d8e3595e74a6e501ef90d68f7efe51d601b1
6
+ metadata.gz: 76c76d003cc4198733b46dfb9078d130a298c90a5fda954b521c965ae91c891212be43808b29b0d55824b4f3cdfa96289ea2267a57425713725a3ef30b930d83
7
+ data.tar.gz: dba82177c0a2ef38fdafbe1bb875487ad8e112b1f298c06a4a6c001c267172bd1043245229f45839bcdd64e0f2cc8093f7a4d27a5839b65446926560b936463d
data/CHANGES CHANGED
@@ -1,6 +1,18 @@
1
1
  = Change Log
2
2
 
3
- == Version 3.2.0
3
+ == Version 3.2.3 (2017-01-13)
4
+
5
+ * Support for Ruby 2.4
6
+
7
+ == Version 3.2.2 (2013-06-01
8
+
9
+ * Misc minor fixes
10
+
11
+ == Version 3.2.1 (2013-05-30)
12
+
13
+ * Travis & Rdoc fixes
14
+
15
+ == Version 3.2.0 (2013-02-23)
4
16
 
5
17
  * Ruby 2.0 compatibility changes.
6
18
 
data/README.md CHANGED
@@ -245,8 +245,8 @@ incompatibility are:
245
245
  | Description | Link |
246
246
  | :----: | :----: |
247
247
  | Documents | http://builder.rubyforge.org/ |
248
- | Github Clone | git://github.com/jimweirich/builder.git |
249
- | Issue / Bug Reports | https://github.com/jimweirich/builder/issues?state=open |
248
+ | Github Clone | git://github.com/tenderlove/builder.git |
249
+ | Issue / Bug Reports | https://github.com/tenderlove/builder/issues?state=open |
250
250
 
251
251
  ## Contact
252
252
 
data/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Rakefile for rake -*- ruby -*-
2
3
 
3
4
  # Copyright 2004, 2005, 2006 by Jim Weirich (jim@weirichhouse.org).
@@ -43,7 +44,7 @@ task :tu => [:test_units]
43
44
 
44
45
  Rake::TestTask.new("test_units") do |t|
45
46
  t.test_files = FileList['test/test*.rb']
46
- t.libs << "."
47
+ t.libs << "." << "test"
47
48
  t.verbose = false
48
49
  end
49
50
 
@@ -104,7 +105,6 @@ simple to do. Currently the following builder objects are supported:
104
105
 
105
106
  s.test_files = PKG_FILES.select { |fn| fn =~ /^test\/test/ }
106
107
 
107
- s.has_rdoc = true
108
108
  s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
109
109
  s.rdoc_options <<
110
110
  '--title' << 'Builder -- Easy XML Building' <<
@@ -135,7 +135,6 @@ classes that make heavy use of method_missing.
135
135
 
136
136
  s.test_files = PKG_FILES.select { |fn| fn =~ /^test\/test/ }
137
137
 
138
- s.has_rdoc = true
139
138
  s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
140
139
  s.rdoc_options <<
141
140
  '--title' << 'BlankSlate -- Base Class for building proxies.' <<
@@ -0,0 +1,27 @@
1
+ name: builder
2
+ document: http://builder.rubyforge.org
3
+ download: http://rubyforge.org/frs/?group_id=415
4
+ description: >
5
+ <p>This package contains Builder, a simple ruby library for
6
+ building XML document quickly and easily.</p>
7
+
8
+ <p>Here's an example:</p>
9
+
10
+ <pre>
11
+ xml = Builder::XmlMarkup.new(:indent=>2)
12
+ xml.person {
13
+ xml.first_name("Jim")
14
+ xml.last_name("Weirich")
15
+ }
16
+ puts xml.target!
17
+ </pre>
18
+
19
+ <p>Produces:</p>
20
+
21
+ <pre>
22
+ &lt;person&gt;
23
+ &lt;first_name&gt;Jim&lt;/first_name&gt;
24
+ &lt;last_name&gt;Weirich&lt;/last_name&gt;
25
+ &lt;/person&gt;
26
+ </pre>
27
+
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+ require './lib/builder/version'
3
+
4
+ PKG_VERSION = Builder::VERSION
5
+
6
+ PKG_FILES = Dir[
7
+ '[A-Z]*',
8
+ 'doc/**/*',
9
+ 'lib/**/*.rb',
10
+ 'test/**/*.rb',
11
+ 'rakelib/**/*'
12
+ ]
13
+
14
+ Gem::Specification.new do |s|
15
+
16
+ #### Basic information.
17
+
18
+ s.name = 'builder'
19
+ s.version = PKG_VERSION
20
+ s.summary = "Builders for MarkUp."
21
+ s.description = %{\
22
+ Builder provides a number of builder objects that make creating structured data
23
+ simple to do. Currently the following builder objects are supported:
24
+
25
+ * XML Markup
26
+ * XML Events
27
+ }
28
+
29
+ s.files = PKG_FILES
30
+ s.require_path = 'lib'
31
+
32
+ s.test_files = PKG_FILES.select { |fn| fn =~ /^test\/test/ }
33
+
34
+ s.has_rdoc = true
35
+ # s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
36
+ s.rdoc_options <<
37
+ '--title' << 'Builder -- Easy XML Building' <<
38
+ '--main' << 'README.rdoc' <<
39
+ '--line-numbers'
40
+
41
+ s.authors = ["Jim Weirich", "Aaron Patterson"]
42
+ s.email = "aron.patterson@gmail.com"
43
+ s.homepage = "https://github.com/tenderlove/builder"
44
+ s.license = 'MIT'
45
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module RDoc
2
3
  module Page
3
4
 
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
  #--
3
4
  # Copyright 2004, 2006 by Jim Weirich (jim@weirichhouse.org).
4
5
  # All rights reserved.
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
  #--
3
4
  # Copyright 2004, 2006 by Jim Weirich (jim@weirichhouse.org).
4
5
  # All rights reserved.
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  module Builder
2
3
  VERSION_NUMBERS = [
3
4
  VERSION_MAJOR = 3,
4
5
  VERSION_MINOR = 2,
5
- VERSION_BUILD = 3,
6
+ VERSION_BUILD = 4,
6
7
  ]
7
8
  VERSION = VERSION_NUMBERS.join(".")
8
9
  end
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # The XChar library is provided courtesy of Sam Ruby (See
4
5
  # http://intertwingly.net/stories/2005/09/28/xchar.rb)
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'builder/blankslate'
4
5
 
@@ -52,7 +53,7 @@ module Builder
52
53
  attrs ||= {}
53
54
  attrs.merge!({:nil => true}) if explicit_nil_handling?
54
55
  else
55
- text ||= ''
56
+ text ||= ''.dup
56
57
  text << arg.to_s
57
58
  end
58
59
  end
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
  #--
3
4
  # Copyright 2004, 2005 by Jim Weirich (jim@weirichhouse.org).
4
5
  # All rights reserved.
@@ -192,7 +193,7 @@ module Builder
192
193
  @quote = (options[:quote] == :single) ? "'" : '"'
193
194
  @explicit_nil_handling = options[:explicit_nil_handling]
194
195
  super(indent, margin)
195
- @target = options[:target] || ""
196
+ @target = options[:target] || "".dup
196
197
  end
197
198
 
198
199
  # Return the target of the builder.
@@ -271,6 +272,11 @@ module Builder
271
272
  _special("<![CDATA[", "]]>", text.gsub(']]>', ']]]]><![CDATA[>'), nil)
272
273
  end
273
274
 
275
+ def cdata_value!(open, text)
276
+ _ensure_no_block ::Kernel::block_given?
277
+ _special("<#{open}>", "</#{open}>", "<![CDATA[#{text.gsub(']]>', ']]]]><![CDATA[>')}]]>", nil)
278
+ end
279
+
274
280
  private
275
281
 
276
282
  # NOTE: All private methods of a builder object are prefixed when
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Optional publish task for Rake
2
3
 
3
4
  begin
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  module Tags
4
5
  extend Rake::DSL if defined?(Rake::DSL)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'rake/testtask'
2
3
 
3
4
  Rake::TestTask.new do |t|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'minitest/autorun'
2
3
 
3
4
  module Builder
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
  # encoding: iso-8859-1
3
4
 
4
5
  #--
@@ -14,7 +15,7 @@
14
15
  require 'builder/xmlmarkup'
15
16
  require 'benchmark'
16
17
 
17
- text = "This is a test of the new xml markup. Itrntinliztin\n" * 10000
18
+ text = "This is a test of the new xml markup. I�t�rn�ti�n�liz�ti�n\n" * 10000
18
19
 
19
20
  include Benchmark # we need the CAPTION and FMTSTR constants
20
21
  include Builder
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -104,12 +105,6 @@ class TestBlankSlate < Builder::Test
104
105
  end
105
106
  end
106
107
 
107
- def test_targetted_private_methods_are_undefined_during_instance_eval
108
- assert_raise(NoMethodError, NameError) do
109
- @bs.instance_eval do self.puts "HI" end
110
- end
111
- end
112
-
113
108
  def test_untargetted_private_methods_are_defined_during_instance_eval
114
109
  oldstdout = $stdout
115
110
  $stdout = StringIO.new
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -417,6 +418,11 @@ class TestSpecialMarkup < Builder::Test
417
418
  assert_equal "<![CDATA[TEST]]>\n", @xml.target!
418
419
  end
419
420
 
421
+ def test_cdata_value
422
+ @xml.cdata_value!("content:encoded", "<p>TEST</p>")
423
+ assert_equal "<content:encoded><![CDATA[<p>TEST</p>]]></content:encoded>\n", @xml.target!
424
+ end
425
+
420
426
  def test_cdata_with_ampersand
421
427
  @xml.cdata!("TEST&CHECK")
422
428
  assert_equal "<![CDATA[TEST&CHECK]]>\n", @xml.target!
@@ -499,7 +505,7 @@ class TestIndentedXmlMarkup < Builder::Test
499
505
  $KCODE = encoding
500
506
  string
501
507
  elsif encoding == 'UTF8'
502
- string.force_encoding('UTF-8')
508
+ string.dup.force_encoding('UTF-8')
503
509
  else
504
510
  string
505
511
  end
@@ -580,7 +586,7 @@ class TestIndentedXmlMarkup < Builder::Test
580
586
  end
581
587
 
582
588
  def pop_text
583
- result = ''
589
+ result = ''.dup
584
590
  while ! @handler.events.empty? && @handler.events[0][0] == :text
585
591
  result << @handler.events[0][1]
586
592
  @handler.events.shift
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Portions copyright 2011 by Bart ten Brinke (info@retrosync.com).
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  #--
4
5
  # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
  # encoding: us-ascii
3
4
 
4
5
  #--
@@ -22,9 +23,9 @@ if String.method_defined?(:encode)
22
23
 
23
24
  # shim method for testing purposes
24
25
  def to_xs(escape=true)
25
- raise NameError.new('to_xs') unless caller[0].index(__FILE__)
26
+ # raise NameError.new('to_xs') unless caller[0].index(__FILE__)
26
27
 
27
- result = Builder::XChar.encode(self)
28
+ result = Builder::XChar.encode(self.dup)
28
29
  if escape
29
30
  result.gsub(/[^\u0000-\u007F]/) {|c| "&##{c.ord};"}
30
31
  else
@@ -70,9 +71,15 @@ class TestXmlEscaping < Builder::Test
70
71
  end
71
72
 
72
73
  def test_utf8_verbatim
73
- assert_equal "\xE2\x80\x99", "\xE2\x80\x99".to_xs(false) # right single quote
74
- assert_equal "\xC2\xA9", "\xC2\xA9".to_xs(false) # copy
75
- assert_equal "\xC2\xA9&amp;\xC2\xA9",
76
- "\xC2\xA9&\xC2\xA9".to_xs(false) # copy with ampersand
74
+ assert_equal binary("\xE2\x80\x99"), "\xE2\x80\x99".to_xs(false) # right single quote
75
+ assert_equal binary("\xC2\xA9"), "\xC2\xA9".to_xs(false) # copy
76
+ assert_equal binary("\xC2\xA9&amp;\xC2\xA9"),
77
+ "\xC2\xA9&\xC2\xA9".to_xs(false) # copy with ampersand
78
+ end
79
+
80
+ private
81
+
82
+ def binary(string)
83
+ string.dup.force_encoding(Encoding::BINARY)
77
84
  end
78
85
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 3.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-13 00:00:00.000000000 Z
11
+ date: 2019-12-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  Builder provides a number of builder objects that make creating structured data
@@ -19,12 +19,23 @@ description: |
19
19
  email: jim.weirich@gmail.com
20
20
  executables: []
21
21
  extensions: []
22
- extra_rdoc_files: []
22
+ extra_rdoc_files:
23
+ - CHANGES
24
+ - MIT-LICENSE
25
+ - README.md
26
+ - Rakefile
27
+ - builder.blurb
28
+ - builder.gemspec
29
+ - doc/releases/builder-1.2.4.rdoc
30
+ - doc/releases/builder-2.0.0.rdoc
31
+ - doc/releases/builder-2.1.1.rdoc
23
32
  files:
24
33
  - CHANGES
25
34
  - MIT-LICENSE
26
35
  - README.md
27
36
  - Rakefile
37
+ - builder.blurb
38
+ - builder.gemspec
28
39
  - doc/jamis.rb
29
40
  - doc/releases/builder-1.2.4.rdoc
30
41
  - doc/releases/builder-2.0.0.rdoc
@@ -73,8 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
84
  - !ruby/object:Gem::Version
74
85
  version: '0'
75
86
  requirements: []
76
- rubyforge_project:
77
- rubygems_version: 2.6.8
87
+ rubygems_version: 3.1.0.pre3
78
88
  signing_key:
79
89
  specification_version: 4
80
90
  summary: Builders for MarkUp.