whales 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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