sk_api_schema 0.1.2 → 0.2.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.
- data/CHANGELOG.rdoc +8 -0
- data/Gemfile +8 -0
- data/README.rdoc +9 -4
- data/Rakefile +12 -12
- data/VERSION +1 -1
- data/json/v1.0/client.json +5 -0
- data/json/v1.0/credit_note.json +17 -2
- data/json/v1.0/document.json +15 -0
- data/json/v1.0/estimate.json +17 -3
- data/json/v1.0/invoice.json +17 -3
- data/json/v1.0/language.json +76 -0
- data/json/v1.0/order.json +16 -1
- data/json/v1.0/payment_reminder.json +17 -2
- data/json/v1.0/recurring.json +17 -3
- data/lib/sk_api_schema.rb +2 -1
- data/sk_api_schema.gemspec +20 -3
- data/spec/sk_api_schema_spec.rb +3 -2
- data/spec/spec_helper.rb +1 -1
- metadata +83 -11
data/CHANGELOG.rdoc
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
A more detailed view of the changes can be found in the {commit messages}[https://github.com/salesking/sk_api_schema/commits/]
|
4
4
|
|
5
|
+
2011-6
|
6
|
+
* added language field to document, client, email-template
|
7
|
+
* added filter[languages] for documents and clients, to search by one or more languages
|
8
|
+
* added filter[client_ids] to documents, to search by one or multiple clients
|
9
|
+
* added filter[ids] for documents, to find multiple specific documents
|
10
|
+
* changed _delete property to _destroy for address, line_item
|
11
|
+
* removed client_id requirement for documents
|
12
|
+
|
5
13
|
2011-05
|
6
14
|
* new hash_clean method for ruby schema reader class
|
7
15
|
|
data/Gemfile
ADDED
data/README.rdoc
CHANGED
@@ -44,16 +44,21 @@ parameter:
|
|
44
44
|
|
45
45
|
Please try to only request the fields you really need, to save computing power!
|
46
46
|
|
47
|
-
==
|
47
|
+
== ToDo:
|
48
48
|
|
49
49
|
Those relative urls in the link sections, need some love, so please don't rely on
|
50
50
|
them to much right now.
|
51
51
|
|
52
|
-
Especially within the next couple of weeks (until beginning of march) you will
|
53
|
-
see bugfixes since more resources where made available.
|
54
|
-
|
55
52
|
== Install
|
56
53
|
|
57
54
|
gem install sk_api_schema
|
58
55
|
|
56
|
+
== Test
|
57
|
+
|
58
|
+
Before you run the tests use bundler to install all required gems:
|
59
|
+
# git clone
|
60
|
+
# cd into sk_api_schema dir
|
61
|
+
bundle install
|
62
|
+
bundle exec rake spec
|
63
|
+
|
59
64
|
Copyright (c) 2010-2011 Georg Leciejewski, released under the MIT license
|
data/Rakefile
CHANGED
@@ -1,19 +1,21 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
|
-
require '
|
4
|
-
require '
|
3
|
+
require 'rdoc/task'
|
4
|
+
require 'rspec'
|
5
|
+
require 'rspec/core/rake_task'
|
5
6
|
|
6
7
|
begin
|
7
8
|
require 'jeweler'
|
8
9
|
Jeweler::Tasks.new do |gem|
|
9
10
|
gem.name = "sk_api_schema"
|
10
11
|
gem.summary = %Q{SalesKing API JSON Schema}
|
11
|
-
gem.description = %Q{SalesKing API
|
12
|
+
gem.description = %Q{The SalesKing JSON Schema describes our business API in terms of available objects, their fields and links to url endpoints with related objects. Besides ruby users can use a smal lib with utility methods to load and test the schema files.}
|
12
13
|
gem.email = "gl@salesking.eu"
|
13
14
|
gem.homepage = "http://github.com/salesking/sk_api_schema"
|
14
15
|
gem.authors = ["Georg Leciejewski"]
|
15
16
|
gem.add_dependency 'activesupport'
|
16
17
|
gem.add_development_dependency "rspec"
|
18
|
+
gem.add_development_dependency "rcov"
|
17
19
|
end
|
18
20
|
Jeweler::GemcutterTasks.new
|
19
21
|
rescue LoadError
|
@@ -23,22 +25,20 @@ end
|
|
23
25
|
desc 'Default: run specs.'
|
24
26
|
task :default => :spec
|
25
27
|
|
26
|
-
spec_files = Rake::FileList["spec/**/*_spec.rb"]
|
27
|
-
|
28
28
|
desc "Run specs"
|
29
|
-
|
30
|
-
t.
|
31
|
-
|
29
|
+
RSpec::Core::RakeTask.new do |t|
|
30
|
+
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
31
|
+
# Put spec opts in a file named .rspec in root
|
32
32
|
end
|
33
33
|
|
34
34
|
desc "Generate code coverage"
|
35
|
-
|
36
|
-
t.
|
35
|
+
RSpec::Core::RakeTask.new(:coverage) do |t|
|
36
|
+
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
37
37
|
t.rcov = true
|
38
|
-
t.rcov_opts = ['--exclude', 'spec
|
38
|
+
t.rcov_opts = ['--exclude', 'spec']
|
39
39
|
end
|
40
40
|
|
41
|
-
desc 'Generate
|
41
|
+
desc 'Generate documentation.'
|
42
42
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
43
43
|
rdoc.rdoc_dir = 'rdoc'
|
44
44
|
rdoc.title = 'SalesKing-Api JSON Schema'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/json/v1.0/client.json
CHANGED
@@ -192,6 +192,11 @@
|
|
192
192
|
"description": "Search by number where the number is matched from the start: %number",
|
193
193
|
"type" : "date"
|
194
194
|
},
|
195
|
+
"filter[languages]":{
|
196
|
+
"title" : "Languages",
|
197
|
+
"description": "A single or a list of language codes, comma separated",
|
198
|
+
"type" : "string"
|
199
|
+
},
|
195
200
|
"sort_by":{
|
196
201
|
"title" : "Sort by",
|
197
202
|
"description": "Sort the results by the given field => number",
|
data/json/v1.0/credit_note.json
CHANGED
@@ -79,13 +79,13 @@
|
|
79
79
|
"properties":{"$ref":"./attachment.json#properties"}
|
80
80
|
},
|
81
81
|
"client":{
|
82
|
-
"description": "The client for the document.
|
82
|
+
"description": "The client for the document. You cannot create a client through this, use client_id field to set it.",
|
83
83
|
"readonly":true,
|
84
84
|
"type":"object",
|
85
85
|
"properties":{"$ref":"./client.json#properties"}
|
86
86
|
},
|
87
87
|
"client_id":{
|
88
|
-
"description": "The clients uuid
|
88
|
+
"description": "The clients uuid. If a new client is assigned its language, address field, due days and cash discount are used if those fields are not set.",
|
89
89
|
"type":"string"
|
90
90
|
},
|
91
91
|
"team_id":{
|
@@ -186,6 +186,21 @@
|
|
186
186
|
"description": "All objects with date before the date",
|
187
187
|
"type" :"date"
|
188
188
|
},
|
189
|
+
"filter[languages]":{
|
190
|
+
"title" : "Languages",
|
191
|
+
"description": "A list of language codes, comma separated",
|
192
|
+
"type" : "string"
|
193
|
+
},
|
194
|
+
"filter[client_ids]":{
|
195
|
+
"title" : "Clients",
|
196
|
+
"description": "A single or a list of client uuids, comma separated",
|
197
|
+
"type" : "string"
|
198
|
+
},
|
199
|
+
"filter[ids]":{
|
200
|
+
"title" : "Documents",
|
201
|
+
"description": "A single or a list of document uuids, comma separated",
|
202
|
+
"type" : "string"
|
203
|
+
},
|
189
204
|
"sort_by":{
|
190
205
|
"title" : "Sort by",
|
191
206
|
"description": "Sort the results by the given field => number",
|
data/json/v1.0/document.json
CHANGED
@@ -140,6 +140,21 @@
|
|
140
140
|
"description": "All objects with date before the date",
|
141
141
|
"type" : "date"
|
142
142
|
},
|
143
|
+
"filter[languages]":{
|
144
|
+
"title" : "Languages",
|
145
|
+
"description": "A list of language codes, comma separated",
|
146
|
+
"type" : "string"
|
147
|
+
},
|
148
|
+
"filter[client_ids]":{
|
149
|
+
"title" : "Clients",
|
150
|
+
"description": "A single or a list of client uuids, comma separated",
|
151
|
+
"type" : "string"
|
152
|
+
},
|
153
|
+
"filter[ids]":{
|
154
|
+
"title" : "Documents",
|
155
|
+
"description": "A single or a list of document uuids, comma separated",
|
156
|
+
"type" : "string"
|
157
|
+
},
|
143
158
|
"sort_by":{
|
144
159
|
"title" : "Sort by",
|
145
160
|
"description": "Sort the results by the given field => number",
|
data/json/v1.0/estimate.json
CHANGED
@@ -80,9 +80,8 @@
|
|
80
80
|
"properties":{"$ref":"./client.json#properties"}
|
81
81
|
},
|
82
82
|
"client_id":{
|
83
|
-
"description": "The clients uuid
|
84
|
-
"type":"string"
|
85
|
-
"required":true
|
83
|
+
"description": "The clients uuid. If a new client is assigned its language, address field are used if those fields are not set.",
|
84
|
+
"type":"string"
|
86
85
|
},
|
87
86
|
"team_id":{
|
88
87
|
"description": "A team uuid. If set only the team and its parent teams can see the record.",
|
@@ -172,6 +171,21 @@
|
|
172
171
|
"description": "All objects with date before the date",
|
173
172
|
"type" : "date"
|
174
173
|
},
|
174
|
+
"filter[languages]":{
|
175
|
+
"title" : "Languages",
|
176
|
+
"description": "A list of language codes, comma separated",
|
177
|
+
"type" : "string"
|
178
|
+
},
|
179
|
+
"filter[client_ids]":{
|
180
|
+
"title" : "Clients",
|
181
|
+
"description": "A single or a list of client uuids, comma separated",
|
182
|
+
"type" : "string"
|
183
|
+
},
|
184
|
+
"filter[ids]":{
|
185
|
+
"title" : "Documents",
|
186
|
+
"description": "A single or a list of document uuids, comma separated",
|
187
|
+
"type" : "string"
|
188
|
+
},
|
175
189
|
"sort_by":{
|
176
190
|
"title" : "Sort by",
|
177
191
|
"description": "Sort the results by the given field => number",
|
data/json/v1.0/invoice.json
CHANGED
@@ -85,9 +85,8 @@
|
|
85
85
|
"properties":{"$ref":"./client.json#properties"}
|
86
86
|
},
|
87
87
|
"client_id":{
|
88
|
-
"description": "The clients uuid
|
89
|
-
"type":"string"
|
90
|
-
"required":true
|
88
|
+
"description": "The clients uuid. If a new client is assigned its language, address field, due days and cash discount are used if those fields are not set.",
|
89
|
+
"type":"string"
|
91
90
|
},
|
92
91
|
"team_id":{
|
93
92
|
"description": "A team uuid. If set only the team and its parent teams can see the record.",
|
@@ -187,6 +186,21 @@
|
|
187
186
|
"description": "All objects with date before the date",
|
188
187
|
"type" : "date"
|
189
188
|
},
|
189
|
+
"filter[languages]":{
|
190
|
+
"title" : "Languages",
|
191
|
+
"description": "A list of language codes, comma separated",
|
192
|
+
"type" : "string"
|
193
|
+
},
|
194
|
+
"filter[client_ids]":{
|
195
|
+
"title" : "Clients",
|
196
|
+
"description": "A single or a list of client uuids, comma separated",
|
197
|
+
"type" : "string"
|
198
|
+
},
|
199
|
+
"filter[ids]":{
|
200
|
+
"title" : "Documents",
|
201
|
+
"description": "A single or a list of document uuids, comma separated",
|
202
|
+
"type" : "string"
|
203
|
+
},
|
190
204
|
"sort_by":{
|
191
205
|
"title" : "Sort by",
|
192
206
|
"description": "Sort the results by the given field => number",
|
@@ -0,0 +1,76 @@
|
|
1
|
+
{ "type":"object",
|
2
|
+
"title": "language",
|
3
|
+
"description": "A language in SK can be assigned to documents, contacts and templates. When creating new documents, emails or PDF the language is used to select a specific template or language agnostic defaults. A language has many translations.",
|
4
|
+
"properties":{
|
5
|
+
"id":{
|
6
|
+
"description": "uuid of the language.",
|
7
|
+
"identity":true,
|
8
|
+
"readonly":true,
|
9
|
+
"type":"string"
|
10
|
+
},
|
11
|
+
"code":{
|
12
|
+
"description": "Language short-code",
|
13
|
+
"type":"string"
|
14
|
+
},
|
15
|
+
"name":{
|
16
|
+
"description": "The name of the language, shown in the interface",
|
17
|
+
"type":"string",
|
18
|
+
"required":true
|
19
|
+
},
|
20
|
+
"created_at":{
|
21
|
+
"description": "Date the object was created in SK. Never changes afterwards",
|
22
|
+
"format":"date-time",
|
23
|
+
"readonly":true,
|
24
|
+
"type":"string"
|
25
|
+
},
|
26
|
+
"updated_at":{
|
27
|
+
"description": "Date the object was edited in SK.",
|
28
|
+
"format":"date-time",
|
29
|
+
"readonly":true,
|
30
|
+
"type":"string"
|
31
|
+
}
|
32
|
+
},
|
33
|
+
"links":[
|
34
|
+
{ "rel": "self",
|
35
|
+
"href": "languages/{id}"
|
36
|
+
},
|
37
|
+
{ "rel": "instances",
|
38
|
+
"href": "languages",
|
39
|
+
"properties" : {
|
40
|
+
"page":{
|
41
|
+
"title" : "Page",
|
42
|
+
"description": "In paginated results set the page to look for",
|
43
|
+
"type":"number"
|
44
|
+
},
|
45
|
+
"per_page":{
|
46
|
+
"title" : "Per page",
|
47
|
+
"description": "Results per page. Default is 10, max is 100",
|
48
|
+
"type":"number"
|
49
|
+
},
|
50
|
+
"sort_by":{
|
51
|
+
"title" : "Sort by",
|
52
|
+
"description": "Sort the results by the given field => code",
|
53
|
+
"enum":["name","code", "created_at", "updated_at"],
|
54
|
+
"type": "string"
|
55
|
+
},
|
56
|
+
"sort":{
|
57
|
+
"title" : "Sort",
|
58
|
+
"enum":["ASC","DESC"],
|
59
|
+
"description": "Sort the results in ASC or DESC"
|
60
|
+
}
|
61
|
+
}
|
62
|
+
},
|
63
|
+
{ "rel": "destroy",
|
64
|
+
"href": "languages/{id}",
|
65
|
+
"method": "DELETE"
|
66
|
+
},
|
67
|
+
{ "rel": "update",
|
68
|
+
"href": "languages/{id}",
|
69
|
+
"method": "PUT"
|
70
|
+
},
|
71
|
+
{ "rel": "create",
|
72
|
+
"href": "languages",
|
73
|
+
"method": "POST"
|
74
|
+
}
|
75
|
+
]
|
76
|
+
}
|
data/json/v1.0/order.json
CHANGED
@@ -71,7 +71,7 @@
|
|
71
71
|
"properties":{"$ref":"./client.json#properties"}
|
72
72
|
},
|
73
73
|
"client_id":{
|
74
|
-
"description": "The clients uuid
|
74
|
+
"description": "The clients uuid. If a new client is assigned its language, address field are used if those fields are not set.",
|
75
75
|
"type":"string"
|
76
76
|
},
|
77
77
|
"team_id":{
|
@@ -162,6 +162,21 @@
|
|
162
162
|
"description": "All objects with date before the date",
|
163
163
|
"type" : "date"
|
164
164
|
},
|
165
|
+
"filter[languages]":{
|
166
|
+
"title" : "Languages",
|
167
|
+
"description": "A list of language codes, comma separated",
|
168
|
+
"type" : "string"
|
169
|
+
},
|
170
|
+
"filter[client_ids]":{
|
171
|
+
"title" : "Clients",
|
172
|
+
"description": "A single or a list of client uuids, comma separated",
|
173
|
+
"type" : "string"
|
174
|
+
},
|
175
|
+
"filter[ids]":{
|
176
|
+
"title" : "Documents",
|
177
|
+
"description": "A single or a list of document uuids, comma separated",
|
178
|
+
"type" : "string"
|
179
|
+
},
|
165
180
|
"sort_by":{
|
166
181
|
"title" : "Sort by",
|
167
182
|
"description": "Sort the results by the given field => number",
|
@@ -70,13 +70,13 @@
|
|
70
70
|
"properties":{"$ref":"./attachment.json#properties"}
|
71
71
|
},
|
72
72
|
"client":{
|
73
|
-
"description": "The client for the document.
|
73
|
+
"description": "The client for the document. Is assigned throught the related invoice",
|
74
74
|
"readonly":true,
|
75
75
|
"type":"object",
|
76
76
|
"properties":{"$ref":"./client.json#properties"}
|
77
77
|
},
|
78
78
|
"client_id":{
|
79
|
-
"description": "The clients uuid.
|
79
|
+
"description": "The clients uuid. Is assigned throught the related invoice.",
|
80
80
|
"type":"string"
|
81
81
|
},
|
82
82
|
"team_id":{
|
@@ -152,6 +152,21 @@
|
|
152
152
|
"description": "All objects with date before the date",
|
153
153
|
"type" : "date"
|
154
154
|
},
|
155
|
+
"filter[languages]":{
|
156
|
+
"title" : "Languages",
|
157
|
+
"description": "A list of language codes, comma separated",
|
158
|
+
"type" : "string"
|
159
|
+
},
|
160
|
+
"filter[client_ids]":{
|
161
|
+
"title" : "Clients",
|
162
|
+
"description": "A single or a list of client uuids, comma separated",
|
163
|
+
"type" : "string"
|
164
|
+
},
|
165
|
+
"filter[ids]":{
|
166
|
+
"title" : "Documents",
|
167
|
+
"description": "A single or a list of document uuids, comma separated",
|
168
|
+
"type" : "string"
|
169
|
+
},
|
155
170
|
"sort_by":{
|
156
171
|
"title" : "Sort by",
|
157
172
|
"description": "Sort the results by the given field => number",
|
data/json/v1.0/recurring.json
CHANGED
@@ -82,9 +82,8 @@
|
|
82
82
|
"properties":{"$ref":"./client.json#properties"}
|
83
83
|
},
|
84
84
|
"client_id":{
|
85
|
-
"description": "The clients uuid
|
86
|
-
"type":"string"
|
87
|
-
"required":true
|
85
|
+
"description": "The clients uuid. If a new client is assigned its language, address field, due days and cash discount are used if those fields are not set.",
|
86
|
+
"type":"string"
|
88
87
|
},
|
89
88
|
"team_id":{
|
90
89
|
"description": "A team uuid. If set only the team and its parent teams can see the record.",
|
@@ -174,6 +173,21 @@
|
|
174
173
|
"description": "All objects with date before the date",
|
175
174
|
"type" : "date"
|
176
175
|
},
|
176
|
+
"filter[languages]":{
|
177
|
+
"title" : "Languages",
|
178
|
+
"description": "A list of language codes, comma separated",
|
179
|
+
"type" : "string"
|
180
|
+
},
|
181
|
+
"filter[client_ids]":{
|
182
|
+
"title" : "Clients",
|
183
|
+
"description": "A single or a list of client uuids, comma separated",
|
184
|
+
"type" : "string"
|
185
|
+
},
|
186
|
+
"filter[ids]":{
|
187
|
+
"title" : "Documents",
|
188
|
+
"description": "A single or a list of document uuids, comma separated",
|
189
|
+
"type" : "string"
|
190
|
+
},
|
177
191
|
"sort_by":{
|
178
192
|
"title" : "Sort by",
|
179
193
|
"description": "Sort the results by the given field => number",
|
data/lib/sk_api_schema.rb
CHANGED
data/sk_api_schema.gemspec
CHANGED
@@ -5,18 +5,19 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sk_api_schema}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Georg Leciejewski"]
|
12
|
-
s.date = %q{2011-06-
|
13
|
-
s.description = %q{SalesKing API
|
12
|
+
s.date = %q{2011-06-27}
|
13
|
+
s.description = %q{The SalesKing JSON Schema describes our business API in terms of available objects, their fields and links to url endpoints with related objects. Besides ruby users can use a smal lib with utility methods to load and test the schema files.}
|
14
14
|
s.email = %q{gl@salesking.eu}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"README.rdoc"
|
17
17
|
]
|
18
18
|
s.files = [
|
19
19
|
"CHANGELOG.rdoc",
|
20
|
+
"Gemfile",
|
20
21
|
"README.rdoc",
|
21
22
|
"Rakefile",
|
22
23
|
"VERSION",
|
@@ -34,6 +35,7 @@ Gem::Specification.new do |s|
|
|
34
35
|
"json/v1.0/export.json",
|
35
36
|
"json/v1.0/export_template.json",
|
36
37
|
"json/v1.0/invoice.json",
|
38
|
+
"json/v1.0/language.json",
|
37
39
|
"json/v1.0/line_item.json",
|
38
40
|
"json/v1.0/order.json",
|
39
41
|
"json/v1.0/payment.json",
|
@@ -58,15 +60,30 @@ Gem::Specification.new do |s|
|
|
58
60
|
s.specification_version = 3
|
59
61
|
|
60
62
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
63
|
+
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
64
|
+
s.add_runtime_dependency(%q<rdoc>, [">= 0"])
|
65
|
+
s.add_runtime_dependency(%q<rcov>, [">= 0"])
|
66
|
+
s.add_runtime_dependency(%q<active_support>, [">= 0"])
|
61
67
|
s.add_runtime_dependency(%q<activesupport>, [">= 0"])
|
62
68
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
69
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
63
70
|
else
|
71
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
72
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
73
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
74
|
+
s.add_dependency(%q<active_support>, [">= 0"])
|
64
75
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
65
76
|
s.add_dependency(%q<rspec>, [">= 0"])
|
77
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
66
78
|
end
|
67
79
|
else
|
80
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
81
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
82
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
83
|
+
s.add_dependency(%q<active_support>, [">= 0"])
|
68
84
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
69
85
|
s.add_dependency(%q<rspec>, [">= 0"])
|
86
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
70
87
|
end
|
71
88
|
end
|
72
89
|
|
data/spec/sk_api_schema_spec.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
require '
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe SK::Api::Schema, 'reading' do
|
4
4
|
|
5
5
|
before :each do
|
6
6
|
SK::Api::Schema.registry_reset
|
7
7
|
end
|
8
|
+
|
8
9
|
it "should read json schema file" do
|
9
10
|
schema = SK::Api::Schema.read(:invoice, 'v1.0')
|
10
11
|
schema[:title].should == 'invoice'
|
@@ -150,4 +151,4 @@ end
|
|
150
151
|
|
151
152
|
class Client
|
152
153
|
attr_accessor :id, :organisation, :last_name, :number, :addresses
|
153
|
-
end
|
154
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sk_api_schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
- 1
|
9
8
|
- 2
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Georg Leciejewski
|
@@ -15,12 +15,11 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-06-
|
18
|
+
date: 2011-06-27 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
23
|
-
prerelease: false
|
22
|
+
type: :runtime
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
@@ -30,11 +29,11 @@ dependencies:
|
|
30
29
|
segments:
|
31
30
|
- 0
|
32
31
|
version: "0"
|
33
|
-
|
32
|
+
name: rake
|
34
33
|
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rspec
|
37
34
|
prerelease: false
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
type: :runtime
|
38
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
38
|
none: false
|
40
39
|
requirements:
|
@@ -44,9 +43,80 @@ dependencies:
|
|
44
43
|
segments:
|
45
44
|
- 0
|
46
45
|
version: "0"
|
47
|
-
|
46
|
+
name: rdoc
|
48
47
|
version_requirements: *id002
|
49
|
-
|
48
|
+
prerelease: false
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
type: :runtime
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
name: rcov
|
61
|
+
version_requirements: *id003
|
62
|
+
prerelease: false
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
type: :runtime
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
version: "0"
|
74
|
+
name: active_support
|
75
|
+
version_requirements: *id004
|
76
|
+
prerelease: false
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
type: :runtime
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
hash: 3
|
85
|
+
segments:
|
86
|
+
- 0
|
87
|
+
version: "0"
|
88
|
+
name: activesupport
|
89
|
+
version_requirements: *id005
|
90
|
+
prerelease: false
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
type: :development
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
hash: 3
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
version: "0"
|
102
|
+
name: rspec
|
103
|
+
version_requirements: *id006
|
104
|
+
prerelease: false
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
type: :development
|
107
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
hash: 3
|
113
|
+
segments:
|
114
|
+
- 0
|
115
|
+
version: "0"
|
116
|
+
name: rcov
|
117
|
+
version_requirements: *id007
|
118
|
+
prerelease: false
|
119
|
+
description: The SalesKing JSON Schema describes our business API in terms of available objects, their fields and links to url endpoints with related objects. Besides ruby users can use a smal lib with utility methods to load and test the schema files.
|
50
120
|
email: gl@salesking.eu
|
51
121
|
executables: []
|
52
122
|
|
@@ -56,6 +126,7 @@ extra_rdoc_files:
|
|
56
126
|
- README.rdoc
|
57
127
|
files:
|
58
128
|
- CHANGELOG.rdoc
|
129
|
+
- Gemfile
|
59
130
|
- README.rdoc
|
60
131
|
- Rakefile
|
61
132
|
- VERSION
|
@@ -73,6 +144,7 @@ files:
|
|
73
144
|
- json/v1.0/export.json
|
74
145
|
- json/v1.0/export_template.json
|
75
146
|
- json/v1.0/invoice.json
|
147
|
+
- json/v1.0/language.json
|
76
148
|
- json/v1.0/line_item.json
|
77
149
|
- json/v1.0/order.json
|
78
150
|
- json/v1.0/payment.json
|