try_api 0.0.12 → 0.0.13

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 34ee36a0c9d678a55f6e241d85786fac362fae39
4
- data.tar.gz: 190f16dd6e4e1933a27016ed2877f17464f0093a
3
+ metadata.gz: 14627511634ee5fad98223da11b1720cb558bf5b
4
+ data.tar.gz: 403b9964183f5e69fb51b3b18e196a443a42d777
5
5
  SHA512:
6
- metadata.gz: 97eb4371a89219c16eadba4ad76a9f8d960f1a145adb03734b9cd1d59be98f0524ff8e681bfe6c966262e6fff379b7bfa9d467948fece63e184fa74e12141f1a
7
- data.tar.gz: e125d625a741a073aea6cb8a423cfc86f11a23f53479d5ed1b0cf6dfae1c1e6a59fd798c5891eb2fa0e497dc293d560e50ea585daf5195a83dedc8243e807d5e
6
+ metadata.gz: 42358fedce57083f07b1efa2bd95026369a6d0f41389c114b00106b922ffe328e2c92ebc76a96c7343e1a40b73043f5195279df2e46943bef66d29fdf81bcf8a
7
+ data.tar.gz: 2b4126286f8370ee76144b6adf5de294bb3486c218843f56bef827b2a60b6c1748990cdacb6be6ab83b29e706ca429280f0522aed3989ff94235b40a5ae85fc4
@@ -1,5 +1,5 @@
1
- #= require try_api/bower_components/bootstrap/dist/js/bootstrap.min.js
2
1
  #= require try_api/bower_components/highlightjs/highlight.pack.min.js
2
+ #= require try_api/bower_components/angular-bootstrap/ui-bootstrap.js
3
3
  #= require try_api/bower_components/angular-bootstrap/ui-bootstrap-tpls.js
4
4
  #= require try_api/bower_components/angular-highlightjs/angular-highlightjs.min.js
5
5
  #= require try_api/bower_components/ladda/dist/spin.min.js
@@ -33,8 +33,8 @@ $ ->
33
33
 
