xml_hate 0.8.3.2 → 0.8.3.3

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.
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - jruby-18mode
7
+ - jruby-19mode
8
+ - rbx-18mode
9
+ - rbx-19mode
10
+ - ruby-head
11
+ - jruby-head
12
+ - ree
data/Rakefile CHANGED
@@ -1 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rake/testtask'
3
+
4
+ task :default => [:test]
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.libs.push "lib"
8
+ t.test_files = FileList['spec/xml_hate/*_spec.rb']
9
+ t.verbose = true
10
+ end
@@ -25,7 +25,7 @@ module XmlHate
25
25
  end
26
26
 
27
27
  def create_accessor_for(k, v)
28
- property_name = k.to_s.gsub('-', '_').to_sym
28
+ property_name = get_a_valid_property_name(k)
29
29
  self.instance_variable_set("@#{property_name}", v)
30
30
  self.instance_eval("
31
31
  class << self
@@ -33,6 +33,13 @@ module XmlHate
33
33
  end")
34
34
  end
35
35
 
36
+ def get_a_valid_property_name(name)
37
+ name = name.to_s.gsub('-', '_')
38
+ name = name.gsub('@', '')
39
+ name = name.gsub(':', '')
40
+ name.to_sym
41
+ end
42
+
36
43
  def convert_the_value_to_the_appropriate_form(the_value)
37
44
  return Node.new(the_value) if the_value.class == Hashie::Mash
38
45
  return the_value.map {|i| i.class == Hashie::Mash ? Node.new(i) : i} if the_value.class == Array
@@ -1,3 +1,3 @@
1
1
  module XmlHate
2
- VERSION = "0.8.3.2"
2
+ VERSION = "0.8.3.3"
3
3
  end
@@ -1,3 +1,4 @@
1
1
  require 'minitest/spec'
2
2
  require 'minitest/autorun'
3
3
  require './lib/xml_hate.rb'
4
+ require 'hashie/hash'
@@ -1,3 +1,4 @@
1
+ require 'hashie/hash'
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
3
 
3
4
  describe XmlHate::Node do
@@ -121,4 +122,25 @@ describe XmlHate::Node do
121
122
  @object.test_this.must_equal "ok"
122
123
  end
123
124
  end
125
+
126
+ describe "passing a key with @" do
127
+ before do
128
+ @object = XmlHate::Node.new({:"@xml" => "data"})
129
+ end
130
+
131
+ it "should replace the @ with nothing" do
132
+ @object.xml.must_equal "data"
133
+ end
134
+ end
135
+
136
+ describe "passing a key with :" do
137
+ before do
138
+ @object = XmlHate::Node.new({:"xml:ns" => "data"})
139
+ end
140
+
141
+ it "should replace the @ with nothing" do
142
+ @object.xmlns.must_equal "data"
143
+ end
144
+ end
145
+
124
146
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["darren@cauthon.com"]
10
10
  s.homepage = ""
11
11
  s.summary = %q{Handling xml with my own ten-foot poll.}
12
- s.description = %q{I hate xml.}
12
+ s.description = %q{xml handling without the xml.}
13
13
 
14
14
  s.rubyforge_project = "xml_hate"
15
15
 
@@ -21,4 +21,5 @@ Gem::Specification.new do |s|
21
21
  # specify any dependencies here; for example:
22
22
  s.add_runtime_dependency 'xml-simple'
23
23
  s.add_runtime_dependency 'hashie'
24
+ s.add_development_dependency 'rake'
24
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xml_hate
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
9
  - 3
10
- - 2
11
- version: 0.8.3.2
10
+ - 3
11
+ version: 0.8.3.3
12
12
  platform: ruby
13
13
  authors:
14
14
  - Darren Cauthon
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-03-11 00:00:00 Z
19
+ date: 2012-03-18 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: xml-simple
@@ -46,7 +46,21 @@ dependencies:
46
46
  version: "0"
47
47
  type: :runtime
48
48
  version_requirements: *id002
49
- description: I hate xml.
49
+ - !ruby/object:Gem::Dependency
50
+ name: rake
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :development
62
+ version_requirements: *id003
63
+ description: xml handling without the xml.
50
64
  email:
51
65
  - darren@cauthon.com
52
66
  executables: []
@@ -58,6 +72,7 @@ extra_rdoc_files: []
58
72
  files:
59
73
  - .gitignore
60
74
  - .rvmrc
75
+ - .travis.yml
61
76
  - Gemfile
62
77
  - Guardfile
63
78
  - Rakefile