spectifly 0.0.5 → 0.0.6
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.
data/lib/spectifly/version.rb
CHANGED
@@ -7,11 +7,17 @@ module Spectifly
|
|
7
7
|
|
8
8
|
def to_xsd(builder = nil)
|
9
9
|
builder ||= ::Builder::XmlMarkup.new(:indent => 2)
|
10
|
-
|
11
|
-
|
10
|
+
if relationship == 'belongs_to'
|
11
|
+
attributes['name'] = "#{name}Id"
|
12
|
+
attributes['type'] = "xs:string"
|
13
|
+
else
|
14
|
+
attributes['name'] = name
|
15
|
+
attributes['type'] = "#{Spectifly::Support.lower_camelize(type)}Type"
|
16
|
+
attributes['minOccurs'] = '0' unless required?
|
17
|
+
end
|
12
18
|
attributes['maxOccurs'] = 'unbounded' if multiple?
|
13
19
|
block = embedded_block
|
14
|
-
builder.xs :element,
|
20
|
+
builder.xs :element, attributes, &block
|
15
21
|
end
|
16
22
|
|
17
23
|
def embedded_block
|
@@ -28,4 +34,4 @@ module Spectifly
|
|
28
34
|
end
|
29
35
|
end
|
30
36
|
end
|
31
|
-
end
|
37
|
+
end
|
@@ -24,6 +24,13 @@ module Spectifly
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
def types
|
28
|
+
[
|
29
|
+
fields.map(&:type) +
|
30
|
+
associations.select { |a| a.relationship != 'belongs_to' }.map(&:type)
|
31
|
+
].flatten.compact.uniq
|
32
|
+
end
|
33
|
+
|
27
34
|
def build(xml = nil)
|
28
35
|
xml ||= ::Builder::XmlMarkup.new(:indent => 2)
|
29
36
|
xml.instruct! :xml, :version => '1.0', :encoding => 'UTF-8'
|
@@ -34,10 +41,12 @@ module Spectifly
|
|
34
41
|
unless utilized_extended_types.empty?
|
35
42
|
xml.xs :include, 'schemaLocation' => "extended.xsd"
|
36
43
|
end
|
37
|
-
xml.xs :element,
|
44
|
+
xml.xs :element,
|
45
|
+
:name => Spectifly::Support.camelize(root),
|
46
|
+
:type => root_type
|
38
47
|
build_type(xml)
|
39
48
|
end
|
40
49
|
end
|
41
50
|
end
|
42
51
|
end
|
43
|
-
end
|
52
|
+
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
3
|
-
<xs:include schemaLocation="group.xsd"/>
|
4
3
|
<xs:include schemaLocation="extended.xsd"/>
|
5
4
|
<xs:element name="Individual" type="individualType"/>
|
6
5
|
<xs:complexType name="individualType">
|
@@ -37,7 +36,7 @@
|
|
37
36
|
<xs:documentation>Whether or not this individual is pickled</xs:documentation>
|
38
37
|
</xs:annotation>
|
39
38
|
</xs:element>
|
40
|
-
<xs:element name="
|
39
|
+
<xs:element name="PartyId" type="xs:string">
|
41
40
|
<xs:annotation>
|
42
41
|
<xs:documentation>Which funtime party this individual happy with is</xs:documentation>
|
43
42
|
</xs:annotation>
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
3
|
-
<xs:include schemaLocation="group.xsd"/>
|
4
3
|
<xs:include schemaLocation="extended.xsd"/>
|
5
4
|
<xs:element name="Individual" type="individualType"/>
|
6
5
|
<xs:complexType name="individualType">
|
@@ -25,7 +24,7 @@
|
|
25
24
|
<xs:documentation>Whether or not this individual is pickled</xs:documentation>
|
26
25
|
</xs:annotation>
|
27
26
|
</xs:element>
|
28
|
-
<xs:element name="
|
27
|
+
<xs:element name="PartyId" type="xs:string">
|
29
28
|
<xs:annotation>
|
30
29
|
<xs:documentation>Which funtime party this individual happy with is</xs:documentation>
|
31
30
|
</xs:annotation>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spectifly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: builder
|
@@ -207,12 +207,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
207
207
|
- - ! '>='
|
208
208
|
- !ruby/object:Gem::Version
|
209
209
|
version: '0'
|
210
|
+
segments:
|
211
|
+
- 0
|
212
|
+
hash: 2137149722934303799
|
210
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
211
214
|
none: false
|
212
215
|
requirements:
|
213
216
|
- - ! '>='
|
214
217
|
- !ruby/object:Gem::Version
|
215
218
|
version: '0'
|
219
|
+
segments:
|
220
|
+
- 0
|
221
|
+
hash: 2137149722934303799
|
216
222
|
requirements: []
|
217
223
|
rubyforge_project:
|
218
224
|
rubygems_version: 1.8.23
|
@@ -248,4 +254,3 @@ test_files:
|
|
248
254
|
- spec/spectifly/xsd/field_spec.rb
|
249
255
|
- spec/spectifly/xsd/types_spec.rb
|
250
256
|
- spec/support/path_helper.rb
|
251
|
-
has_rdoc:
|