vesper 0.5.2 → 0.6.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.
data/README.md CHANGED
@@ -6,10 +6,6 @@ You may need to sudo this:
6
6
 
7
7
  gem install vesper
8
8
 
9
- ## Getting Started
9
+ ## Options
10
10
 
11
- Create an app:
12
-
13
- vesper create MyApp
14
-
15
- Follow the on screen instructions, then take a look at http://localhost:9292.
11
+ vesper options
data/bin/vesper CHANGED
@@ -30,6 +30,14 @@ def show_options
30
30
  puts ' Should be run from inside an existing Vesper app.'
31
31
  puts ' Example: vesper create plugin MyPlugin'
32
32
  puts ''
33
+ puts ' vesper run test'
34
+ puts ' Summary: Runs a test using a file in /tests using MiniTest.'
35
+ puts ' Example: vesper run test hello_world'
36
+ puts ''
37
+ puts ' vesper run tests'
38
+ puts ' Summary: Runs tests on all the files in /tests using MiniTest'
39
+ puts ' Example: vesper run tests'
40
+ puts ''
33
41
  puts 'Documentation can be found online at: http://vesperapps.com/learn'
34
42
  puts ''
35
43
  puts 'Questions and comments should be send to: jarrodtaylor@me.com'
@@ -95,36 +103,44 @@ def install_plugin repo
95
103
  exec "bundle > /dev/null && echo '\n#{META_DATA[:name]} is installed in /plugins.\n'"
96
104
  end
97
105
 
98
-
99
- unless ARGV[0] && ARGV[1] && ARGV[2]
100
- show_options
101
- else
102
- command = ARGV[0]
103
- option = ARGV[1]
104
- name = ARGV[2]
105
-
106
- case command
107
- when 'create'
108
- if option == 'application' || option == 'app'
109
- create_app name
110
- elsif option == 'plugin'
111
- create_plugin name
112
- else
113
- show_options
114
- end
115
- when 'install'
116
- if option == 'plugin'
117
- install_plugin name
118
- else
119
- show_options
120
- end
121
- when 'remove'
122
- if option == 'plugin'
123
- remove_plugin name
124
- else
125
- show_options
126
- end
106
+ def run_test file
107
+ if File.exists? "./tests/#{file}.rb"
108
+ require 'minitest/autorun'
109
+ require 'vesper'
110
+ require "./tests/#{file}.rb"
127
111
  else
128
- show_options
112
+ puts ''
113
+ puts 'I can\'t find that test. Maybe there\'s a typ0?'
114
+ puts ''
129
115
  end
116
+ end
117
+
118
+ def run_tests
119
+ require 'minitest/autorun'
120
+ require 'vesper'
121
+ Dir["./tests/**/*"].each {|file| require file}
122
+ end
123
+
124
+
125
+ ARGV[0] && ARGV[1] ? command = "#{ARGV[0]} #{ARGV[1]}" : command = false
126
+ ARGV[2] ? option = ARGV[2] : option = false
127
+
128
+
129
+ case command
130
+ when 'create application'
131
+ option ? create_app(option) : show_options
132
+ when 'create app'
133
+ option ? create_app(option) : show_options
134
+ when 'create plugin'
135
+ option ? create_plugin(option) : show_options
136
+ when 'install plugin'
137
+ option ? install_plugin(option) : show_options
138
+ when 'remove plugin'
139
+ option ? remove_plugin(option) : show_options
140
+ when 'run test'
141
+ option ? run_test(option) : show_options
142
+ when 'run tests'
143
+ run_tests
144
+ else
145
+ show_options
130
146
  end
@@ -10,6 +10,8 @@
10
10
 
11
11
  # For route handling
12
12
  gem 'sinatra', '~> 1.3.1'
13
+
14
+ gem 'vesper', :require => false
13
15
 
14
16
  # For writing cron jobs in Ruby
15
17
  gem 'whenever', '~> 0.7.0', :require => false
@@ -1,8 +1,2 @@
1
- # Load the application
2
- require './loader.rb'
3
-
4
- # Load plugin Rake tasks
5
- Dir["./plugins/**/tasks/*"].each {|file| require file}
6
-
7
- # Load your custom Rake tasks
8
- Dir["./tasks/**/*"].each {|file| require file}
1
+ require 'vesper'
2
+ require 'vesper/rake'
@@ -5,16 +5,19 @@ get '/?' do
5
5
  erb :hello_world
6
6
  end
7
7
 
8
- # DataMapper model class
9
- # For more info: http://datamapper.org/
10
- #
11
- # class User
12
- # include DataMapper::Resource
13
- #
14
- # property :id, Serial
15
- # property :deleted_at, ParanoidDateTime
16
- # timestamps :at
17
- #
18
- # property :email, String
19
- #
20
- # end
8
+ class User
9
+ # DataMapper model class
10
+ # For more info: http://datamapper.org/
11
+ #
12
+ # include DataMapper::Resource
13
+ #
14
+ # property :id, Serial
15
+ # property :deleted_at, ParanoidDateTime
16
+ # timestamps :at
17
+ #
18
+ # property :email, String
19
+
20
+ def knock_knock
21
+ "Who's there?"
22
+ end
23
+ end
@@ -1,5 +1,4 @@
1
- # Load the application
2
- require './loader.rb'
1
+ require 'vesper'
3
2
 
4
3
  # Run the app on Rack
5
- run Sinatra::Application
4
+ run Sinatra::Application
@@ -0,0 +1,9 @@
1
+ class TestHelloWorld < MiniTest::Unit::TestCase
2
+ def setup
3
+ @user = User.new
4
+ end
5
+
6
+ def test_knock_knock_joke
7
+ assert_equal "Who's there?", @user.knock_knock
8
+ end
9
+ end
@@ -0,0 +1,4 @@
1
+ class Vesper::Rake
2
+ Dir["./plugins/**/tasks/*"].each {|file| require file}
3
+ Dir["./tasks/**/*"].each {|file| require file}
4
+ end
@@ -1,3 +1,3 @@
1
1
  module Vesper
2
- VERSION = "0.5.2"
2
+ VERSION = "0.6.0"
3
3
  end
data/lib/vesper.rb CHANGED
@@ -1,5 +1,22 @@
1
1
  require "vesper/version"
2
2
 
3
3
  module Vesper
4
- # Your code goes here...
4
+
5
+ require 'bundler'
6
+ Bundler.require
7
+
8
+ Tilt.register Tilt::ERBTemplate, 'html'
9
+
10
+ set :views, './views'
11
+ set :public_folder, './public'
12
+
13
+ [
14
+ 'config',
15
+ 'plugins/**/config',
16
+ 'plugins/**/application',
17
+ 'application'
18
+ ].each {|dir| Dir["./#{dir}/**/*.rb"].each {|file| require file}}
19
+
20
+ DataMapper.finalize
21
+
5
22
  end
data/vesper.gemspec CHANGED
@@ -15,6 +15,8 @@ Gem::Specification.new do |s|
15
15
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
16
  s.require_paths = ["lib"]
17
17
 
18
+ s.required_ruby_version = ">= 1.9.2"
19
+
18
20
  s.post_install_message = "\nTo see what vesper can do:\n vesper options\n\nSend any questions or comments to jarrodtaylor@me.com\n\n"
19
21
 
20
22
  s.add_development_dependency "bundler", "~> 1.0.21"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vesper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-17 00:00:00.000000000 Z
