diesel-api-dsl 0.0.1 → 0.1.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.
- checksums.yaml +5 -13
- data/Rakefile +5 -0
- data/diesel.gemspec +4 -0
- data/lib/diesel.rb +13 -5
- data/lib/diesel/api_base.rb +27 -0
- data/lib/diesel/api_builder.rb +98 -34
- data/lib/diesel/api_error.rb +3 -0
- data/lib/diesel/api_group.rb +27 -0
- data/lib/diesel/data_model.rb +24 -0
- data/lib/diesel/endpoint.rb +15 -33
- data/lib/diesel/middleware/auth/api_key.rb +27 -0
- data/lib/diesel/middleware/debug.rb +20 -0
- data/lib/diesel/middleware/set_body_parameter.rb +11 -0
- data/lib/diesel/middleware/set_header.rb +15 -0
- data/lib/diesel/middleware/set_parameter_base.rb +33 -0
- data/lib/diesel/middleware/set_path_parameter.rb +17 -0
- data/lib/diesel/middleware/set_query_parameter.rb +13 -0
- data/lib/diesel/middleware_builder.rb +15 -0
- data/lib/diesel/middleware_stack.rb +21 -0
- data/lib/diesel/request_context.rb +40 -15
- data/lib/diesel/swagger/data_type_field.rb +25 -0
- data/lib/diesel/swagger/definition.rb +12 -0
- data/lib/diesel/swagger/external_docs.rb +10 -0
- data/lib/diesel/swagger/info.rb +14 -0
- data/lib/diesel/swagger/node.rb +140 -0
- data/lib/diesel/swagger/operation.rb +22 -0
- data/lib/diesel/swagger/parameter.rb +32 -0
- data/lib/diesel/swagger/parser.rb +70 -0
- data/lib/diesel/swagger/path.rb +27 -0
- data/lib/diesel/swagger/property.rb +8 -0
- data/lib/diesel/swagger/security_definition.rb +15 -0
- data/lib/diesel/swagger/specification.rb +30 -0
- data/lib/diesel/utils/inflections.rb +46 -0
- data/lib/diesel/version.rb +1 -1
- data/spec/diesel/api_builder_spec.rb +14 -0
- data/spec/diesel/swagger/parser_spec.rb +80 -0
- data/spec/diesel_spec.rb +43 -0
- data/spec/files/honeybadger.json +80 -0
- data/spec/files/pivotal_tracker.json +94 -0
- data/spec/fixtures/vcr_cassettes/honeybadger.yml +98 -0
- data/spec/fixtures/vcr_cassettes/pivotal_tracker_create_story.yml +61 -0
- data/spec/spec_helper.rb +10 -0
- metadata +110 -25
- data/apis/pivotal_tracker.rb +0 -55
- data/examples/create_pivotal_task.rb +0 -13
- data/lib/diesel/action/http.rb +0 -92
- data/lib/diesel/api.rb +0 -33
- data/lib/diesel/auth/api_key.rb +0 -39
- data/lib/diesel/auth/base.rb +0 -8
- data/lib/diesel/auth/oauth2.rb +0 -13
- data/lib/diesel/authenticator.rb +0 -35
- data/lib/diesel/complex_type_builder.rb +0 -24
- data/lib/diesel/container_builder.rb +0 -6
- data/lib/diesel/dsl.rb +0 -239
- data/lib/diesel/model_builder.rb +0 -9
- data/lib/diesel/profile.rb +0 -112
data/lib/diesel/model_builder.rb
DELETED
data/lib/diesel/profile.rb
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
require 'diesel/api'
|
2
|
-
require 'diesel/authenticator'
|
3
|
-
|
4
|
-
module Diesel
|
5
|
-
module Profile
|
6
|
-
class Base
|
7
|
-
attr_accessor :description
|
8
|
-
end
|
9
|
-
|
10
|
-
class Authorization < Base
|
11
|
-
attr_accessor :name, :nickname, :pass_as, :type
|
12
|
-
end
|
13
|
-
|
14
|
-
class Property < Base
|
15
|
-
attr_accessor :name, :enum
|
16
|
-
end
|
17
|
-
|
18
|
-
class Model < Base
|
19
|
-
attr_accessor :name
|
20
|
-
end
|
21
|
-
|
22
|
-
class ComplexType < Model
|
23
|
-
attr_accessor :required, :properties
|
24
|
-
|
25
|
-
def required
|
26
|
-
@required ||= []
|
27
|
-
end
|
28
|
-
|
29
|
-
def properties
|
30
|
-
@properties ||= []
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
class Container < Model
|
35
|
-
attr_accessor :type
|
36
|
-
end
|
37
|
-
|
38
|
-
class Parameter < Base
|
39
|
-
PRIMITIVE_TYPES = [
|
40
|
-
:integer,
|
41
|
-
:long,
|
42
|
-
:float,
|
43
|
-
:double,
|
44
|
-
:string,
|
45
|
-
:byte,
|
46
|
-
:boolean,
|
47
|
-
:date,
|
48
|
-
:date_time
|
49
|
-
]
|
50
|
-
|
51
|
-
attr_accessor :param_type, :name, :value, :data_type, :required
|
52
|
-
|
53
|
-
def complex?
|
54
|
-
!data_type.nil? && !primitive?
|
55
|
-
end
|
56
|
-
|
57
|
-
def primitive?
|
58
|
-
PRIMITIVE_TYPES.include?(data_type)
|
59
|
-
end
|
60
|
-
|
61
|
-
def required?
|
62
|
-
!!required
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
class Operation < Base
|
67
|
-
attr_accessor :nickname, :reference_url, :method, :parameters
|
68
|
-
|
69
|
-
def parameters
|
70
|
-
@parameters ||= []
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
class Resource < Base
|
75
|
-
attr_accessor :path, :operations
|
76
|
-
|
77
|
-
def initialize(path)
|
78
|
-
@path = path
|
79
|
-
end
|
80
|
-
|
81
|
-
def operations
|
82
|
-
@operations ||= []
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
class API < Base
|
87
|
-
attr_reader :name
|
88
|
-
attr_accessor :api_version, :base_path, :auth_type, :auth_options, :resources, :parameters, :authorizations
|
89
|
-
|
90
|
-
def initialize(name)
|
91
|
-
@name = name
|
92
|
-
end
|
93
|
-
|
94
|
-
def parameters
|
95
|
-
@parameters ||= []
|
96
|
-
end
|
97
|
-
|
98
|
-
def resources
|
99
|
-
@resources ||= []
|
100
|
-
end
|
101
|
-
|
102
|
-
def models
|
103
|
-
@models ||= []
|
104
|
-
end
|
105
|
-
|
106
|
-
def authorizations
|
107
|
-
@authorizations ||= []
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
end
|