ki 0.4.7 → 0.4.8

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: 506138e83d5016227ef6acdf6a5f7bf29e6191e8
4
- data.tar.gz: c79f376faf3bca31d325f41d0e760ab9fb774861
3
+ metadata.gz: 05daa22cbf6d4c768a89fd056e9a7f47f12c1f00
4
+ data.tar.gz: a8554246921419bd4ce9cc4e19351d95c0e7adfe
5
5
  SHA512:
6
- metadata.gz: 00331f90e93a2dab923bf5d3131c773fd5ffdd1f6e6bf0a914cabcd5069ff24c6e2b3a27aa99758ad25ed062cda3c995cfbb1bf88b806e13a399023f68da49c9
7
- data.tar.gz: b7d60288bbb44bdf9e7a0aa4b3502117bf36e5254131d762d514e951fcdcd163d0fe9f589b0168027f9d3aee248fe2ce39de73e4968d5093b819ff8a4998ae86
6
+ metadata.gz: 75a5ee2b3eaa5e094d51a2400255aacb9d0f957b60dd5b54cebbadad6464cb0aadaca806a2100c4fe19de0381d4801e72d991fa6e872c723a809a8f66812cf52
7
+ data.tar.gz: 4df4c3758be78fd5085bacb9a4a8b9f44a2d6a80b0ceecf53eefa94791beb53de63d8f78efd5b7274e22086975665787c441d6947f6efa76d703abcf080349ab
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ki (0.4.7)
4
+ ki (0.4.8)
5
5
  bson_ext
6
6
  bundler (~> 1.5)
7
7
  coffee-script
@@ -119,3 +119,6 @@ DEPENDENCIES
119
119
  rack-test
120
120
  rake
121
121
  rspec
122
+
123
+ BUNDLED WITH
124
+ 1.10.3
data/README.md CHANGED
@@ -386,3 +386,7 @@ Ki offers instant documentation. Add the middleware 'DocGenerator' and access
386
386
 
387
387
  Ki offers an instant administration interface. Add the middleware 'AdminIntefaceGenerator'
388
388
  and access */instadmin*.
