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 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: {}