autogen_sindb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: dd58b50afea4e63b75f923fafa0d0e30123266997396fb754a0f5a99859617cf
4
+ data.tar.gz: 24586b9df9baa76e647949b51ed38e44fd0301b984e99362af40047c01d1bae8
5
+ SHA512:
6
+ metadata.gz: a06f9d3567f049c163a7ec888f85a69268ea25d48719f2a75f3fc28161abc77d304f879e2874c66d24b5748e33c5bea2771e5e8085a2d05327c8f29fabee8a8a
7
+ data.tar.gz: fa7fe1da5c218010bf39f24413498c79b3f800a728da778de11e9ad7764ad80bbe5eb798555580b8819911b8d331689dd09b7edaa48af58ff6eaccbfdecd60c9
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../config/env'
4
+
5
+ SinatrabaseFs::StructureMe.new.gen
6
+
@@ -0,0 +1,7 @@
1
+ # LIBRARIES
2
+ require 'fileutils'
3
+ require 'pry'
4
+
5
+ # MAIN ENVIRONMENT
6
+ require_relative "../lib/sinatrabase_fs/version"
7
+ require_relative "../lib/sinatrabase_fs/structure_me"
@@ -0,0 +1,6 @@
1
+ require "sinatrabase_fs/version"
2
+
3
+ module SinatrabaseFs
4
+ class Error < StandardError; end
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,88 @@
1
+ class SinatrabaseFs::StructureMe
2
+
3
+ def gen
4
+ make_dirs
5
+ make_dir_files
6
+ write_to_app_controllers_app_rb
7
+ write_to_app_models_model_rb
8
+ write_to_app_views_erb_file_erb
9
+ write_to_config_environment_rb
10
+ write_to_config_ru
11
+ write_to_gemfile
12
+ write_to_rakefile
13
+ end
14
+
15
+ def make_dirs
16
+ curr_dir = Dir.pwd
17
+ # root = "/sinatrabase_fs"
18
+
19
+ FileUtils.cd(curr_dir) do |dir|
20
+ %w(app app/controllers app/models app/views config public public/css public/images public/js db/migrate spec).each do |directory|
21
+ FileUtils.mkdir_p(directory)
22
+ end
23
+ end
24
+ end
25
+
26
+ def make_dir_files
27
+ %w(app/controllers/app.rb app/models/model.rb app/views/erb_file.erb config/environment.rb spec/test.rb config.ru Gemfile Rakefile README.md).each do |file|
28
+ FileUtils.touch file
29
+ end
30
+ end
31
+
32
+ def write_to_app_controllers_app_rb
33
+ FileUtils.cd(Dir.pwd) do |dir|
34
+ file = File.open("app/controllers/app.rb", 'w')
35
+ file.puts "require_relative 'config/environment'\n\nclass App < Sinatra::Base\nend"
36
+ file.close
37
+ end
38
+ end
39
+
40
+ def write_to_app_models_model_rb
41
+ FileUtils.cd(Dir.pwd) do |dir|
42
+ file = File.open("app/models/model.rb", 'w')
43
+ file.puts "#WRITE YOUR MODEL HERE"
44
+ file.close
45
+ end
46
+ end
47
+
48
+ def write_to_app_views_erb_file_erb
49
+ FileUtils.cd(Dir.pwd) do |dir|
50
+ file = File.open("app/views/erb_file.erb", 'w')
51
+ file.puts "#WRITE YOUR TEMPLATE HERE"
52
+ file.close
53
+ end
54
+ end
55
+
56
+ def write_to_config_environment_rb
57
+ FileUtils.cd(Dir.pwd) do |dir|
58
+ file = File.open("config/environment.rb", 'w')
59
+ file.puts "ENV['SINATRA_ENV'] ||= \"development\"\n\nrequire 'bundler/setup'\nBundler.require(:default, ENV['SINATRA_ENV'])\n\n# SET CONNECTION TO DATABASE\nconfigure :development do\n\tset :database, 'sqlite3:db/database.db'\nend\n\nrequire './app'"
60
+ file.close
61
+ end
62
+ end
63
+
64
+ def write_to_config_ru
65
+ FileUtils.cd(Dir.pwd) do |dir|
66
+ file = File.open("config.ru", 'w')
67
+ file.puts "require './config/environment'\n\nrun App # or whatever the app controller module/class name you want eg. Application"
68
+ file.close
69
+ end
70
+ end
71
+
72
+ def write_to_gemfile
73
+ FileUtils.cd(Dir.pwd) do |dir|
74
+ file = File.open("Gemfile", 'w')
75
+ file.puts "source 'https://rubygems.org'\n\ngem 'sinatra'\ngem 'thin'\ngem 'require_all'\ngem 'activerecord', '5.2'\ngem 'sinatra-activerecord'\ngem 'rake'\n\ngroup :development do\n\tgem 'shotgun'\n\tgem 'pry'\n\tgem 'tux'\n\tgem 'sqlite3', '~> 1.3.6'\nend"
76
+ file.close
77
+ end
78
+ end
79
+
80
+ def write_to_rakefile
81
+ FileUtils.cd(Dir.pwd) do |dir|
82
+ file = File.open("Rakefile", 'w')
83
+ file.puts "require \"./config/environment\"\nrequire \"sinatra/activerecord/rake\""
84
+ file.close
85
+ end
86
+ end
87
+
88
+ end
@@ -0,0 +1,3 @@
1
+ module SinatrabaseFs
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: autogen_sindb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Naya Willis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-11-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description: This gem auto-generates a Sinatra and Database file structure. Modify
56
+ at your discretion
57
+ email:
58
+ - greedybrain18@gmail.com
59
+ executables:
60
+ - autogen_sindb
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - bin/autogen_sindb
65
+ - config/env.rb
66
+ - lib/sinatrabase_fs.rb
67
+ - lib/sinatrabase_fs/structure_me.rb
68
+ - lib/sinatrabase_fs/version.rb
69
+ homepage: https://github.com/greedybrain/AutoGenSinatraAndDatabaseFS
70
+ licenses:
71
+ - MIT
72
+ metadata:
73
+ homepage_uri: https://github.com/greedybrain/AutoGenSinatraAndDatabaseFS
74
+ source_code_uri: https://github.com/greedybrain/AutoGenSinatraAndDatabaseFS
75
+ changelog_uri: https://github.com/greedybrain/AutoGenSinatraAndDatabaseFS
76
+ post_install_message:
77
+ rdoc_options: []
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirements: []
91
+ rubygems_version: 3.0.3
92
+ signing_key:
93
+ specification_version: 4
94
+ summary: This gem auto-generates a Sinatra and Database file structure.
95
+ test_files: []