g2 0.0.4 → 0.0.5
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/g2.gemspec +4 -3
- data/lib/g2/cli.rb +28 -3
- data/lib/g2/templates/database.erb +3 -3
- data/lib/g2/templates/generator/api.erb +11 -0
- data/lib/g2/templates/generator/migration.erb +4 -0
- data/lib/g2/templates/generator/model.erb +2 -0
- data/lib/g2/templates/rakefile.erb +12 -6
- data/lib/g2/templates/spec_helper.erb +10 -8
- data/lib/g2/version.rb +1 -1
- data/spec/lib/g2/cli_spec.rb +0 -1
- metadata +22 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 157d4cf0b48b61090fe4a28fd8fcca56d812dc24
|
4
|
+
data.tar.gz: a103604449935a3d17a0ab90e1ace5b1802b2a6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c858ff0e03857b6d397cc341b9922aa06106d5fa6e8c62834c049d788a7c814ea0c59a4cc8860138c45547c8119f891650547e7327ec789917ed8068fceb0b5d
|
7
|
+
data.tar.gz: 21fcfa31fb827a4dec2d94658c8216529be37128a30cb677c3ded1cb1a2d94a4ddeaa8605d0b4dff40637e6236474f85c571455ace494853e4661ddd47dc3eca
|
data/g2.gemspec
CHANGED
@@ -18,7 +18,8 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.
|
22
|
-
spec.
|
23
|
-
spec.
|
21
|
+
spec.add_runtime_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_runtime_dependency "thor"
|
23
|
+
spec.add_runtime_dependency "activesupport"
|
24
|
+
spec.add_runtime_dependency "rake"
|
24
25
|
end
|
data/lib/g2/cli.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "thor"
|
2
|
+
require "active_support/inflector"
|
2
3
|
|
3
4
|
module G2
|
4
5
|
class Cli < Thor
|
@@ -12,7 +13,7 @@ module G2
|
|
12
13
|
@app_name = app_root.capitalize
|
13
14
|
|
14
15
|
# create folder structure
|
15
|
-
%w{app app/apis app/helpers app/models config config/environments db script log tmp
|
16
|
+
%w{app app/apis app/helpers app/models config config/environments db script log tmp spec spec/apis spec/models spec/helpers}.each do |item|
|
16
17
|
empty_directory app_root + "/" + item
|
17
18
|
end
|
18
19
|
|
@@ -65,9 +66,33 @@ module G2
|
|
65
66
|
end
|
66
67
|
|
67
68
|
desc "g", "generate files"
|
68
|
-
def g
|
69
|
-
|
69
|
+
def g g_type, g_name, *args
|
70
|
+
@class_name = g_name.camelize
|
71
|
+
case g_type
|
72
|
+
when "model"
|
73
|
+
generate_model g_name, args
|
74
|
+
when "migration"
|
75
|
+
generate_migration g_name, args
|
76
|
+
when "api"
|
77
|
+
@resources_symbol = g_name.to_sym
|
78
|
+
generate_api g_name, args
|
79
|
+
else
|
80
|
+
puts "invalid generator type"
|
81
|
+
end
|
70
82
|
end
|
71
83
|
|
84
|
+
private
|
85
|
+
|
86
|
+
def generate_model name, *args
|
87
|
+
template "templates/generator/model.erb", File.join('app/models', "#{name}.rb")
|
88
|
+
end
|
89
|
+
|
90
|
+
def generate_migration name, *args
|
91
|
+
template "templates/generator/migration.erb", File.join('db/migrate', "#{Time.now.to_i}_#{name}.rb")
|
92
|
+
end
|
93
|
+
|
94
|
+
def generate_api name, *args
|
95
|
+
template "templates/generator/api.erb", File.join('app/apis', "#{name}_api.rb")
|
96
|
+
end
|
72
97
|
end
|
73
98
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
defaults: &defaults
|
2
|
-
adapter:
|
2
|
+
adapter: em_mysql2
|
3
3
|
encoding: utf8
|
4
4
|
pool: 5
|
5
5
|
host: localhost
|
@@ -8,9 +8,9 @@ defaults: &defaults
|
|
8
8
|
|
9
9
|
development:
|
10
10
|
<<: *defaults
|
11
|
-
database: <%= @app_name %>_development
|
11
|
+
database: <%= @app_name.downcase %>_development
|
12
12
|
|
13
13
|
test:
|
14
14
|
<<: *defaults
|
15
|
-
database: <%= @app_name %>_test
|
15
|
+
database: <%= @app_name.downcase %>_test
|
16
16
|
|
@@ -4,14 +4,14 @@ require 'em-synchrony/activerecord'
|
|
4
4
|
require 'yaml'
|
5
5
|
|
6
6
|
def db_conf
|
7
|
-
|
7
|
+
YAML.load File.read('config/database.yml')
|
8
8
|
end
|
9
9
|
|
10
10
|
namespace :db do
|
11
11
|
desc "loads database configuration in for other tasks to run"
|
12
12
|
task :load_config do
|
13
|
-
env = ENV["G2_ENV"]
|
14
|
-
ActiveRecord::Base.establish_connection db_conf[env]
|
13
|
+
$env = ENV["G2_ENV"] || "development"
|
14
|
+
ActiveRecord::Base.establish_connection db_conf[$env]
|
15
15
|
end
|
16
16
|
|
17
17
|
desc "creates and migrates your database"
|
@@ -21,7 +21,7 @@ namespace :db do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
desc "migrate your database"
|
24
|
-
task :migrate do
|
24
|
+
task :migrate => :load_config do
|
25
25
|
migration_path = ActiveRecord::Migrator.migrations_paths
|
26
26
|
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
27
27
|
ActiveRecord::Migrator.migrate migration_path, version
|
@@ -29,12 +29,18 @@ namespace :db do
|
|
29
29
|
|
30
30
|
desc 'Drops the database'
|
31
31
|
task :drop => :load_config do
|
32
|
-
ActiveRecord::Base.connection.drop_database db_conf[env]['database']
|
32
|
+
ActiveRecord::Base.connection.drop_database db_conf[$env]['database']
|
33
|
+
puts "#{db_conf[$env]['database']} has been dropped"
|
33
34
|
end
|
34
35
|
|
35
36
|
desc 'Creates the database'
|
36
|
-
task :create
|
37
|
+
task :create do
|
38
|
+
env = ENV["G2_ENV"] || "development"
|
39
|
+
conf = db_conf[env]
|
40
|
+
conf.delete "database"
|
41
|
+
ActiveRecord::Base.establish_connection conf
|
37
42
|
ActiveRecord::Base.connection.create_database db_conf[env]['database']
|
43
|
+
puts "#{db_conf[env]['database']} has been created"
|
38
44
|
end
|
39
45
|
|
40
46
|
end
|
@@ -8,18 +8,20 @@ Goliath.env = :test
|
|
8
8
|
require File.expand_path('../../script/server', __FILE__)
|
9
9
|
|
10
10
|
module ApiTestHelper
|
11
|
-
def get path, params={}, &block
|
12
|
-
with_api Boot,
|
13
|
-
get_request path: path do |c|
|
14
|
-
|
11
|
+
def get path, params={}, options={}, &block
|
12
|
+
with_api Boot, options do
|
13
|
+
get_request path: path, query: params do |c|
|
14
|
+
json = JSON.parse c.response, symbolize_names: true
|
15
|
+
block.call c, json
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
19
|
-
def post path, params={}, &block
|
20
|
-
with_api Boot,
|
21
|
-
|
22
|
-
|
20
|
+
def post path, params={}, options={}, &block
|
21
|
+
with_api Boot, options do
|
22
|
+
post_request path: path, body: params do |c|
|
23
|
+
json = JSON.parse c.response, symbolize_names: true
|
24
|
+
block.call c, json
|
23
25
|
end
|
24
26
|
end
|
25
27
|
end
|
data/lib/g2/version.rb
CHANGED
data/spec/lib/g2/cli_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: g2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lizhe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -17,7 +17,7 @@ dependencies:
|
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
|
-
type: :
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
@@ -31,7 +31,21 @@ dependencies:
|
|
31
31
|
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
|
-
type: :
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activesupport
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
@@ -45,7 +59,7 @@ dependencies:
|
|
45
59
|
- - '>='
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '0'
|
48
|
-
type: :
|
62
|
+
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
@@ -74,6 +88,9 @@ files:
|
|
74
88
|
- lib/g2/templates/application.erb
|
75
89
|
- lib/g2/templates/database.erb
|
76
90
|
- lib/g2/templates/gemfile.erb
|
91
|
+
- lib/g2/templates/generator/api.erb
|
92
|
+
- lib/g2/templates/generator/migration.erb
|
93
|
+
- lib/g2/templates/generator/model.erb
|
77
94
|
- lib/g2/templates/guardfile.erb
|
78
95
|
- lib/g2/templates/rakefile.erb
|
79
96
|
- lib/g2/templates/rspec_config.erb
|