kanji-web 0.2.2 → 0.3.0
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 +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
|