happymapper 0.4.1 → 0.5.0
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.
- checksums.yaml +7 -0
- data/README.rdoc +3 -1
- data/examples/twitter.rb +8 -8
- data/lib/happymapper.rb +2 -2
- data/lib/happymapper/version.rb +1 -1
- data/spec/happymapper_to_xml_spec.rb +42 -7
- metadata +15 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c5f18b01260e792ddaddc9c9401dfc95768835e7
|
4
|
+
data.tar.gz: 591a0490cfc13b0df762d9b42402d49906eccf17
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 02bc2a6fb0cde9e96995059d5b5f866588a5a47124898016800cb46179b6c2a038429b01f54cfd2a0022bd647018cb0a548774d8342489b6b910f5c7396398bb
|
7
|
+
data.tar.gz: 604c778be7d6941336ac402d5cdab136f578e9b71e72a518f4a938a615a10e2e8c5be7cfceccd8735255ff6c8dd46f3e155d7b14ebc16ee9648da9e0f0db7cf4
|
data/README.rdoc
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
NOTE: This project is no longer maintained. If you are interested in helping, let me know. There does seem to be a maintained fork (https://github.com/dam5s/happymapper).
|
2
|
+
|
1
3
|
= happymapper
|
2
4
|
|
3
5
|
== DESCRIPTION:
|
@@ -52,4 +54,4 @@ http://github.com/jnunemaker/happymapper/tree/master/examples/
|
|
52
54
|
|
53
55
|
== DOCS:
|
54
56
|
|
55
|
-
http://rdoc.info/projects/jnunemaker/happymapper
|
57
|
+
http://rdoc.info/projects/jnunemaker/happymapper
|
data/examples/twitter.rb
CHANGED
@@ -22,16 +22,16 @@ class Status
|
|
22
22
|
|
23
23
|
element :id, Integer
|
24
24
|
element :text, String
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
element :created_at, Time
|
26
|
+
element :source, String
|
27
|
+
element :truncated, Boolean
|
28
|
+
element :in_reply_to_status_id, Integer
|
29
|
+
element :in_reply_to_user_id, Integer
|
30
|
+
element :favorited, Boolean
|
31
|
+
has_one :user, User
|
32
32
|
end
|
33
33
|
|
34
34
|
statuses = Status.parse(file_contents)
|
35
35
|
statuses.each do |status|
|
36
36
|
puts status.user.name, status.user.screen_name, status.text, status.source, ''
|
37
|
-
end
|
37
|
+
end
|
data/lib/happymapper.rb
CHANGED
@@ -140,7 +140,7 @@ module HappyMapper
|
|
140
140
|
# Create an xml representation of the specified class based on defined
|
141
141
|
# HappyMapper elements and attributes. The method is defined in a way
|
142
142
|
# that it can be called recursively by classes that are also HappyMapper
|
143
|
-
# classes,
|
143
|
+
# classes, allowing for the composition of classes.
|
144
144
|
#
|
145
145
|
def to_xml(parent_node = nil, default_namespace = nil)
|
146
146
|
|
@@ -214,7 +214,7 @@ module HappyMapper
|
|
214
214
|
end
|
215
215
|
end
|
216
216
|
|
217
|
-
current_node[ "#{attribute_namespace ? "#{attribute_namespace.prefix}:" : ""}#{attribute.tag}" ] = value
|
217
|
+
current_node[ "#{attribute_namespace ? "#{attribute_namespace.prefix}:" : ""}#{attribute.tag}" ] = value.to_s
|
218
218
|
end
|
219
219
|
|
220
220
|
#
|
data/lib/happymapper/version.rb
CHANGED
@@ -8,6 +8,12 @@ module ToXML
|
|
8
8
|
tag 'address'
|
9
9
|
|
10
10
|
attribute :location, String
|
11
|
+
attribute :precipitation, Float
|
12
|
+
attribute :last_update, Time
|
13
|
+
attribute :mayor_elected, Date
|
14
|
+
attribute :last_earthquake, DateTime
|
15
|
+
attribute :revision, Integer
|
16
|
+
attribute :domestic, Boolean
|
11
17
|
|
12
18
|
element :street, String
|
13
19
|
element :postcode, String
|
@@ -82,7 +88,13 @@ module ToXML
|
|
82
88
|
'postcode' => '98103',
|
83
89
|
'city' => 'Seattle',
|
84
90
|
'country' => Country.new(:name => 'USA', :code => 'us'),
|
85
|
-
'date_created' => '2011-01-01 15:00:00'
|
91
|
+
'date_created' => '2011-01-01 15:00:00',
|
92
|
+
'precipitation' => 58.3,
|
93
|
+
'last_update' => Time.new(1993, 02, 24, 12, 0, 0, "+09:00"),
|
94
|
+
'mayor_elected' => Date.new(2001, 2, 3) ,
|
95
|
+
'last_earthquake' => DateTime.new(2001, -11, -26, -20, -55, -54, '+7'),
|
96
|
+
'revision' => 42,
|
97
|
+
'domestic' => true)
|
86
98
|
|
87
99
|
address.dates_updated = ["2011-01-01 16:01:00","2011-01-02 11:30:01"]
|
88
100
|
|
@@ -103,10 +115,6 @@ module ToXML
|
|
103
115
|
@address_xml.find("housenumber").first.child.to_s.should == "[1313]"
|
104
116
|
end
|
105
117
|
|
106
|
-
it "should have the attribute 'location' with the value 'Home'" do
|
107
|
-
@address_xml.find('@location').first.child.to_s.should == "Home"
|
108
|
-
end
|
109
|
-
|
110
118
|
it "should add an empty description element" do
|
111
119
|
@address_xml.find('description').first.child.to_s.should == ""
|
112
120
|
end
|
@@ -130,9 +138,36 @@ module ToXML
|
|
130
138
|
@address_xml.find('country/countryName').first.child.to_s.should == "USA"
|
131
139
|
end
|
132
140
|
|
133
|
-
|
141
|
+
it "should have the attribute 'location' with the value 'Home'" do
|
142
|
+
@address_xml.find('@location').first.child.to_s.should == 'Home'
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should have the attribute 'precipitation' with the value '58.3'" do
|
146
|
+
@address_xml.find('@precipitation').first.child.to_s.should == '58.3'
|
147
|
+
end
|
148
|
+
|
149
|
+
it "should have the attribute 'last_update' with the value '1993-02-24 12:00:00 +0900'" do
|
150
|
+
@address_xml.find('@last_update').first.child.to_s.should == "1993-02-24 12:00:00 +0900"
|
151
|
+
end
|
134
152
|
|
153
|
+
it "should have the attribute 'mayor_elected' with the value '2001-02-03'" do
|
154
|
+
@address_xml.find('@mayor_elected').first.child.to_s.should == '2001-02-03'
|
155
|
+
end
|
156
|
+
|
157
|
+
it "should have the attribute 'last_earthquake' with the value ''" do
|
158
|
+
@address_xml.find('@last_earthquake').first.child.to_s.should == '2001-02-03T04:05:06+07:00'
|
159
|
+
end
|
160
|
+
|
161
|
+
it "should have the attribute 'revision' with the value '42'" do
|
162
|
+
@address_xml.find('@revision').first.child.to_s.should == '42'
|
163
|
+
end
|
164
|
+
|
165
|
+
it "should have the attribute 'domestic' with the value 'true'" do
|
166
|
+
@address_xml.find('@domestic').first.child.to_s.should == 'true'
|
167
|
+
end
|
168
|
+
|
169
|
+
end
|
135
170
|
|
136
171
|
end
|
137
172
|
|
138
|
-
end
|
173
|
+
end
|
metadata
CHANGED
@@ -1,32 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: happymapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- John Nunemaker
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2018-03-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: libxml-ruby
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '2.
|
19
|
+
version: '2.9'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '2.
|
26
|
+
version: '2.9'
|
30
27
|
description:
|
31
28
|
email:
|
32
29
|
|
@@ -34,17 +31,20 @@ executables: []
|
|
34
31
|
extensions: []
|
35
32
|
extra_rdoc_files: []
|
36
33
|
files:
|
34
|
+
- License
|
35
|
+
- README.rdoc
|
36
|
+
- Rakefile
|
37
37
|
- examples/amazon.rb
|
38
38
|
- examples/current_weather.rb
|
39
39
|
- examples/dashed_elements.rb
|
40
40
|
- examples/multi_street_address.rb
|
41
41
|
- examples/post.rb
|
42
42
|
- examples/twitter.rb
|
43
|
+
- lib/happymapper.rb
|
43
44
|
- lib/happymapper/attribute.rb
|
44
45
|
- lib/happymapper/element.rb
|
45
46
|
- lib/happymapper/item.rb
|
46
47
|
- lib/happymapper/version.rb
|
47
|
-
- lib/happymapper.rb
|
48
48
|
- spec/fixtures/address.xml
|
49
49
|
- spec/fixtures/analytics.xml
|
50
50
|
- spec/fixtures/commit.xml
|
@@ -71,37 +71,27 @@ files:
|
|
71
71
|
- spec/spec.opts
|
72
72
|
- spec/spec_helper.rb
|
73
73
|
- spec/support/models.rb
|
74
|
-
- License
|
75
|
-
- Rakefile
|
76
|
-
- README.rdoc
|
77
74
|
homepage: http://happymapper.rubyforge.org
|
78
75
|
licenses: []
|
76
|
+
metadata: {}
|
79
77
|
post_install_message:
|
80
78
|
rdoc_options: []
|
81
79
|
require_paths:
|
82
80
|
- lib
|
83
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
82
|
requirements:
|
86
|
-
- -
|
83
|
+
- - ">="
|
87
84
|
- !ruby/object:Gem::Version
|
88
85
|
version: '0'
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
hash: -3590435398206402919
|
92
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
87
|
requirements:
|
95
|
-
- -
|
88
|
+
- - ">="
|
96
89
|
- !ruby/object:Gem::Version
|
97
90
|
version: '0'
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
hash: -3590435398206402919
|
101
91
|
requirements: []
|
102
92
|
rubyforge_project: happymapper
|
103
|
-
rubygems_version:
|
93
|
+
rubygems_version: 2.6.14
|
104
94
|
signing_key:
|
105
|
-
specification_version:
|
95
|
+
specification_version: 4
|
106
96
|
summary: object to xml mapping library
|
107
97
|
test_files: []
|