389
+
390
+ ## Tasks
391
+
392
+ Ki offers a simple task framework. [More info here](https://github.com/mess110/ki/tree/master/spec/examples/tasks-examples/).
@@ -11,7 +11,7 @@ module Ki
11
11
  File.join(File.dirname(__FILE__), '..', '..')
12
12
  end
13
13
 
14
- def self.requies_ki_directory
14
+ def self.requires_ki_directory
15
15
  unless File.exist? 'config.ru'
16
16
  say 'Working directory should be a ki app.'
17
17
  exit 3
@@ -58,24 +58,50 @@ module Ki
58
58
  desc 'Starts the ki server'
59
59
 
60
60
  def start_server
61
- KiGenerator.requies_ki_directory
61
+ KiGenerator.requires_ki_directory
62
62
  `bundle exec rackup -o 0.0.0.0 -p #{port}`
63
63
  end
64
64
  end
65
65
 
66
66
  class DevConsole < KiGenerator
67
67
  def start_console
68
- KiGenerator.requies_ki_directory
68
+ KiGenerator.requires_ki_directory
69
69
  require './app'
70
70
  Ki.connect
71
71
  IRB.start_session(nil)
72
72
  end
73
73
  end
74
74
 
75
+ class KiTaskRunner < KiGenerator
76
+ argument :name, type: :string, desc: 'name of the task', default: 'ki_show_task_list_1337'
77
+ desc 'run ki tasks'
78
+
79
+ def run_ki_task
80
+ KiGenerator.requires_ki_directory
81
+
82
+ if name == 'ki_show_task_list_1337'
83
+ say Dir['tasks/**/*.rb']
84
+ else
85
+ task_path = File.join('tasks', "#{name}.rb")
86
+ unless File.exists?(task_path)
87
+ say "Task #{name} not found in ./tasks/"
88
+ exit 3
89
+ end
90
+ require './app'
91
+ Ki.connect
92
+ say "Running #{name} task."
93
+ say '-' * 80
94
+ require "./#{task_path}"
95
+ say '-' * 80
96
+ end
97
+ end
98
+ end
99
+
75
100
  class Main < Thor
76
101
  register AppGenerator, :new, 'new [APP_NAME]', 'generate a new app'
77
102
  register DevServer, :server, 'server [PORT]', "start the ki server. Default port is #{DevServer::DEFAULT_PORT}"
78
103
  register DevConsole, :console, 'console', 'start the console'
104
+ register KiTaskRunner, :tasks, 'tasks', 'list tasks'
79
105
  end
80
106
  end
81
107
  end
@@ -1,3 +1,3 @@
1
1
  module Ki
2
- VERSION = '0.4.7'
2
+ VERSION = '0.4.8'
3
3
  end
@@ -0,0 +1 @@
1
+ tasks-example
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'ki'
@@ -0,0 +1,24 @@
1
+ Ki Tasks Example
2
+ ================
3
+
4
+ The framework has a built in task system.
5
+
6
+ Tasks can be defined in the *tasks* directory and need to be valid ruby code.
7
+
8
+ You can see a list of tasks by running:
9
+
10
+ ```
11
+ ki tasks
12
+ ```
13
+
14
+ To run a specific task:
15
+
16
+ ```
17
+ ki tasks task_name
18
+ ```
19
+
20
+ In this project, we have a task called hello_world. You can run it with:
21
+
22
+ ```
23
+ ki tasks hello_world
24
+ ```
@@ -0,0 +1,6 @@
1
+ require 'ki'
2
+
3
+ # class Message < Ki::Model
4
+ # requires :title
5
+ # forbid :delete
6
+ # end
@@ -0,0 +1,3 @@
1
+ require './app'
2
+ use Rack::Reloader, 0
3
+ run Ki::Ki.new
@@ -0,0 +1,17 @@
1
+ development:
2
+ database:
3
+ name: tasks-example_development
4
+ host: 127.0.0.1
5
+ port: 27017
6
+
7
+ test:
8
+ database:
9
+ name: tasks-example_test
10
+ host: 127.0.0.1
11
+ port: 27017
12
+
13
+ production:
14
+ database:
15
+ name: tasks-example
16
+ host: 127.0.0.1
17
+ port: 27017
@@ -0,0 +1 @@
1
+ puts 'hello world'
@@ -0,0 +1,6 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title Ki Framework
5
+ %body
6
+ %p Hello World
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.4.8
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: 2015-04-23 00:00:00.000000000 Z
11
+ date: 2015-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -399,6 +399,18 @@ files:
399
399
  - spec/examples/json.northpole.ro/views/ruby.haml
400
400
  - spec/examples/json.northpole.ro/views/signup.haml
401
401
  - spec/examples/json.northpole.ro/views/thanks.haml
402
+ - spec/examples/tasks-example/.ruby-gemset
403
+ - spec/examples/tasks-example/.ruby-version
404
+ - spec/examples/tasks-example/Gemfile
405
+ - spec/examples/tasks-example/README.md
406
+ - spec/examples/tasks-example/app.rb
407
+ - spec/examples/tasks-example/config.ru
408
+ - spec/examples/tasks-example/config.yml
409
+ - spec/examples/tasks-example/public/favicon.ico
410
+ - spec/examples/tasks-example/public/javascripts/.gitkeep
411
+ - spec/examples/tasks-example/public/stylesheets/.gitkeep
412
+ - spec/examples/tasks-example/tasks/hello_world.rb
413
+ - spec/examples/tasks-example/views/index.haml
402
414
  - spec/examples/todo/.ruby-gemset
403
415
  - spec/examples/todo/.ruby-version
404
416
  - spec/examples/todo/Gemfile
@@ -447,7 +459,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
447
459
  version: '0'
448
460
  requirements: []
449
461
  rubyforge_project:
450
- rubygems_version: 2.4.5
462
+ rubygems_version: 2.4.7
451
463
  signing_key:
452
464
  specification_version: 4
453
465
  summary: it said optional
@@ -560,6 +572,18 @@ test_files:
560
572
  - spec/examples/json.northpole.ro/views/ruby.haml
561
573
  - spec/examples/json.northpole.ro/views/signup.haml
562
574
  - spec/examples/json.northpole.ro/views/thanks.haml
575
+ - spec/examples/tasks-example/.ruby-gemset
576
+ - spec/examples/tasks-example/.ruby-version
577
+ - spec/examples/tasks-example/Gemfile
578
+ - spec/examples/tasks-example/README.md
579
+ - spec/examples/tasks-example/app.rb
580
+ - spec/examples/tasks-example/config.ru
581
+ - spec/examples/tasks-example/config.yml
582
+ - spec/examples/tasks-example/public/favicon.ico
583
+ - spec/examples/tasks-example/public/javascripts/.gitkeep
584
+ - spec/examples/tasks-example/public/stylesheets/.gitkeep
585
+ - spec/examples/tasks-example/tasks/hello_world.rb
586
+ - spec/examples/tasks-example/views/index.haml
563
587
  - spec/examples/todo/.ruby-gemset
564
588
  - spec/examples/todo/.ruby-version
565
589
  - spec/examples/todo/Gemfile