ki 0.4.11 → 0.4.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +9 -0
  4. data/.ruby-gemset +1 -1
  5. data/.ruby-version +1 -1
  6. data/.travis.yml +10 -2
  7. data/Gemfile +2 -0
  8. data/Gemfile.lock +95 -85
  9. data/Guardfile +20 -14
  10. data/MIDDLEWARE.md +2 -2
  11. data/README.md +29 -1
  12. data/Rakefile +3 -1
  13. data/bin/ki +1 -0
  14. data/ki.gemspec +15 -14
  15. data/lib/ki.rb +8 -1
  16. data/lib/ki/base_request.rb +7 -5
  17. data/lib/ki/channel_manager.rb +2 -0
  18. data/lib/ki/helpers.rb +4 -5
  19. data/lib/ki/ki.rb +11 -2
  20. data/lib/ki/ki_app.rb +2 -0
  21. data/lib/ki/ki_cli.rb +9 -2
  22. data/lib/ki/ki_config.rb +5 -2
  23. data/lib/ki/ki_logger.rb +15 -0
  24. data/lib/ki/middleware/admin_interface_generator.rb +3 -1
  25. data/lib/ki/middleware/api_handler.rb +3 -1
  26. data/lib/ki/middleware/base_middleware.rb +2 -0
  27. data/lib/ki/middleware/coffee_compiler.rb +2 -0
  28. data/lib/ki/middleware/haml_compiler.rb +2 -0
  29. data/lib/ki/middleware/helpers/format_of_helper.rb +3 -1
  30. data/lib/ki/middleware/helpers/haml_compiler_helper.rb +7 -5
  31. data/lib/ki/middleware/helpers/public_file_helper.rb +2 -0
  32. data/lib/ki/middleware/helpers/redirect_to_helper.rb +2 -0
  33. data/lib/ki/middleware/helpers/view_helper.rb +2 -0
  34. data/lib/ki/middleware/init_middleware.rb +2 -0
  35. data/lib/ki/middleware/{doc_generator.rb → insta_doc.rb} +8 -6
  36. data/lib/ki/middleware/public_file_server.rb +2 -0
  37. data/lib/ki/middleware/realtime.rb +3 -1
  38. data/lib/ki/middleware/sass_compiler.rb +2 -0
  39. data/lib/ki/model.rb +8 -7
  40. data/lib/ki/modules/callbacks.rb +12 -20
  41. data/lib/ki/modules/model_helper.rb +2 -0
  42. data/lib/ki/modules/query_interface.rb +2 -0
  43. data/lib/ki/modules/restrictions.rb +5 -2
  44. data/lib/ki/orm.rb +20 -13
  45. data/lib/ki/utils/annotations.rb +33 -0
  46. data/lib/ki/utils/api_error.rb +14 -4
  47. data/lib/ki/utils/descendants.rb +9 -0
  48. data/lib/ki/utils/extra_irb.rb +3 -1
  49. data/lib/ki/utils/extra_ruby.rb +12 -0
  50. data/lib/ki/utils/indifferent_hash.rb +2 -0
  51. data/lib/ki/utils/logger.rb +5 -0
  52. data/lib/ki/version.rb +3 -1
  53. data/lib/ki/views/instadoc.haml +49 -9
  54. data/spec/config.yml.example +1 -1
  55. data/spec/examples/base/client.rb +20 -0
  56. data/spec/examples/base/logs/.keep +0 -0
  57. data/spec/examples/base/public/javascripts/app.js +12 -0
  58. data/spec/examples/json.northpole.ro/.ruby-version +1 -1
  59. data/spec/examples/json.northpole.ro/public/javascripts/app.coffee +1 -0
  60. data/spec/functional_spec.rb +2 -0
  61. data/spec/lib/ki/base_request_spec.rb +25 -23
  62. data/spec/lib/ki/channel_manager_spec.rb +2 -0
  63. data/spec/lib/ki/helpers_spec.rb +4 -2
  64. data/spec/lib/ki/indifferent_hash_spec.rb +2 -0
  65. data/spec/lib/ki/ki_app_spec.rb +2 -0
  66. data/spec/lib/ki/ki_config_spec.rb +5 -3
  67. data/spec/lib/ki/ki_spec.rb +2 -0
  68. data/spec/lib/ki/middleware/admin_generator_spec.rb +2 -0
  69. data/spec/lib/ki/middleware/haml_compiler_spec.rb +6 -3
  70. data/spec/lib/ki/middleware/helpers/format_of_helper_spec.rb +4 -2
  71. data/spec/lib/ki/middleware/init_middleware_spec.rb +3 -1
  72. data/spec/lib/ki/middleware/{doc_generator_spec.rb → insta_doc_spec.rb} +3 -1
  73. data/spec/lib/ki/middleware/realtime_spec.rb +12 -6
  74. data/spec/lib/ki/middleware_spec.rb +3 -1
  75. data/spec/lib/ki/model_spec.rb +26 -22
  76. data/spec/lib/ki/modules/model_helper_spec.rb +5 -3
  77. data/spec/lib/ki/modules/restrictions_spec.rb +16 -0
  78. data/spec/lib/ki/orm_spec.rb +18 -15
  79. data/spec/lib/ki/utils/api_error_spec.rb +9 -0
  80. data/spec/spec_helper.rb +13 -7
  81. data/spec/util_spec.rb +3 -1
  82. metadata +44 -30
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Ki::ApiError do
6
+ it 'knows about descendants' do
7
+ expect(Ki::ApiError.descendants).to include(Ki::InvalidUrlError)
8
+ end
9
+ end
@@ -1,11 +1,12 @@
1
- require 'codeclimate-test-reporter'
2
- CodeClimate::TestReporter.start
1
+ # frozen_string_literal: true
2
+
3
+ require 'simplecov'
4
+ SimpleCov.start
3
5
 
4
6
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
7
  ENV['RACK_ENV'] = 'test'
6
8
 
7
9
  require 'rack/test'
8
- include Rack::Test::Methods
9
10
 
10
11
  require 'ki'
11
12
 
@@ -35,17 +36,22 @@ module Requests
35
36
  end
36
37
  end
37
38
 
38
- def app
39
- Ki::Ki.new
39
+ module RackAppMethod
40
+ include Rack::Test::Methods
41
+
42
+ def app
43
+ Ki::Ki.new
44
+ end
40
45
  end
41
46
 
42
47
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
43
48
  RSpec.configure do |config|
44
- config.treat_symbols_as_metadata_keys_with_true_values = true
49
+ # config.treat_symbols_as_metadata_keys_with_true_values = true
45
50
  config.run_all_when_everything_filtered = true
46
51
  config.filter_run :focus
47
52
 
48
53
  config.include Requests::JsonHelpers
54
+ config.include RackAppMethod
49
55
 
50
- config.order = 'random'
56
+ # config.order = 'random'
51
57
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Ki do
4
6
  it 'should run in test env' do
5
- Ki::Ki.environment.should == 'test'
7
+ expect(Ki::Ki.environment).to eq 'test'
6
8
  end
7
9
 
8
10
  it 'should convert string to class corectly' do
metadata CHANGED
@@ -1,31 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.4.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cristian Mircea Messel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-19 00:00:00.000000000 Z
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: bson_ext
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.5'
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.5'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rack
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rack-parser
42
+ name: coffee-script
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: thor
56
+ name: faye-websocket
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: sass
84
+ name: mongo
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: coffee-script
98
+ name: rack
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,21 +109,21 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: mongo
112
+ name: rack-cors
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 1.9.2
117
+ version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 1.9.2
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: bson_ext
126
+ name: rack-parser
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: rack-cors
140
+ name: sass
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: faye-websocket
154
+ name: thor
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,7 +165,7 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: rake
168
+ name: guard-rspec
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
@@ -179,7 +179,7 @@ dependencies:
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
- name: rack-test
182
+ name: guard-rubocop
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
@@ -193,7 +193,7 @@ dependencies:
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
- name: rspec
196
+ name: rack-test
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - ">="
@@ -207,7 +207,7 @@ dependencies:
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
- name: guard-rspec
210
+ name: rake
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - ">="
@@ -221,7 +221,7 @@ dependencies:
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
- name: guard-rubocop
224
+ name: rspec
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - ">="
@@ -235,7 +235,7 @@ dependencies:
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
237
  - !ruby/object:Gem::Dependency
238
- name: codeclimate-test-reporter
238
+ name: simplecov
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - ">="
@@ -281,11 +281,11 @@ files:
281
281
  - lib/ki/ki_app.rb
282
282
  - lib/ki/ki_cli.rb
283
283
  - lib/ki/ki_config.rb
284
+ - lib/ki/ki_logger.rb
284
285
  - lib/ki/middleware/admin_interface_generator.rb
285
286
  - lib/ki/middleware/api_handler.rb
286
287
  - lib/ki/middleware/base_middleware.rb
287
288
  - lib/ki/middleware/coffee_compiler.rb
288
- - lib/ki/middleware/doc_generator.rb
289
289
  - lib/ki/middleware/haml_compiler.rb
290
290
  - lib/ki/middleware/helpers/format_of_helper.rb
291
291
  - lib/ki/middleware/helpers/haml_compiler_helper.rb
@@ -293,6 +293,7 @@ files:
293
293
  - lib/ki/middleware/helpers/redirect_to_helper.rb
294
294
  - lib/ki/middleware/helpers/view_helper.rb
295
295
  - lib/ki/middleware/init_middleware.rb
296
+ - lib/ki/middleware/insta_doc.rb
296
297
  - lib/ki/middleware/public_file_server.rb
297
298
  - lib/ki/middleware/realtime.rb
298
299
  - lib/ki/middleware/sass_compiler.rb
@@ -302,10 +303,13 @@ files:
302
303
  - lib/ki/modules/query_interface.rb
303
304
  - lib/ki/modules/restrictions.rb
304
305
  - lib/ki/orm.rb
306
+ - lib/ki/utils/annotations.rb
305
307
  - lib/ki/utils/api_error.rb
308
+ - lib/ki/utils/descendants.rb
306
309
  - lib/ki/utils/extra_irb.rb
307
310
  - lib/ki/utils/extra_ruby.rb
308
311
  - lib/ki/utils/indifferent_hash.rb
312
+ - lib/ki/utils/logger.rb
309
313
  - lib/ki/utils/redirect_to_helper.rb
310
314
  - lib/ki/version.rb
311
315
  - lib/ki/views/404.haml
@@ -316,10 +320,13 @@ files:
316
320
  - spec/examples/base/.ruby-version
317
321
  - spec/examples/base/Gemfile
318
322
  - spec/examples/base/app.rb
323
+ - spec/examples/base/client.rb
319
324
  - spec/examples/base/config.ru
320
325
  - spec/examples/base/config.yml
326
+ - spec/examples/base/logs/.keep
321
327
  - spec/examples/base/public/favicon.ico
322
328
  - spec/examples/base/public/javascripts/.gitkeep
329
+ - spec/examples/base/public/javascripts/app.js
323
330
  - spec/examples/base/public/stylesheets/.gitkeep
324
331
  - spec/examples/base/views/index.haml
325
332
  - spec/examples/couch-lock/.ruby-gemset
@@ -538,15 +545,17 @@ files:
538
545
  - spec/lib/ki/ki_config_spec.rb
539
546
  - spec/lib/ki/ki_spec.rb
540
547
  - spec/lib/ki/middleware/admin_generator_spec.rb
541
- - spec/lib/ki/middleware/doc_generator_spec.rb
542
548
  - spec/lib/ki/middleware/haml_compiler_spec.rb
543
549
  - spec/lib/ki/middleware/helpers/format_of_helper_spec.rb
544
550
  - spec/lib/ki/middleware/init_middleware_spec.rb
551
+ - spec/lib/ki/middleware/insta_doc_spec.rb
545
552
  - spec/lib/ki/middleware/realtime_spec.rb
546
553
  - spec/lib/ki/middleware_spec.rb
547
554
  - spec/lib/ki/model_spec.rb
548
555
  - spec/lib/ki/modules/model_helper_spec.rb
556
+ - spec/lib/ki/modules/restrictions_spec.rb
549
557
  - spec/lib/ki/orm_spec.rb
558
+ - spec/lib/ki/utils/api_error_spec.rb
550
559
  - spec/spec_helper.rb
551
560
  - spec/util_spec.rb
552
561
  homepage: https://github.com/mess110/ki
@@ -570,7 +579,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
570
579
  version: '0'
571
580
  requirements: []
572
581
  rubyforge_project:
573
- rubygems_version: 2.4.8
582
+ rubygems_version: 2.6.14
574
583
  signing_key:
575
584
  specification_version: 4
576
585
  summary: it said optional
@@ -580,10 +589,13 @@ test_files:
580
589
  - spec/examples/base/.ruby-version
581
590
  - spec/examples/base/Gemfile
582
591
  - spec/examples/base/app.rb
592
+ - spec/examples/base/client.rb
583
593
  - spec/examples/base/config.ru
584
594
  - spec/examples/base/config.yml
595
+ - spec/examples/base/logs/.keep
585
596
  - spec/examples/base/public/favicon.ico
586
597
  - spec/examples/base/public/javascripts/.gitkeep
598
+ - spec/examples/base/public/javascripts/app.js
587
599
  - spec/examples/base/public/stylesheets/.gitkeep
588
600
  - spec/examples/base/views/index.haml
589
601
  - spec/examples/couch-lock/.ruby-gemset
@@ -802,14 +814,16 @@ test_files:
802
814
  - spec/lib/ki/ki_config_spec.rb
803
815
  - spec/lib/ki/ki_spec.rb
804
816
  - spec/lib/ki/middleware/admin_generator_spec.rb
805
- - spec/lib/ki/middleware/doc_generator_spec.rb
806
817
  - spec/lib/ki/middleware/haml_compiler_spec.rb
807
818
  - spec/lib/ki/middleware/helpers/format_of_helper_spec.rb
808
819
  - spec/lib/ki/middleware/init_middleware_spec.rb
820
+ - spec/lib/ki/middleware/insta_doc_spec.rb
809
821
  - spec/lib/ki/middleware/realtime_spec.rb
810
822
  - spec/lib/ki/middleware_spec.rb
811
823
  - spec/lib/ki/model_spec.rb
812
824
  - spec/lib/ki/modules/model_helper_spec.rb
825
+ - spec/lib/ki/modules/restrictions_spec.rb
813
826
  - spec/lib/ki/orm_spec.rb
827
+ - spec/lib/ki/utils/api_error_spec.rb
814
828
  - spec/spec_helper.rb
815
829
  - spec/util_spec.rb