ki 0.4.11 → 0.4.12

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.
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