whales 0.1.1 → 0.1.2

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -4
  3. data/exe/whales +51 -60
  4. metadata +24 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c973de77c80a73bd76fca8245db409ec02751af
4
- data.tar.gz: c74ef37085411dc87f1a7aca7f0a030a47735582
3
+ metadata.gz: 432eca4b7237146ea26c438eff7cff039ca635e9
4
+ data.tar.gz: e992aeb760254fb76f380b1173f30872690fdba3
5
5
  SHA512:
6
- metadata.gz: a2be9212612412616df134c5469f2dcc414f5c090cfb7df0e445c15a802ca65d7c157467978831cdb570a3408d9a6e07cc622dc35c46739d6cd9c86e63c78acc
7
- data.tar.gz: 73763f054639512b13405470152d79d5a80058fded16d957bda19478a18daee7625b5c2ff5100e26666fa47e1b0bdc1fb37533afe535f4fa9622a1cfb2cc1071
6
+ metadata.gz: 944668bed427b2e7fd759fe8cf8850e643f14006ebdad0c7158d78a9d2361a4a78ecb45155531aee707d73dbfda21cc405477d6bc885946b4839afd76320d2c4
7
+ data.tar.gz: 99e73783ac7b24d4bbbc04ead603cca0f395fdb3e365ddd4bfd5a8edc5e0ad268785c19d26fc5bd071dd05b10669ab26434a149423b630cfb680af18db28afd3
data/README.md CHANGED
@@ -6,19 +6,22 @@ is a lightweight web framework written in Ruby, inspired by popular MVC framewor
6
6
 
7
7
  ##Installation
8
8
 
9
- The easiest way to install Whales is to clone this repo.
9
+ Whales can be installed using RubyGems:
10
+ `gem install 'whales'`
11
+
12
+ Or you can include it directly in your projects Gemfile:
13
+ `gem 'whales', '0.1.1'`
10
14
 
11
15
  ##Your First Whales Project
12
16
  **Create a new app:**
13
17
  ```
14
- cd whales
15
- ./whales new MyApp
18
+ whales new MyApp
16
19
  ```
17
20
 
18
21
  **Start working:**
