schematic 0.0.3 → 0.0.4

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.
@@ -109,7 +109,7 @@ module Schematic
109
109
  end
110
110
 
111
111
  def xsd_type_name
112
- self.name
112
+ self.name.demodulize
113
113
  end
114
114
 
115
115
  def xsd_type_collection_name
@@ -117,7 +117,7 @@ module Schematic
117
117
  end
118
118
 
119
119
  def xsd_element_name
120
- self.name.underscore.dasherize
120
+ xsd_type_name.underscore.dasherize
121
121
  end
122
122
 
123
123
  def xsd_element_collection_name
@@ -1,3 +1,3 @@
1
1
  module Schematic
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -39,31 +39,67 @@ describe Schematic::Serializers::Xsd do
39
39
  describe ".to_xsd" do
40
40
 
41
41
  context "XSD validation" do
42
- subject { SomeModel.to_xsd }
42
+ context "when the model is not namespaced" do
43
+ subject { SomeModel.to_xsd }
43
44
 
44
- with_model :some_model do
45
- table do |t|
46
- t.string "some_string"
47
- t.float "some_float"
48
- t.datetime "some_datetime"
49
- t.date "some_date"
50
- t.boolean "some_boolean"
51
- end
45
+ with_model :some_model do
46
+ table do |t|
47
+ t.string "some_string"
48
+ t.float "some_float"
49
+ t.datetime "some_datetime"
50
+ t.date "some_date"
51
+ t.boolean "some_boolean"
52
+ end
53
+
54
+ model do
55
+ validates :some_string, :presence => true
56
+ validates :some_date, :presence => true, :allow_blank => true
57
+ validates :some_datetime, :presence => true, :allow_blank => false
58
+ end
52
59
 
53
- model do
54
- validates :some_string, :presence => true
55
- validates :some_date, :presence => true, :allow_blank => true
56
- validates :some_datetime, :presence => true, :allow_blank => false
57
60
  end
61
+ it "should generate a valid XSD" do
62
+ xsd_schema_file = File.join(File.dirname(__FILE__), "xsd", "XMLSchema.xsd")
63
+ meta_xsd = Nokogiri::XML::Schema(File.open(xsd_schema_file))
58
64
 
65
+ doc = Nokogiri::XML.parse(subject)
66
+ meta_xsd.validate(doc).each do |error|
67
+ error.message.should be_nil
68
+ end
69
+ end
59
70
  end
60
- it "should generate a valid XSD" do
61
- xsd_schema_file = File.join(File.dirname(__FILE__), "xsd", "XMLSchema.xsd")
62
- meta_xsd = Nokogiri::XML::Schema(File.open(xsd_schema_file))
63
71
 
64
- doc = Nokogiri::XML.parse(subject)
65
- meta_xsd.validate(doc).each do |error|
66
- error.message.should be_nil
72
+ context "when the model is namespaced" do
73
+ before do
74
+ module Namespace; end
75
+ end
76
+
77
+ subject { Namespace::SomeModel.to_xsd }
78
+
79
+ with_model :some_model do
80
+ table do |t|
81
+ t.string "some_string"
82
+ end
83
+
84
+ model do
85
+ validates :some_string, :presence => true
86
+ end
87
+
88
+ end
89
+
90
+ before do
91
+ class Namespace::SomeModel < SomeModel
92
+ end
93
+ end
94
+
95
+ it "should generate a valid XSD" do
96
+ xsd_schema_file = File.join(File.dirname(__FILE__), "xsd", "XMLSchema.xsd")
97
+ meta_xsd = Nokogiri::XML::Schema(File.open(xsd_schema_file))
98
+
99
+ doc = Nokogiri::XML.parse(subject)
100
+ meta_xsd.validate(doc).each do |error|
101
+ error.message.should be_nil
102
+ end
67
103
  end
68
104
  end
69
105
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: schematic
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.3
5
+ version: 0.0.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Case Commons, LLC
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-04 00:00:00 -04:00
13
+ date: 2011-04-05 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency