cuba-template-generator 0.0.8 → 0.1.0

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
  SHA1:
3
- metadata.gz: facabc4ede4091ec83ad35640765fc6b5ceeda15
4
- data.tar.gz: 10079bc95a44d424634a1b910a10cbac59ad2468
3
+ metadata.gz: 35954643d0459816829c12ad1c058c65e62ea909
4
+ data.tar.gz: 4f70c3e2c88c69c729e4351afab487f16799d551
5
5
  SHA512:
6
- metadata.gz: 69205e075495bd9aa40daf3719504ff36f424c1fdf84d75aec5d8f538d5df010837790fc9ab54b9a58ff749849d0a38a1803cfda49af7b8eac4bd74860da8f13
7
- data.tar.gz: 0655da49c76ba0d180668c24343e45be8296c0181bb9b4cc059b6121370e9f9644aecdfef702e3300e37a8af179c9ba2e8407275c90510abf573808ec47f82c5
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 ***-database*** option (via Datamapper)
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
@@ -1,9 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- #!/usr/bin/env ruby
4
-
5
- # encoding: utf-8
6
-
7
3
  $LOAD_PATH.unshift(File.dirname(File.realpath(__FILE__)) + '/../lib')
8
4
  require 'cuba/generator/cli'
9
5
  Cuba::Cli.new.run
@@ -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")
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Cuba
2
2
  class Generator
3
- VERSION = "0.0.8"
3
+ VERSION = "0.1.0"
4
4
  end
5
5
  end
@@ -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
- gem 'data_mapper'
8
- gem 'dm-postgres-adapter'
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 'data_mapper'
5
-
6
- DataMapper.setup(:default, 'postgres://username@localhost/db_name')
7
-
8
- # Here's an example User model
9
- # class User
10
- # include DataMapper::Resource
11
- #
12
- # property :id, Serial # An auto-increment integer key
13
- # property :email, String # A varchar type string, for short strings
14
- # property :created_at, DateTime # A DateTime, for any date you might like.
15
- # property :updated_at, DateTime
16
- # end
17
-
18
- DataMapper.finalize
19
- DataMapper.auto_upgrade!
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
+ %>
@@ -1,7 +1,7 @@
1
1
  require 'cuba/generator'
2
2
 
3
3
  describe Cuba::Generator do
4
- subject { Cuba::Generator.new('myProject') }
4
+ subject = Cuba::Generator.new('myProject','app')
5
5
 
6
6
  it 'create_dir' do
7
7
  expect(Dir).to receive(:mkdir)
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.8
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-07 00:00:00.000000000 Z
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: {}