cuba-template-generator 0.0.8 → 0.1.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/README.md +5 -1
- data/Rakefile +4 -0
- data/bin/cuba +0 -4
- data/cuba-template-generator.gemspec +1 -1
- data/lib/cuba/generator/cli.rb +2 -0
- data/lib/cuba/generator/version.rb +1 -1
- data/lib/cuba/generator.rb +13 -0
- data/lib/cuba/templates/gemfile.erb +9 -4
- data/lib/cuba/templates/postgres.erb +18 -18
- data/lib/cuba/templates/sqlite.erb +28 -0
- data/spec/cuba_template_generator_spec.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35954643d0459816829c12ad1c058c65e62ea909
|
4
|
+
data.tar.gz: 4f70c3e2c88c69c729e4351afab487f16799d551
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82c9e0432a812eb4d991d7ba50317db2e5da7f8d4bba42132387965e66c13bb9d516eb7f62afda280daa459b38b87125a3c7dc52f306e00607c598f4185badf0
|
7
|
+
data.tar.gz: ead308e1a2587e352f74c592d6944dc7a38ca151e7d1af5a732c7fc315125a6eef4a6c9ec9301a75d591dc41f43d81a6afe07e2ca5180f6d815dd105c9d2b3ef
|
data/README.md
CHANGED
@@ -17,10 +17,14 @@ Additionally you can specify the type of your app via ***--type*** . E.g to gene
|
|
17
17
|
|
18
18
|
cuba new [projectName] --type api
|
19
19
|
|
20
|
-
To generate an application with a Postgresql configuration setup use
|
20
|
+
To generate an application with a Postgresql configuration setup use ***--database*** option (via Sequel)
|
21
21
|
|
22
22
|
cuba new [projectName] --database postgresql
|
23
|
+
|
24
|
+
To generate an application with a Sqlite configuration setup use ***--database*** option (via Sequel)
|
23
25
|
|
26
|
+
cuba new [projectName] --database sqlite
|
27
|
+
|
24
28
|
By default ***--type*** is 'app'.
|
25
29
|
|
26
30
|
## Contributing
|
data/Rakefile
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
|
+
require 'fileutils'
|
3
4
|
|
4
5
|
RSpec::Core::RakeTask.new(:spec) do |task|
|
5
6
|
task.rspec_opts = ['--color', '--format progress', '--order random']
|
7
|
+
at_exit do
|
8
|
+
FileUtils.remove_entry_secure('myproject')
|
9
|
+
end
|
6
10
|
end
|
7
11
|
|
8
12
|
task :default => :spec
|
data/bin/cuba
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ['ma.dmviera01@gmail.com']
|
11
11
|
spec.summary = %q{Application Generator for Cuba framework.}
|
12
12
|
spec.description = %q{Helps create cuba projects through a minimalist generator.}
|
13
|
-
spec.homepage = ''
|
13
|
+
spec.homepage = 'https://rangeroob.github.io/cuba-template-generator/'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
data/lib/cuba/generator/cli.rb
CHANGED
@@ -20,9 +20,11 @@ module Cuba
|
|
20
20
|
if options.type
|
21
21
|
generator = Cuba::Generator.new(ARGV[1], options.type)
|
22
22
|
generator.create_postgres_file if options.database == 'postgresql'
|
23
|
+
generartor.create_sqlite_file if options.database == 'sqlite'
|
23
24
|
else
|
24
25
|
generator = Cuba::Generator.new(ARGV[1], :app)
|
25
26
|
generator.create_postgres_file if options.database == 'postgresql'
|
27
|
+
generator.create_sqlite_file if options.database == 'sqlite'
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
data/lib/cuba/generator.rb
CHANGED
@@ -40,6 +40,15 @@ module Cuba
|
|
40
40
|
file.write setup_gemfile
|
41
41
|
end
|
42
42
|
end
|
43
|
+
|
44
|
+
def create_sqlite_file
|
45
|
+
File.open("./#{@project_name}/sqlite.rb", 'w+') do |file|
|
46
|
+
file.write setup_sqlite
|
47
|
+
end
|
48
|
+
File.open("./#{@project_name}/Gemfile", 'w+') do |file|
|
49
|
+
file.write setup_gemfile
|
50
|
+
end
|
51
|
+
end
|
43
52
|
|
44
53
|
private
|
45
54
|
|
@@ -58,6 +67,10 @@ module Cuba
|
|
58
67
|
def setup_postgres
|
59
68
|
create_template 'postgres'
|
60
69
|
end
|
70
|
+
|
71
|
+
def setup_sqlite
|
72
|
+
create_template 'sqlite'
|
73
|
+
end
|
61
74
|
|
62
75
|
def setup_gemfile
|
63
76
|
create_template 'gemfile'
|
@@ -4,8 +4,13 @@
|
|
4
4
|
source "https://rubygems.org"
|
5
5
|
|
6
6
|
gem 'cuba'
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
# uncomment needed dependencies
|
8
|
+
# and run bundle install
|
9
|
+
# database dependencies
|
10
|
+
# gem 'sequel'
|
11
|
+
# postgresql dependencies
|
12
|
+
# gem 'pg'
|
13
|
+
# sqlite dependencies
|
14
|
+
#gem 'sqlite3'
|
10
15
|
TEMPLATE
|
11
|
-
%>
|
16
|
+
%>
|
@@ -1,22 +1,22 @@
|
|
1
1
|
<%=
|
2
2
|
<<-TEMPLATE
|
3
|
-
|
4
|
-
require '
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
#
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
#
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
3
|
+
require 'fileutils'
|
4
|
+
require 'sequel'
|
5
|
+
unless Dir.exist?('db')
|
6
|
+
FileUtils.mkdir 'db'
|
7
|
+
end
|
8
|
+
DB = Sequel.connect('postgres://user:password@host:port/database_name') # requires pg
|
9
|
+
# create an items table
|
10
|
+
DB.create_table :items do
|
11
|
+
primary_key :id
|
12
|
+
String :name
|
13
|
+
Float :price
|
14
|
+
end
|
15
|
+
# create a dataset from the items table
|
16
|
+
items = DB[:items]
|
17
|
+
# populate the table
|
18
|
+
items.insert(:name => 'abc', :price => rand * 100)
|
19
|
+
items.insert(:name => 'def', :price => rand * 100)
|
20
|
+
items.insert(:name => 'ghi', :price => rand * 100)
|
21
21
|
TEMPLATE
|
22
22
|
%>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<%=
|
2
|
+
<<-TEMPLATE
|
3
|
+
require 'fileutils'
|
4
|
+
require 'sequel'
|
5
|
+
|
6
|
+
unless Dir.exist?('db')
|
7
|
+
FileUtils.mkdir 'db'
|
8
|
+
end
|
9
|
+
DB = Sequel.connect('sqlite://db/sqlite.db') # requires sqlite3
|
10
|
+
|
11
|
+
# create an items table
|
12
|
+
DB.create_table :items do
|
13
|
+
primary_key :id
|
14
|
+
String :name
|
15
|
+
Float :price
|
16
|
+
end
|
17
|
+
|
18
|
+
# create a dataset from the items table
|
19
|
+
items = DB[:items]
|
20
|
+
|
21
|
+
# populate the table
|
22
|
+
items.insert(:name => 'abc', :price => rand * 100)
|
23
|
+
items.insert(:name => 'def', :price => rand * 100)
|
24
|
+
items.insert(:name => 'ghi', :price => rand * 100)
|
25
|
+
|
26
|
+
|
27
|
+
TEMPLATE
|
28
|
+
%>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuba-template-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derek Viera
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -104,8 +104,9 @@ files:
|
|
104
104
|
- lib/cuba/templates/gemfile.erb
|
105
105
|
- lib/cuba/templates/postgres.erb
|
106
106
|
- lib/cuba/templates/rack_config.erb
|
107
|
+
- lib/cuba/templates/sqlite.erb
|
107
108
|
- spec/cuba_template_generator_spec.rb
|
108
|
-
homepage:
|
109
|
+
homepage: https://rangeroob.github.io/cuba-template-generator/
|
109
110
|
licenses:
|
110
111
|
- MIT
|
111
112
|
metadata: {}
|