schematic 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c76641aa454b778d4e26f79dc681629dcf6ef6a
4
- data.tar.gz: dd47b6effb9ca6bc3036f8a71ebc840faba17fa4
3
+ metadata.gz: 9f89e984adf5c1efe6246c1e32fea80b6d51e196
4
+ data.tar.gz: 527e14a50ca42c440df9856766d08a3f00a92dac
5
5
  SHA512:
6
- metadata.gz: 910d7a63f610016582b3c8d0a9e569e5c0d5cb2846582c7f142dfe6fa693d024d8f149ea37dc812eecf572c8e83bcbf2b635fd6bb84c6ff81f2f91265f99952a
7
- data.tar.gz: 0846991be161e75ac8e44c4c22b2f097ad5a2536926c11cf697603314560b6098f2936237c81919fc94af325eced78b1c139d11a423542faa8d47d83fad24710
6
+ metadata.gz: 6d2faaaf1fa79c30f15583471d2af19cb2262cf78c6a335ebc63ad6a3be54f1cbadb1129e9849f491dedf8dccd9737bed7a36b176d6d26b065e7abeccc226e09
7
+ data.tar.gz: 9dfd787c816b4810fe07743ab86b5f5a32c49ad84584083f07055b5e5c54e6b39dd300e840a9dc5eae822947d9235bfe9bcc4f624d6cf3298e5edb14ff5a5f17
@@ -4,6 +4,7 @@ module Schematic
4
4
  COMPLEX = {
5
5
  :integer => { :complex_type => 'Integer', :xsd_type => 'xs:integer' }.freeze,
6
6
  :float => { :complex_type => 'Float', :xsd_type => 'xs:float' }.freeze,
7
+ :decimal => { :complex_type => 'Decimal', :xsd_type => 'xs:decimal' }.freeze,
7
8
  :string => { :complex_type => 'String', :xsd_type => 'xs:string' }.freeze,
8
9
  :text => { :complex_type => 'Text', :xsd_type => 'xs:string' }.freeze,
9
10
  :datetime => { :complex_type => 'DateTime', :xsd_type => 'xs:dateTime' }.freeze,
@@ -1,3 +1,3 @@
1
1
  module Schematic
2
- VERSION = '0.7.0'.freeze
2
+ VERSION = '0.7.1'.freeze
3
3
  end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe Schematic::Generator::Column do
4
+ describe "#generate" do
5
+ with_model :some_model do
6
+ table :id => false do |t|
7
+ t.integer :id_column
8
+ t.float :float_column
9
+ t.string :string_column
10
+ t.text :text_column
11
+ t.datetime :datetime_column
12
+ t.date :date_column
13
+ t.decimal :decimal_column
14
+ end
15
+
16
+ model do
17
+ self.primary_key = :id
18
+ end
19
+ end
20
+
21
+ it "should generate xsd" do
22
+ xsd = sanitize_xml(SomeModel.to_xsd)
23
+
24
+ Schematic::Generator::Types::COMPLEX.each do |type, value|
25
+ expect(xsd).to include("<xs:complexType name=\"#{value[:complex_type]}\">")
26
+ expect(xsd).to include("<xs:extension base=\"#{value[:xsd_type]}\">")
27
+ end
28
+ end
29
+ end
30
+ end
@@ -579,6 +579,14 @@ describe Schematic::Serializers::Xsd do
579
579
  </xs:extension>
580
580
  </xs:simpleContent>
581
581
  </xs:complexType>
582
+ <xs:complexType name="Decimal">
583
+ <xs:simpleContent>
584
+ <xs:extension base="xs:decimal">
585
+ <xs:attribute name="type" type="xs:string" use="optional"/>
586
+ <xs:attribute name="nil" type="xs:boolean" use="optional"/>
587
+ </xs:extension>
588
+ </xs:simpleContent>
589
+ </xs:complexType>
582
590
  <xs:complexType name="String">
583
591
  <xs:simpleContent>
584
592
  <xs:extension base="xs:string">
@@ -51,6 +51,14 @@ def generate_xsd_for_model(model, header_element = nil)
51
51
  </xs:extension>
52
52
  </xs:simpleContent>
53
53
  </xs:complexType>
54
+ <xs:complexType name="Decimal">
55
+ <xs:simpleContent>
56
+ <xs:extension base="xs:decimal">
57
+ <xs:attribute name="type" type="xs:string" use="optional"/>
58
+ <xs:attribute name="nil" type="xs:boolean" use="optional"/>
59
+ </xs:extension>
60
+ </xs:simpleContent>
61
+ </xs:complexType>
54
62
  <xs:complexType name="String">
55
63
  <xs:simpleContent>
56
64
  <xs:extension base="xs:string">
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schematic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Case Commons, LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-19 00:00:00.000000000 Z
11
+ date: 2014-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -142,6 +142,7 @@ files:
142
142
  - lib/schematic/serializers/xsd.rb
143
143
  - lib/schematic/version.rb
144
144
  - schematic.gemspec
145
+ - spec/schematic/generator/column_spec.rb
145
146
  - spec/schematic/generator/restrictions/custom_spec.rb
146
147
  - spec/schematic/generator/restrictions/enumeration_spec.rb
147
148
  - spec/schematic/generator/restrictions/length_spec.rb
@@ -187,6 +188,7 @@ signing_key:
187
188
  specification_version: 4
188
189
  summary: Automatic XSD generation from ActiveRecord models
189
190
  test_files:
191
+ - spec/schematic/generator/column_spec.rb
190
192
  - spec/schematic/generator/restrictions/custom_spec.rb
191
193
  - spec/schematic/generator/restrictions/enumeration_spec.rb
192
194
  - spec/schematic/generator/restrictions/length_spec.rb
@@ -207,4 +209,3 @@ test_files:
207
209
  - spec/support/with_model.rb
208
210
  - spec/support/xsd/XMLSchema.xsd
209
211
  - spec/support/xsd/xml.xsd
210
- has_rdoc: