wdd-ruby-ext 0.2.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use system
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- wdd-ruby-ext (0.2.2)
4
+ wdd-ruby-ext (0.2.3)
5
5
 
6
6
  GEM
7
7
  specs:
data/README.rdoc CHANGED
@@ -8,21 +8,6 @@ credit where credit is due. I will try to give credit for new additions
8
8
  added in the future and will happily give proper credit if I am alerted to
9
9
  such.
10
10
 
11
- == Note on Patches/Pull Requests
12
-
13
- * Fork the project.
14
- * Make your feature addition or bug fix.
15
- * Add tests for it. This is important so I don't break it in a
16
- future version unintentionally.
17
- * Commit, do not mess with rakefile, version, or history.
18
- (if you want to have your own version, that is fine but
19
- bump version in a commit by itself I can ignore when I pull)
20
- * Send me a pull request. Bonus points for topic branches.
21
-
22
11
  == Copyright
23
12
 
24
- Copyright (c) 2009 shock. See LICENSE for details.
25
- <<<<<<< HEAD:README.rdoc
26
-
27
- =======
28
- >>>>>>> 0aa60a70e9983277e4d0ac757d74b7fde91aa1bf:README.rdoc
13
+ Copyright (c) 2010 shock. See LICENSE for details.
data/Rakefile CHANGED
@@ -11,6 +11,7 @@ begin
11
11
  gem.homepage = "http://github.com/shock/wdd-ruby-ext"
12
12
  gem.authors = ["shock"]
13
13
  gem.add_development_dependency "rspec", ">= 1.2.9"
14
+ gem.add_dependency "nokogiri", "~> 1.4.4"
14
15
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
16
  end
16
17
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.3.0
@@ -0,0 +1,46 @@
1
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2
+ <xsl:output method="xml" encoding="ISO-8859-1"/>
3
+ <xsl:param name="indent-increment" select="' '"/>
4
+
5
+ <xsl:template name="newline">
6
+ <xsl:text disable-output-escaping="yes">
7
+ </xsl:text>
8
+ </xsl:template>
9
+
10
+ <xsl:template match="comment() | processing-instruction()">
11
+ <xsl:param name="indent" select="''"/>
12
+ <xsl:call-template name="newline"/>
13
+ <xsl:value-of select="$indent"/>
14
+ <xsl:copy />
15
+ </xsl:template>
16
+
17
+ <xsl:template match="text()">
18
+ <xsl:param name="indent" select="''"/>
19
+ <xsl:call-template name="newline"/>
20
+ <xsl:value-of select="$indent"/>
21
+ <xsl:value-of select="normalize-space(.)"/>
22
+ </xsl:template>
23
+
24
+ <xsl:template match="text()[normalize-space(.)='']"/>
25
+
26
+ <xsl:template match="*">
27
+ <xsl:param name="indent" select="''"/>
28
+ <xsl:call-template name="newline"/>
29
+ <xsl:value-of select="$indent"/>
30
+ <xsl:choose>
31
+ <xsl:when test="count(child::*) > 0">
32
+ <xsl:copy>
33
+ <xsl:copy-of select="@*"/>
34
+ <xsl:apply-templates select="*|text()">
35
+ <xsl:with-param name="indent" select="concat ($indent, $indent-increment)"/>
36
+ </xsl:apply-templates>
37
+ <xsl:call-template name="newline"/>
38
+ <xsl:value-of select="$indent"/>
39
+ </xsl:copy>
40
+ </xsl:when>
41
+ <xsl:otherwise>
42
+ <xsl:copy-of select="."/>
43
+ </xsl:otherwise>
44
+ </xsl:choose>
45
+ </xsl:template>
46
+ </xsl:stylesheet>
@@ -3,4 +3,5 @@
3
3
  require 'wdd-ruby-ext/utils/time_gate'
4
4
  require 'wdd-ruby-ext/utils/simpledebug'
5
5
  require 'wdd-ruby-ext/utils/helpers'
6
- require 'wdd-ruby-ext/utils/fixed_point'
6
+ require 'wdd-ruby-ext/utils/fixed_point'
7
+ require 'wdd-ruby-ext/utils/pretty_xml'
@@ -1,5 +1,5 @@
1
1
  module WDD
2
- module Utilities
2
+ module Utils
3
3
  def printvar val_name, val
4
4
  puts "#{val_name.to_s}: #{val.inspect}"
5
5
  end
@@ -0,0 +1,27 @@
1
+ require 'singleton'
2
+ require 'nokogiri'
3
+
4
+ # Formats XML with standard indention.
5
+ # Credit: http://stackoverflow.com/questions/1898829/nokogiri-pretty-printing
6
+ module WDD
7
+ module Utils
8
+ class PrettyXml
9
+ include Singleton
10
+
11
+ def initialize
12
+ @xsl ||= Nokogiri::XSLT(File.open(File.expand_path('../../resources/pretty_xml.xsl', __FILE__)))
13
+ end
14
+
15
+ def format source
16
+ source = Nokogiri(source) if source.is_a? String
17
+ @xsl.apply_to(source).to_s
18
+ end
19
+
20
+ class << self
21
+ def format source
22
+ PrettyXml.instance.format( source )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,7 +1,7 @@
1
1
  # require 'pp'
2
2
 
3
3
  module WDD
4
- module Utilities
4
+ module Utils
5
5
  module SimpleDebug
6
6
 
7
7
  public
@@ -6,7 +6,7 @@
6
6
  # wait on the gate to ensure that a certain amount of time has passed before continuing.
7
7
  # This is specifically useful for throttling API calls.
8
8
  module WDD
9
- module Utilities
9
+ module Utils
10
10
  class TimeGate
11
11
  def set seconds
12
12
  @gate_time = Time.now + seconds
@@ -0,0 +1,18 @@
1
+ require 'spec/autorun'
2
+ require 'spec/runner/formatter/text_mate_formatter'
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe WDD::Utils::PrettyXml do
6
+ it "works for string" do
7
+ source = "<html><body>Hello</body></html>"
8
+ pretty = WDD::Utils::PrettyXml.format(source)
9
+ pretty.should == "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<html>\n <body>Hello</body>\n</html>\n"
10
+ end
11
+
12
+ it "works for Nokogiri doc" do
13
+ source = Nokogiri::HTML("<html><body>Hello</body></html>")
14
+ pretty = WDD::Utils::PrettyXml.format(source)
15
+ pretty.should == "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<html>\n <body>Hello</body>\n</html>\n"
16
+ end
17
+
18
+ end
data/wdd-ruby-ext.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wdd-ruby-ext}
8
- s.version = "0.2.3"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["shock"]
12
- s.date = %q{2010-12-30}
12
+ s.date = %q{2011-01-16}
13
13
  s.description = %q{Some of these are borrowed. Some are original. This gem simply provides a single place to source control them all for incorporation into other projects.}
14
14
  s.email = %q{billdoughty@capitalthought.com}
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".gitignore",
22
+ ".rvmrc",
22
23
  "Gemfile",
23
24
  "Gemfile.lock",
24
25
  "LICENSE",
@@ -31,6 +32,7 @@ Gem::Specification.new do |s|
31
32
  "lib/wdd-ruby-ext/http.rb",
32
33
  "lib/wdd-ruby-ext/numbers.rb",
33
34
  "lib/wdd-ruby-ext/object.rb",
35
+ "lib/wdd-ruby-ext/resources/pretty_xml.xsl",
34
36
  "lib/wdd-ruby-ext/string.rb",
35
37
  "lib/wdd-ruby-ext/system.rb",
36
38
  "lib/wdd-ruby-ext/time.rb",
@@ -38,9 +40,11 @@ Gem::Specification.new do |s|
38
40
  "lib/wdd-ruby-ext/utils/fixed_point.rb",
39
41
  "lib/wdd-ruby-ext/utils/hash_object.rb",
40
42
  "lib/wdd-ruby-ext/utils/helpers.rb",