19
22
  ```
20
23
  # cd into the new folder
21
- cd ../MyApp
24
+ cd MyApp
22
25
 
23
26
  # start the server
24
27
  whales server
data/exe/whales CHANGED
@@ -1,64 +1,66 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ require 'optparse'
3
4
  require 'fileutils'
4
5
  include FileUtils
6
+ require 'whales_orm'
5
7
 
6
- if ARGV.first == 'new' && ARGV[1]
7
- puts "Making new Whales App:"
8
- app_name = ARGV[1]
9
- display = {verbose: true}
8
+ options = {}
9
+
10
+ subtext = <<HELP
11
+ Commonly used command are:
12
+ new : creates new Whales app
13
+ server : start a Whales app server
14
+ See 'whales COMMAND --help' for more information on a specific command.
15
+ HELP
16
+
17
+ global = OptionParser.new do |opts|
18
+ opts.banner = "Usage: whales [options] [subcommand [options]]"
19
+ opts.on("-q", "--quiet", "Run verbosely") do
20
+ options[:verbose] = false
21
+ end
22
+ opts.separator ""
23
+ opts.separator subtext
24
+ end
25
+ # end.parse!
26
+
27
+ subcommands = {
28
+ 'new' => OptionParser.new do |opts|
29
+ opts.banner = "Usage: new [app_name] [options]"
30
+ end,
31
+ 'server' => OptionParser.new do |opts|
32
+ opts.banner = "Usage: server [options]"
33
+ end
34
+ }
10
35
 
36
+ global.order!
37
+ command = ARGV.shift
38
+ subcommands[command].order!
39
+
40
+ options[:verbose] = true if options[:verbose].nil?
41
+
42
+ case command
43
+ when 'new'
44
+ puts "Making new Whales App:"
45
+ app_name = ARGV.shift
46
+ display = { verbose: options[:verbose] }
11
47
  mkdir app_name, display
12
48
  cd app_name
13
49
  touch "routes.rb", display
14
- File.open("routes.rb", 'w') do |f|
15
- f.write <<-TEXT
16
- require_relative '../whales/whales_actions/lib/whales_controller/base'
17
-
18
- def make_router
19
- router = WhalesDispatch::Router.new
20
-
21
- router.draw do
22
- # include routes using this syntax:
23
- # get Regexp.new("^/users/new$"), UsersController, :new
24
- # or
25
- # resources :users, :parent, only: [:new]
26
- #
27
- # nested resources are given as blocks to :parent resources
28
- # resources :posts, :parent do
29
- # resources :comments, :nested, only: [:index, :new, :create]
30
- # end
31
- end
32
50
 
33
- router
34
- end
35
- TEXT
51
+ File.open("routes.rb", 'w') do |f|
52
+ f.write File.read(File.join(__dir__, '../template/routes.rb'))
36
53
  end
37
54
 
38
55
  touch "Gemfile", display
39
56
  File.open("Gemfile", "w") do |f|
40
- f.write <<-TEXT
41
- source 'https://rubygems.org'\n
42
-
43
- require 'whales'
44
- TEXT
57
+ f.write File.read(File.join(__dir__, '../template/Gemfile'))
45
58
  end
46
59
 
47
60
  mkdir "config", display
48
61
  touch "config/database.rb", display
49
62
  File.open("config/database.rb", "w") do |f|
50
- f.write <<-TEXT
51
- require 'whales_orm'
52
-
53
- # https://tomafro.net/2010/01/tip-relative-paths-with-file-expand-path
54
- ROOT_FOLDER = File.join(File.dirname(__FILE__), '../db')
55
-
56
- # sql file name goes here, the default is database.sql
57
- SQL_FILE = File.join(ROOT_FOLDER, 'database.sql')
58
-
59
- # Here you can configure where you want the database file to be saved
60
- DB_FILE = File.join(ROOT_FOLDER, 'database.db')
61
- TEXT
63
+ f.write File.read(File.join(__dir__, '../template/database.rb'))
62
64
  end
63
65
 
64
66
  mkdir "db", display
@@ -68,32 +70,21 @@ DB_FILE = File.join(ROOT_FOLDER, 'database.db')
68
70
 
69
71
  touch "app/controllers/application_controller.rb", display
70
72
  File.open("app/controllers/application_controller.rb", "w") do |f|
71
- f.write <<-TEXT
72
- require 'whales_actions'
73
- require_relative '../../config/database.rb'
74
-
75
- class ApplicationController < WhalesController::Base
76
- end
77
- TEXT
73
+ f.write File.read(File.join(__dir__, '../template/application_controller.rb'))
78
74
  end
79
75
 
80
76
  cd 'app'
81
77
  mkdir 'models', display
82
78
  mkdir 'views'
83
-
84
- end
85
-
86
- # if ARGV.first == 'server' || ARGV.first == 's'
87
- # start_server(router)
88
- # end
89
-
90
- if ARGV.first == 'generate' || ARGV.first == 'g' && ARGV.length == 3
79
+ when "server" || "s"
80
+ puts $LOAD_PATH
81
+ require_relative "../../whales_app/routes"
82
+ require_relative "../server"
83
+ start_server(make_router)
84
+ when 'generate' || 'g'
91
85
  type = ARGV[1]
92
86
  name = ARGV[2]
93
87
 
94
- path = "app/#{type}s/#{name.downcase}.rb"
95
- touch path
96
-
97
88
  if type == "model"
98
89
  path = "app/#{type}s/#{name.downcase}.rb"
99
90
  touch path
metadata CHANGED
@@ -1,57 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whales
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Horton
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-09 00:00:00.000000000 Z
11
+ date: 2015-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.10'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.10'
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.4.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 10.4.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: whales_actions
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - '='
32
46
  - !ruby/object:Gem::Version
33
- version: 0.1.1
47
+ version: 0.1.2
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - '='
39
53
  - !ruby/object:Gem::Version
40
- version: 0.1.1
54
+ version: 0.1.2
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: whales_orm
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - '='
46
60
  - !ruby/object:Gem::Version
47
- version: 0.1.1
61
+ version: 0.1.2
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - '='
53
67
  - !ruby/object:Gem::Version
54
- version: 0.1.1
68
+ version: 0.1.2
55
69
  description:
56
70
  email:
57
71
  - wdt.horton@gmail.com