34
34
  TryApiApp = angular.module('TryApiApp', [
35
35
  'ui.bootstrap'
36
+ 'ngAnimate'
36
37
  'formInput.image'
37
- # 'formInput.file'
38
38
  'angular-ladda'
39
39
  'param'
40
40
  'params'
@@ -4,6 +4,7 @@
4
4
  //= require try_api/bower_components/ladda/dist/ladda.min.css
5
5
  //= require try_api/bower_components/ladda/dist/ladda-themeless.min.css
6
6
  //= require try_api/bower_components/components-font-awesome/css/font-awesome.css
7
+ //= require try_api/bower_components/angular-bootstrap/ui-bootstrap-csp.css
7
8
 
8
9
  body
9
10
  margin: 0
@@ -20,28 +21,26 @@ body
20
21
  button
21
22
  outline: none !important
22
23
 
23
- code
24
- margin: 6px 0
25
-
26
24
  .row.is-flex
27
- display: -webkit-box
28
- display: -webkit-flex
29
- display: -ms-flexbox
30
- display: flex
31
- -webkit-flex-wrap: wrap
32
- -ms-flex-wrap: wrap
33
- flex-wrap: wrap
34
-
35
- & > [class*='col-']
25
+ @media (min-width: 1000px)
36
26
  display: -webkit-box
37
27
  display: -webkit-flex
38
28
  display: -ms-flexbox
39
29
  display: flex
40
- -webkit-box-orient: vertical
41
- -webkit-box-direction: normal
42
- -webkit-flex-direction: column
43
- -ms-flex-direction: column
44
- flex-direction: column
30
+ -webkit-flex-wrap: wrap
31
+ -ms-flex-wrap: wrap
32
+ flex-wrap: wrap
33
+
34
+ & > [class*='col-']
35
+ display: -webkit-box
36
+ display: -webkit-flex
37
+ display: -ms-flexbox
38
+ display: flex
39
+ -webkit-box-orient: vertical
40
+ -webkit-box-direction: normal
41
+ -webkit-flex-direction: column
42
+ -ms-flex-direction: column
43
+ flex-direction: column
45
44
 
46
45
  .try-api
47
46
  &-sidebar
@@ -124,7 +123,7 @@ body
124
123
  padding: 10px 15px
125
124
  &-code, code
126
125
  color: #b1bdc4
127
- margin: 6px 0
126
+ margin: 0
128
127
  padding: 20px 40px
129
128
  background: #272b2d
130
129
  border-radius: 5px
@@ -136,6 +135,30 @@ body
136
135
  font-size: 16px
137
136
  text-transform: uppercase
138
137
 
138
+ &-response
139
+ margin: 2px 0
140
+ &-header
141
+ background-color: #272b2d
142
+ padding: 3px
143
+ cursor: pointer
144
+ border-top-right-radius: 5px
145
+ border-top-left-radius: 5px
146
+ position: relative
147
+ i.fa
148
+ position: absolute
149
+ top: 7px
150
+ right: 5px
151
+ .label
152
+ padding: .2em 0.6em 0.16em 0.9em
153
+ &.collapsed
154
+ border-bottom-right-radius: 5px
155
+ border-bottom-left-radius: 5px
156
+
157
+ &-body
158
+ code
159
+ border-top-left-radius: 0
160
+ border-top-right-radius: 0
161
+
139
162
  .error-page
140
163
  margin: auto
141
164
  position: absolute
@@ -287,6 +310,3 @@ body
287
310
  width: 15px
288
311
  height: 15px
289
312
  cursor: pointer
290
-
291
-
292
-
@@ -3,12 +3,14 @@ module TryApi
3
3
  typesafe_accessor :code, Integer
4
4
  typesafe_accessor :response, String
5
5
  typesafe_accessor :type, String
6
+ typesafe_accessor :project, TryApi::Project
6
7
 
7
8
  class << self
8
- def parse(hash)
9
+ def parse(hash:, project:)
9
10
  return nil if hash.blank?
10
11
  instance = self.new
11
12
  instance.code = hash[:code]
13
+ instance.project = project
12
14
  instance.response = hash[:response]
13
15
  instance.type = hash[:type]
14
16
  instance
@@ -25,7 +27,7 @@ module TryApi
25
27
  end
26
28
 
27
29
  def description
28
- self.class.descriptions[self.code]
30
+ self.class.descriptions[self.code].to_s.humanize
29
31
  end
30
32
 
31
33
  def color
@@ -44,5 +46,17 @@ module TryApi
44
46
  'default'
45
47
  end
46
48
  end
49
+
50
+ def to_json
51
+ super.merge color: color, description: description, isCollapsed: true
52
+ end
53
+
54
+ def response=(input)
55
+ if input['var:']
56
+ @response = self.project.variables[input.gsub('var:', '')]
57
+ else
58
+ @response = input
59
+ end
60
+ end
47
61
  end
48
62
  end
@@ -24,7 +24,7 @@ module TryApi
24
24
  instance.example_responses = []
25
25
  if hash[:example_responses].is_a? Array
26
26
  hash[:example_responses].each do |example|
27
- instance.example_responses << TryApi::ExampleResponse.parse(example)
27
+ instance.example_responses << TryApi::ExampleResponse.parse(hash: example, project: project)
28
28
  end
29
29
  else
30
30
  # TODO raise exception ?
@@ -5,6 +5,7 @@ module TryApi
5
5
  typesafe_accessor :host, String
6
6
  typesafe_accessor :port, Integer
7
7
  typesafe_accessor :api_prefix, String
8
+ typesafe_accessor :variables, Hash, {}
8
9
 
9
10
  class << self
10
11
  def parse(hash)
@@ -13,6 +14,7 @@ module TryApi
13
14
  instance.host = hash[:host]
14
15
  instance.port = hash[:port]
15
16
  instance.api_prefix = hash[:api_prefix]
17
+ instance.variables = hash[:variables]
16
18
  instance.menu_items = []
17
19
  hash[:menu_items].each do |category|
18
20
  instance.menu_items << TryApi::MenuItem.parse(hash: category, project: instance)
@@ -8,6 +8,7 @@
8
8
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
9
9
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-slimScroll/1.3.8/jquery.slimscroll.min.js"></script>
10
10
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>
11
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular-animate.js"></script>
11
12
 
12
13
  <%= stylesheet_link_tag "try_api/application", :media => "all", :async => false %>
13
14
  <%= javascript_include_tag "try_api/application", :media => "all", :async => false %>
@@ -72,14 +72,15 @@
72
72
  </div>
73
73
  </div>
74
74
  <div class="col-md-6 method-example"><h1>Example responses</h1>
75
- <div ng-repeat="example in method.example_responses">
76
- <div class="response">
75
+ <div ng-repeat="example in method.example_responses" class="method-example-response">
76
+ <div class="method-example-response-header" ng-click="example.isCollapsed = !example.isCollapsed" ng-class="{ 'collapsed': example.isCollapsed }">
77
77
  <span class="label label-{{ example.color }}">
78
78
  {{ example.code }}
79
79
  </span>
80
- {{ example.description }}
80
+ &nbsp;{{ example.description }}
81
+ <i class="fa" ng-class=" example.isCollapsed ? 'fa-chevron-left' : 'fa-chevron-down' "></i>
81
82
  </div>
82
- <div hljs="" hljs-language="{{ example.type }}" hljs-source="example.response">
83
+ <div class="method-example-response-body" hljs="" hljs-language="{{ example.type }}" hljs-source="example.response" uib-collapse="example.isCollapsed">
83
84
 
84
85
  </div>
85
86
  </div>
@@ -2,6 +2,11 @@ project_name: 'My awesome project'
2
2
  host: 'http://localhost'
3
3
  port: 3000
4
4
  api_prefix: 'api/v1'
5
+ variables:
6
+ access_denied_error: >
7
+ {
8
+ "errors": ["Access Denied !"]
9
+ }
5
10
  menu_items:
6
11
  -
7
12
  title: 'Introduction'
@@ -113,10 +118,7 @@ menu_items:
113
118
  type: 'json'
114
119
  -
115
120
  code: 401
116
- response: >
117
- {
118
- "error": "Access Denied !"
119
- }
121
+ response: var:access_denied_error # You can move repeatable parts to variable
120
122
  type: 'json'
121
123
  -
122
124
  title: 'Registration steps'
@@ -178,10 +180,7 @@ menu_items:
178
180
  type: 'json'
179
181
  -
180
182
  code: 401
181
- response: >
182
- {
183
- "errors": ["Access Denied !"]
184
- }
183
+ response: var:access_denied_error # You can move repeatable parts to variable
185
184
  type: 'json'
186
185
  -
187
186
  code: 422
@@ -246,10 +245,7 @@ menu_items:
246
245
  type: 'json'
247
246
  -
248
247
  code: 401
249
- response: >
250
- {
251
- "errors": ["Access Denied !"]
252
- }
248
+ response: var:access_denied_error # You can move repeatable parts to variable
253
249
  type: 'json'
254
250
  -
255
251
  code: 422
@@ -329,10 +325,7 @@ menu_items:
329
325
  type: 'json'
330
326
  -
331
327
  code: 401
332
- response: >
333
- {
334
- "errors": ["Access Denied !"]
335
- }
328
+ response: var:access_denied_error # You can move repeatable parts to variable
336
329
  type: 'json'
337
330
  -
338
331
  code: 422
@@ -1,3 +1,3 @@
1
1
  module TryApi
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: try_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mykhaylo Skubenych
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-02 00:00:00.000000000 Z
11
+ date: 2016-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails