kanji-web 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kanji/cli.rb +4 -1
- data/lib/kanji/cli/server.rb +32 -0
- data/lib/kanji/container.rb +0 -1
- data/lib/kanji/generators/project.rb +1 -1
- data/lib/kanji/graph/register_mutation.rb +6 -5
- data/lib/kanji/graph/register_object.rb +3 -3
- data/lib/kanji/templates/.env.test.tt +1 -0
- data/lib/kanji/templates/.env.tt +1 -0
- data/lib/kanji/templates/system/boot/graph.rb.tt +2 -4
- data/lib/kanji/templates/system/boot/monitor.rb.tt +6 -4
- data/lib/kanji/templates/system/boot/rom.rb.tt +4 -4
- data/lib/kanji/templates/system/boot/settings.rb.tt +2 -4
- data/lib/kanji/templates/system/project/container.rb.tt +2 -2
- data/lib/kanji/templates/system/project/settings.rb.tt +1 -0
- data/lib/kanji/version.rb +1 -1
- data/lib/kanji/web_container.rb +24 -0
- metadata +18 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 512e7dcf1cdfb757204cf5b9755a12bdb62b247e
|
4
|
+
data.tar.gz: 742c4dbffa9d83b5ddaef6559f3d0182a51996bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ce621e3bc1dfabff3e3ee83fca6b0c234707677f0c86efc0ef9337f2d328cf1b9c2c597cb374bff9a178244fe02c9f852c3221f055fdb365f814e297d737b6f
|
7
|
+
data.tar.gz: d2e49e0cc713edb8621928ad776cb6f5936a93afa515db045121e3c6fef90005a0c54d2d7a27e481ddff1dea14d902e62081debe347006f45388e781939c0337
|
data/lib/kanji/cli.rb
CHANGED
@@ -17,8 +17,11 @@ module Kanji
|
|
17
17
|
map "g" => "generate"
|
18
18
|
|
19
19
|
desc "server", "Start the application server"
|
20
|
+
method_option :port, default: 3300, aliases: "p"
|
20
21
|
def server
|
21
|
-
|
22
|
+
require "kanji/cli/server"
|
23
|
+
require_relative "#{Dir.pwd}/system/boot"
|
24
|
+
CLI::Server.start(options)
|
22
25
|
end
|
23
26
|
|
24
27
|
map "s" => "server"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require "rerun"
|
2
|
+
require "pathname"
|
3
|
+
require "dry/core/inflector"
|
4
|
+
|
5
|
+
module Kanji
|
6
|
+
class CLI < Thor
|
7
|
+
class Server
|
8
|
+
def self.start(options = {})
|
9
|
+
Rerun::Runner.keep_running(
|
10
|
+
"thin -R config.ru -a 127.0.0.1 -p #{options["port"]} -D start",
|
11
|
+
default_options
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.default_options
|
16
|
+
{
|
17
|
+
pattern: "**/*.rb",
|
18
|
+
signal: "TERM",
|
19
|
+
notify: false,
|
20
|
+
name: app_name,
|
21
|
+
ignore: [],
|
22
|
+
dir: ["app", "system"],
|
23
|
+
cmd: "rackup config.ru"
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.app_name
|
28
|
+
Dry::Core::Inflector.camelize(Pathname.getwd.basename.to_s)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/kanji/container.rb
CHANGED
@@ -49,7 +49,7 @@ end
|
|
49
49
|
Now open up `app/schema.rb` and uncomment the lines that add the
|
50
50
|
query and mutation types.
|
51
51
|
|
52
|
-
Start your server: `kanji s` and visit `localhost:
|
52
|
+
Start your server: `kanji s` and visit `localhost:3300/graphiql` and
|
53
53
|
start exploring!
|
54
54
|
TEXT
|
55
55
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "graphql"
|
2
2
|
require "dry-initializer"
|
3
3
|
require "kanji/types"
|
4
|
+
require "kanji/type/attribute"
|
4
5
|
require "kanji/graph/coerce_type"
|
5
6
|
|
6
7
|
module Kanji
|
@@ -8,11 +9,11 @@ module Kanji
|
|
8
9
|
class RegisterMutation
|
9
10
|
extend Dry::Initializer
|
10
11
|
|
11
|
-
option :return_type, Types::Class
|
12
|
-
option :attributes, Types::Strict::Array.member(Type::Attribute)
|
13
|
-
option :name, Types::Strict::String
|
14
|
-
option :description, Types::Strict::String, optional: true
|
15
|
-
option :resolve, Types::Callable
|
12
|
+
option :return_type, Kanji::Types::Class
|
13
|
+
option :attributes, Kanji::Types::Strict::Array.member(Kanji::Type::Attribute)
|
14
|
+
option :name, Kanji::Types::Strict::String
|
15
|
+
option :description, Kanji::Types::Strict::String, optional: true
|
16
|
+
option :resolve, Kanji::Types::Callable
|
16
17
|
|
17
18
|
def call
|
18
19
|
return_type = self.return_type
|
@@ -9,9 +9,9 @@ module Kanji
|
|
9
9
|
class RegisterObject
|
10
10
|
extend Dry::Initializer
|
11
11
|
|
12
|
-
option :attributes, Types::Strict::Array.member(Type::Attribute)
|
13
|
-
option :name, Types::Strict::String
|
14
|
-
option :description, Types::Strict::String, optional: true
|
12
|
+
option :attributes, Kanji::Types::Strict::Array.member(Kanji::Type::Attribute)
|
13
|
+
option :name, Kanji::Types::Strict::String
|
14
|
+
option :description, Kanji::Types::Strict::String, optional: true
|
15
15
|
|
16
16
|
def call
|
17
17
|
name = "#{self.name}Type"
|
data/lib/kanji/templates/.env.tt
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
+
require "kanji/graph/container"
|
2
|
+
|
1
3
|
<%= config[:camel_cased_app_name] %>::Container.namespace :graph do |container|
|
2
4
|
container.finalize :graph do
|
3
|
-
init do
|
4
|
-
require "kanji/graph/container"
|
5
|
-
end
|
6
|
-
|
7
5
|
start do
|
8
6
|
container.register :query, Kanji::Graph::Container[:query]
|
9
7
|
end
|
@@ -1,9 +1,11 @@
|
|
1
|
-
|
2
|
-
init do
|
3
|
-
require "dry/monitor"
|
4
|
-
end
|
1
|
+
require "dry/monitor"
|
5
2
|
|
3
|
+
<%= config[:camel_cased_app_name] %>::Container.finalize :monitor do |_container|
|
6
4
|
start do
|
7
5
|
Dry::Monitor::SQL::Logger.new(logger).subscribe(notifications)
|
6
|
+
|
7
|
+
if settings[:env] == "development"
|
8
|
+
Dry::Monitor::SQL::Logger.new(stdout_logger).subscribe(notifications)
|
9
|
+
end
|
8
10
|
end
|
9
11
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
+
require "sequel"
|
2
|
+
require "rom"
|
3
|
+
require "rom/sql"
|
4
|
+
|
1
5
|
<%= config[:camel_cased_app_name] %>::Container.namespace :persistence do |container|
|
2
6
|
container.finalize :rom do
|
3
7
|
init do
|
4
|
-
require "sequel"
|
5
|
-
require "rom"
|
6
|
-
require "rom/sql"
|
7
|
-
|
8
8
|
use :settings
|
9
9
|
use :monitor
|
10
10
|
|
@@ -1,8 +1,6 @@
|
|
1
|
-
<%= config[:
|
2
|
-
init do
|
3
|
-
require "<%= config[:underscored_project_name] %>/settings"
|
4
|
-
end
|
1
|
+
require "<%= config[:underscored_project_name] %>/settings"
|
5
2
|
|
3
|
+
<%= config[:camel_cased_app_name] %>::Container.finalize :settings do |container|
|
6
4
|
start do
|
7
5
|
settings = <%= config[:camel_cased_app_name] %>::Settings.load(container.config.root, container.config.env)
|
8
6
|
container.register :settings, settings
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require "
|
1
|
+
require "kanji/web_container"
|
2
2
|
|
3
3
|
module <%= config[:camel_cased_app_name] %>
|
4
|
-
class Container <
|
4
|
+
class Container < Kanji::WebContainer
|
5
5
|
configure do
|
6
6
|
config.name = :<%= config[:underscored_project_name] %>
|
7
7
|
config.listeners = true
|
data/lib/kanji/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require "dry/web/container"
|
2
|
+
|
3
|
+
module Kanji
|
4
|
+
class WebContainer < Dry::Web::Container
|
5
|
+
setting :stdout_logger
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def configure(&block)
|
9
|
+
super.configure_stdout_logger
|
10
|
+
|
11
|
+
return unless self[:settings][:env] == "development"
|
12
|
+
rack_logger = Dry::Monitor::Rack::Logger.new(self[:stdout_logger])
|
13
|
+
rack_logger.attach(self[:rack_monitor])
|
14
|
+
end
|
15
|
+
|
16
|
+
def configure_stdout_logger
|
17
|
+
config.stdout_logger = Dry::Monitor::Logger.new($stdout)
|
18
|
+
config.stdout_logger.level = Dry::Monitor::Logger::DEBUG
|
19
|
+
register(:stdout_logger, config.stdout_logger)
|
20
|
+
self
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kanji-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darin Haener
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '12.0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rerun
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - "~>"
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0.11'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - "~>"
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0.11'
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: roda
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,20 +290,6 @@ dependencies:
|
|
276
290
|
- - "~>"
|
277
291
|
- !ruby/object:Gem::Version
|
278
292
|
version: '1.3'
|
279
|
-
- !ruby/object:Gem::Dependency
|
280
|
-
name: shotgun
|
281
|
-
requirement: !ruby/object:Gem::Requirement
|
282
|
-
requirements:
|
283
|
-
- - "~>"
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: '0.9'
|
286
|
-
type: :runtime
|
287
|
-
prerelease: false
|
288
|
-
version_requirements: !ruby/object:Gem::Requirement
|
289
|
-
requirements:
|
290
|
-
- - "~>"
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: '0.9'
|
293
293
|
- !ruby/object:Gem::Dependency
|
294
294
|
name: thin
|
295
295
|
requirement: !ruby/object:Gem::Requirement
|
@@ -473,6 +473,7 @@ files:
|
|
473
473
|
- lib/kanji/application.rb
|
474
474
|
- lib/kanji/cli.rb
|
475
475
|
- lib/kanji/cli/generate.rb
|
476
|
+
- lib/kanji/cli/server.rb
|
476
477
|
- lib/kanji/container.rb
|
477
478
|
- lib/kanji/errors.rb
|
478
479
|
- lib/kanji/generate.rb
|
@@ -539,6 +540,7 @@ files:
|
|
539
540
|
- lib/kanji/types/callable.rb
|
540
541
|
- lib/kanji/types/type_interface.rb
|
541
542
|
- lib/kanji/version.rb
|
543
|
+
- lib/kanji/web_container.rb
|
542
544
|
homepage: https://github.com/dphaener/kanji
|
543
545
|
licenses:
|
544
546
|
- MIT
|