sk_api_schema 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|