43
+ "lib/wdd-ruby-ext/utils/pretty_xml.rb",
41
44
  "lib/wdd-ruby-ext/utils/simpledebug.rb",
42
45
  "lib/wdd-ruby-ext/utils/time_gate.rb",
43
46
  "spec/lib/utils/fixed_point_spec.rb",
47
+ "spec/lib/utils/pretty_xml_spec.rb",
44
48
  "spec/spec.opts",
45
49
  "spec/spec_helper.rb",
46
50
  "spec/wdd-ruby-ext_spec.rb",
@@ -53,6 +57,7 @@ Gem::Specification.new do |s|
53
57
  s.summary = %q{Handy extensions to the Ruby base classes and other utilities.}
54
58
  s.test_files = [
55
59
  "spec/lib/utils/fixed_point_spec.rb",
60
+ "spec/lib/utils/pretty_xml_spec.rb",
56
61
  "spec/spec_helper.rb",
57
62
  "spec/wdd-ruby-ext_spec.rb"
58
63
  ]
@@ -63,11 +68,14 @@ Gem::Specification.new do |s|
63
68
 
64
69
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
65
70
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
71
+ s.add_runtime_dependency(%q<nokogiri>, ["~> 1.4.4"])
66
72
  else
67
73
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
74
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.4"])
68
75
  end
69
76
  else
70
77
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
78
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.4"])
71
79
  end
72
80
  end
73
81
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wdd-ruby-ext
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 2
9
8
  - 3
10
- version: 0.2.3
9
+ - 0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - shock
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-30 00:00:00 -06:00
18
+ date: 2011-01-16 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -34,6 +34,22 @@ dependencies:
34
34
  version: 1.2.9
35
35
  type: :development
36
36
  version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: nokogiri
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 15
46
+ segments:
47
+ - 1
48
+ - 4
49
+ - 4
50
+ version: 1.4.4
51
+ type: :runtime
52
+ version_requirements: *id002
37
53
  description: Some of these are borrowed. Some are original. This gem simply provides a single place to source control them all for incorporation into other projects.
38
54
  email: billdoughty@capitalthought.com
39
55
  executables: []
@@ -46,6 +62,7 @@ extra_rdoc_files:
46
62
  files:
47
63
  - .document
48
64
  - .gitignore
65
+ - .rvmrc
49
66
  - Gemfile
50
67
  - Gemfile.lock
51
68
  - LICENSE
@@ -58,6 +75,7 @@ files:
58
75
  - lib/wdd-ruby-ext/http.rb
59
76
  - lib/wdd-ruby-ext/numbers.rb
60
77
  - lib/wdd-ruby-ext/object.rb
78
+ - lib/wdd-ruby-ext/resources/pretty_xml.xsl
61
79
  - lib/wdd-ruby-ext/string.rb
62
80
  - lib/wdd-ruby-ext/system.rb
63
81
  - lib/wdd-ruby-ext/time.rb
@@ -65,9 +83,11 @@ files:
65
83
  - lib/wdd-ruby-ext/utils/fixed_point.rb
66
84
  - lib/wdd-ruby-ext/utils/hash_object.rb
67
85
  - lib/wdd-ruby-ext/utils/helpers.rb
86
+ - lib/wdd-ruby-ext/utils/pretty_xml.rb
68
87
  - lib/wdd-ruby-ext/utils/simpledebug.rb
69
88
  - lib/wdd-ruby-ext/utils/time_gate.rb
70
89
  - spec/lib/utils/fixed_point_spec.rb
90
+ - spec/lib/utils/pretty_xml_spec.rb
71
91
  - spec/spec.opts
72
92
  - spec/spec_helper.rb
73
93
  - spec/wdd-ruby-ext_spec.rb
@@ -108,5 +128,6 @@ specification_version: 3
108
128
  summary: Handy extensions to the Ruby base classes and other utilities.
109
129
  test_files:
110
130
  - spec/lib/utils/fixed_point_spec.rb
131
+ - spec/lib/utils/pretty_xml_spec.rb
111
132
  - spec/spec_helper.rb
112
133
  - spec/wdd-ruby-ext_spec.rb