grate 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28c2c1bea030e41a2d31403b2b04ba9de140eb6f52c030ffa022beef9d9c50ce
4
- data.tar.gz: 222cffb32ece9b10dd0af67cc276ac164b5fb1d5e819cb936efbe6ddfe80e52e
3
+ metadata.gz: 4a70268c20f6bf31cde24253f43e02b3f614866775ce0c68a2a3b95d529a1390
4
+ data.tar.gz: d751aa523f340cf9f093a2aad4c6a2978742b4c6d3aa72b089546b9c6d88f2fb
5
5
  SHA512:
6
- metadata.gz: 6b93863c3f53e5c352d112fe85094346ee6e57cdd21f5458d15939c48f3703782dfa2d19f048a8088eae20fba2a8fbc911627425bb9ff7a26878b7a1055b8df9
7
- data.tar.gz: 38745cd507af1160354a3c0a7b4c8ccdbfea6656f07a1a6a2561c754e8e4e794e399363f77977f48c6b032b4a1b60ffbf3072e508fd8d1e689562545f01256c0
6
+ metadata.gz: 62f486ccb3e873e9e70abf49f44a1a2ec12a1c852e854afdd56c8c7c861540567e8fb6ff96242ca5f01b92c1d171f0fb589fd8b1985cb33ea0336ba848e5262d
7
+ data.tar.gz: d0caecb988cc386730cdd76bcdd6f4d79307eee636bf5e65c61b30013cc0b2be1d945fd830be046b5485476742b4c93bd12e44225b5134a320a4f3cbf9d66a8f
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Grate
2
2
 
3
+ > It'll be grate
4
+
3
5
  Grate is a GraphQL framework inspired by Rails. Grate aims to make
4
6
  writing GraphQL APIs as simple and consistent as possible. Therefore,
5
7
  Grate applies the principles of least surprise and developer happiness.
data/ROADMAP.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Roadmap
2
2
 
3
- - Convert to Ruby gem
3
+ - ~~Convert to Ruby gem~~
4
4
  - Add generators for new model, type or controller
5
5
  - Add CLI helpers (`grate queries`)
6
6
  - Add mutation helpers
data/lib/grate/cli.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  require 'thor'
2
2
  require_relative './new_project'
3
+ require_relative './server'
3
4
  module Grate
4
5
  class CLI < Thor
5
6
  register(Grate::NewProject, 'new', 'new NAME', 'Creates a new project')
7
+ register(Grate::Server, 'server', 'server', 'Runs the grate server')
6
8
  end
7
9
  end
8
10
 
@@ -1,4 +1,5 @@
1
1
  require 'find'
2
+ require 'active_support/inflector'
2
3
  module Grate
3
4
  class NewProject < Thor::Group
4
5
  include Thor::Actions
@@ -15,6 +16,8 @@ module Grate
15
16
  end
16
17
 
17
18
  def create_files
19
+ @camel_name = classify(name)
20
+ @snake_name = snake_case(name)
18
21
  templates_dir = File.join(__dir__, "..", "..", 'templates')
19
22
  Find.find(templates_dir) do |file|
20
23
  case File.extname(file)
@@ -33,6 +36,12 @@ module Grate
33
36
  path.gsub(/.*templates\//, "")
34
37
  end
35
38
 
39
+ def snake_case(name)
40
+ name.gsub("_", "-").underscore
41
+ end
42
+ def classify(name)
43
+ name.gsub("-", "_").camelize
44
+ end
36
45
  end
37
46
  end
38
47
 
@@ -0,0 +1,9 @@
1
+ require 'pathname'
2
+ module Grate
3
+ class Server < Thor::Group
4
+
5
+ def run_server
6
+ `rackup` if FileTest.exist?(File.join(Dir.pwd, 'config.ru'))
7
+ end
8
+ end
9
+ end
data/lib/grate/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Grate
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  development:
2
- database: <%= "#{name}_database" %>
2
+ database: <%= "#{@snake_name}_database" %>
3
3
  username: nicholas
4
4
  host: localhost
5
5
  password:
@@ -17,7 +17,7 @@ require_relative './app/controllers/application_controller.rb'
17
17
  require_relative './app/schema'
18
18
 
19
19
 
20
- class <%= name.capitalize %>Application
20
+ class <%= @camel_name %>Application
21
21
  def call(env)
22
22
  req = Rack::Request.new(env)
23
23
  params = JSON.parse(req.body.read)
@@ -26,4 +26,4 @@ class <%= name.capitalize %>Application
26
26
  end
27
27
  end
28
28
 
29
- run <%= name.capitalize %>Application.new
29
+ run <%= @camel_name %>Application.new
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Yang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-26 00:00:00.000000000 Z
11
+ date: 2018-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -191,6 +191,7 @@ files:
191
191
  - lib/grate/cli.rb
192
192
  - lib/grate/graphql_object.rb
193
193
  - lib/grate/new_project.rb
194
+ - lib/grate/server.rb
194
195
  - lib/grate/version.rb
195
196
  - templates/app/controllers/application_controller.rb.tt
196
197
  - templates/app/models/application_model.rb.tt