xml_hate 0.8.3.2 → 0.8.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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