12
+ date: 2011-12-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70208182914440 !ruby/object:Gem::Requirement
16
+ requirement: &70186917291680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.21
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70208182914440
24
+ version_requirements: *70186917291680
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &70208182913860 !ruby/object:Gem::Requirement
27
+ requirement: &70186917291200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.21
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70208182913860
35
+ version_requirements: *70186917291200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: chronic
38
- requirement: &70208182913140 !ruby/object:Gem::Requirement
38
+ requirement: &70186917290680 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.6.5
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70208182913140
46
+ version_requirements: *70186917290680
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: data_mapper
49
- requirement: &70208182912420 !ruby/object:Gem::Requirement
49
+ requirement: &70186917290080 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.2.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70208182912420
57
+ version_requirements: *70186917290080
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: dm-sqlite-adapter
60
- requirement: &70208182911960 !ruby/object:Gem::Requirement
60
+ requirement: &70186917289400 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.2.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70208182911960
68
+ version_requirements: *70186917289400
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: grit
71
- requirement: &70208182911500 !ruby/object:Gem::Requirement
71
+ requirement: &70186917288600 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 2.4.1
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70208182911500
79
+ version_requirements: *70186917288600
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: redcarpet
82
- requirement: &70208182911020 !ruby/object:Gem::Requirement
82
+ requirement: &70186917288080 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 2.0.0
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70208182911020
90
+ version_requirements: *70186917288080
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: sinatra
93
- requirement: &70208182910560 !ruby/object:Gem::Requirement
93
+ requirement: &70186917309820 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.3.1
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70208182910560
101
+ version_requirements: *70186917309820
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: whenever
104
- requirement: &70208182910080 !ruby/object:Gem::Requirement
104
+ requirement: &70186917309260 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: 0.7.0
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70208182910080
112
+ version_requirements: *70186917309260
113
113
  description:
114
114
  email: jarrodtaylor@me.com
115
115
  executables:
@@ -130,12 +130,10 @@ files:
130
130
  - lib/vesper/framework/application/hello_world.rb
131
131
  - lib/vesper/framework/config.ru
132
132
  - lib/vesper/framework/config/databases.rb
133
- - lib/vesper/framework/config/mime_types.rb
134
133
  - lib/vesper/framework/config/schedule.rb
135
134
  - lib/vesper/framework/config/sessions.rb
136
135
  - lib/vesper/framework/data/seeds.rb
137
136
  - lib/vesper/framework/data/transmogrify.rb
138
- - lib/vesper/framework/loader.rb
139
137
  - lib/vesper/framework/log/messages.log
140
138
  - lib/vesper/framework/plugins/addendums/Readme.md
141
139
  - lib/vesper/framework/plugins/addendums/application/helpers.rb
@@ -161,9 +159,11 @@ files:
161
159
  - lib/vesper/framework/public/robots.txt
162
160
  - lib/vesper/framework/tasks/databases.rb
163
161
  - lib/vesper/framework/tasks/irb.rb
162
+ - lib/vesper/framework/tests/hello_world.rb
164
163
  - lib/vesper/framework/tmp/restart.txt
165
164
  - lib/vesper/framework/views/hello_world.html
166
165
  - lib/vesper/framework/views/layout.html
166
+ - lib/vesper/rake.rb
167
167
  - lib/vesper/version.rb
168
168
  - vesper.gemspec
169
169
  homepage: http://jarrodtaylor.github.com/vesper/
@@ -178,7 +178,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - ! '>='
180
180
  - !ruby/object:Gem::Version
181
- version: '0'
181
+ version: 1.9.2
182
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
@@ -1,2 +0,0 @@
1
- # Runs embedded Ruby inside html files
2
- Tilt.register Tilt::ERBTemplate, 'html'
@@ -1,9 +0,0 @@
1
- # Use the gems in Gemfile
2
- require 'bundler'
3
- Bundler.require
4
-
5
- # Directories to load, in order
6
- ['config', 'plugins/**/config', 'plugins/**/application', 'application'].each {|dir| Dir["./#{dir}/**/*.rb"].each {|file| require file}}
7
-
8
- # Tell DataMapper that all the models are ready
9
- DataMapper.finalize