vesper 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/.gitignore +1 -1
  2. data/bin/vesper +26 -25
  3. data/lib/vesper/framework/.gitignore +5 -12
  4. data/lib/vesper/framework/Gemfile +9 -16
  5. data/lib/vesper/framework/Gemfile.lock +112 -0
  6. data/lib/vesper/framework/plugins/{timepiece → core-extensions}/Gemfile +0 -0
  7. data/lib/vesper/framework/plugins/{timepiece → core-extensions}/Readme.md +85 -3
  8. data/lib/vesper/framework/plugins/{timepiece/application/timepiece.rb → core-extensions/application/date_time.rb} +4 -4
  9. data/lib/vesper/framework/plugins/{addendums → core-extensions}/application/helpers.rb +0 -0
  10. data/lib/vesper/framework/plugins/{addendums → core-extensions}/application/number.rb +3 -3
  11. data/lib/vesper/framework/plugins/{addendums → core-extensions}/application/string.rb +0 -0
  12. data/lib/vesper/framework/plugins/core-extensions/meta_data.rb +7 -0
  13. data/lib/vesper/framework/plugins/hot-reloader/Gemfile +1 -0
  14. data/lib/vesper/framework/plugins/hot-reloader/Readme.md +5 -0
  15. data/lib/vesper/framework/plugins/hot-reloader/config/hot-reloader.rb +3 -0
  16. data/lib/vesper/framework/plugins/hot-reloader/meta_data.rb +7 -0
  17. data/lib/vesper/framework/plugins/{log → logger}/Readme.md +2 -2
  18. data/lib/vesper/framework/plugins/{log → logger}/application/log.rb +0 -0
  19. data/lib/vesper/framework/plugins/logger/meta_data.rb +7 -0
  20. data/lib/vesper/framework/plugins/{log → logger}/tasks/log.rb +0 -0
  21. data/lib/vesper/framework/plugins/{markdown → markdown-parser}/Gemfile +0 -0
  22. data/lib/vesper/framework/plugins/{markdown → markdown-parser}/Readme.md +2 -2
  23. data/lib/vesper/framework/plugins/{markdown/application/markdown.rb → markdown-parser/application/markdown-parser.rb} +0 -0
  24. data/lib/vesper/framework/plugins/{markdown/config/markdown.rb → markdown-parser/config/markdown-parser.rb} +0 -0
  25. data/lib/vesper/framework/plugins/markdown-parser/meta_data.rb +7 -0
  26. data/lib/vesper/plugin/Gemfile +0 -0
  27. data/lib/vesper/plugin/Readme.md +3 -0
  28. data/lib/vesper/plugin/application/plugin.rb +3 -0
  29. data/lib/vesper/plugin/config/plugin.rb +1 -0
  30. data/lib/vesper/plugin/meta_data.rb +7 -0
  31. data/lib/vesper/plugin/tasks/plugin.rb +10 -0
  32. data/lib/vesper/version.rb +1 -1
  33. data/vesper.gemspec +1 -4
  34. metadata +44 -57
  35. data/lib/vesper/framework/plugins/addendums/Readme.md +0 -85
  36. data/lib/vesper/framework/plugins/addendums/meta_data.rb +0 -4
  37. data/lib/vesper/framework/plugins/log/meta_data.rb +0 -4
  38. data/lib/vesper/framework/plugins/markdown/meta_data.rb +0 -4
  39. data/lib/vesper/framework/plugins/timepiece/meta_data.rb +0 -4
data/.gitignore CHANGED
@@ -1,5 +1,5 @@
1
1
  *.gem
2
2
  .bundle
3
3
  Gemfile.lock
4
- !/lib/vesper/template/Gemfile.lock
4
+ !/lib/vesper/framework/Gemfile.lock
5
5
  pkg/*
data/bin/vesper CHANGED
@@ -7,28 +7,24 @@ def show_options
7
7
  puts ''
8
8
  puts 'Commands:'
9
9
  puts ''
10
- puts ' vesper create application'
11
- puts ' Summary: Create a new Vesper web app.'
12
- puts ' Example: vesper create application MyApp'
13
- puts ''
14
10
  puts ' vesper create app'
15
11
  puts ' Summary: Create a new Vesper web app.'
16
12
  puts ' Alias for vesper create application.'
17
13
  puts ' Example: vesper create app MyApp'
18
14
  puts ''
19
15
  puts ' vesper install plugin'
20
- puts ' Summary: Install a plugin from the repo (http://vesperapps.com/plugins).'
16
+ puts ' Summary: Install a plugin from a git repo.'
21
17
  puts ' Should be run from inside an existing Vesper app.'
22
- puts ' Example: vesper install plugin git@github.com:jarrodtaylor/vesper-timepiece.git'
18
+ puts ' Example: vesper install plugin git@github.com:vesper/mobile-request-router.git'
23
19
  puts ''
24
20
  puts ' vesper remove plugin'
25
21
  puts ' Summary: Removes an existing plugin from a Vesper app.'
26
- puts ' Example: vesper remove plugin timepiece'
22
+ puts ' Example: vesper remove plugin mobile-request-router'
27
23
  puts ''
28
24
  puts ' vesper create plugin'
29
25
  puts ' Summary: Creates an empty plugin for development.'
30
26
  puts ' Should be run from inside an existing Vesper app.'
31
- puts ' Example: vesper create plugin MyPlugin'
27
+ puts ' Example: vesper create plugin my-plugin'
32
28
  puts ''
33
29
  puts ' vesper run test'
34
30
  puts ' Summary: Runs a test using a file in /tests using MiniTest.'
@@ -38,9 +34,9 @@ def show_options
38
34
  puts ' Summary: Runs tests on all the files in /tests using MiniTest'
39
35
  puts ' Example: vesper run tests'
40
36
  puts ''
41
- puts 'Documentation can be found online at: http://vesperapps.com/learn'
37
+ puts 'Documentation can be found online at: http://vesperapps.com'
42
38
  puts ''
43
- puts 'Questions and comments should be send to: jarrodtaylor@me.com'
39
+ puts 'Questions and comments should be send to: jarrod@vesperapps.com'
44
40
  puts ''
45
41
  end
46
42
 
@@ -49,30 +45,30 @@ def create_app app_name
49
45
  puts "Creating #{app_name}..."
50
46
  FileUtils.cp_r File.dirname(__FILE__) + '/../lib/vesper/framework', app_name unless Dir.exists? app_name
51
47
  puts "Bundling gems..."
52
- exec "cd #{app_name} && bundle > /dev/null && echo '\n#{app_name} is ready. Next steps:\n cd #{app_name}\n rackup\n'"
48
+ system "cd #{app_name} && bundle > /dev/null"
49
+ puts ''
50
+ puts "#{app_name} is ready. Next steps:"
51
+ puts " cd #{app_name}"
52
+ puts " rackup"
53
+ puts ''
53
54
  end
54
55
 
55
56
 
56
- # This should probably use a template, but we'll get to that later...
57
57
  def create_plugin plugin_name
58
+ plugin_name = plugin_name.downcase
58
59
  if Dir.exists? "plugins/#{plugin_name}"
59
60
  puts ''
60
61
  puts "#{plugin_name} is already installed in /plugins."
61
62
  puts ''
62
63
  else
63
- puts 'Creating plugin...'
64
- FileUtils.mkdir "plugins/#{plugin_name}"
65
- FileUtils.mkdir "plugins/#{plugin_name}/application"
66
- File.new "plugins/#{plugin_name}/application/#{plugin_name}.rb", 'w+'
67
- FileUtils.mkdir "plugins/#{plugin_name}/config"
68
- File.new "plugins/#{plugin_name}/config/#{plugin_name}.rb", 'w+'
69
- FileUtils.mkdir "plugins/#{plugin_name}/tasks"
70
- File.new "plugins/#{plugin_name}/tasks/#{plugin_name}.rb", 'w+'
71
- File.new "plugins/#{plugin_name}/Gemfile", 'w+'
72
- File.new "plugins/#{plugin_name}/Readme.md", 'w+'
64
+ puts 'Creating plugin...'
65
+ FileUtils.cp_r File.dirname(__FILE__) + '/../lib/vesper/plugin', "plugins/#{plugin_name}"
66
+ File.rename "plugins/#{plugin_name}/application/plugin.rb", "plugins/#{plugin_name}/application/#{plugin_name}.rb"
67
+ File.rename "plugins/#{plugin_name}/config/plugin.rb", "plugins/#{plugin_name}/config/#{plugin_name}.rb"
68
+ File.rename "plugins/#{plugin_name}/tasks/plugin.rb", "plugins/#{plugin_name}/tasks/#{plugin_name}.rb"
73
69
  puts ''
74
70
  puts "#{plugin_name} has been installed in /plugins."
75
- puts 'For more information on Vesper plugin development, visit: http://vesperapps.com/learn'
71
+ puts 'For more information on Vesper plugin development, visit: http://vesperapps.com'
76
72
  puts ''
77
73
  end
78
74
  end
@@ -94,15 +90,19 @@ end
94
90
 
95
91
  def install_plugin repo
96
92
  puts 'Installing plugin...'
97
- new_plugin = Grit::Git.new 'plugins/new_plugin'
93
+ new_plugin = Grit::Git.new 'tmp/new_plugin'
98
94
  new_plugin.clone({:branch => 'master'}, repo, new_plugin.git_dir)
99
95
  FileUtils.rm_rf "#{new_plugin.git_dir}/.git"
100
96
  require "./#{new_plugin.git_dir}/meta_data.rb"
101
97
  FileUtils.mv new_plugin.git_dir, "plugins/#{META_DATA[:name]}"
102
98
  puts 'Bundling gems...'
103
- exec "bundle > /dev/null && echo '\n#{META_DATA[:name]} is installed in /plugins.\n'"
99
+ system "bundle > /dev/null"
100
+ puts ''
101
+ puts "#{META_DATA[:name]} is installed in /plugins."
102
+ puts ''
104
103
  end
105
104
 
105
+
106
106
  def run_test file
107
107
  if File.exists? "./tests/#{file}.rb"
108
108
  require 'minitest/autorun'
@@ -115,6 +115,7 @@ def run_test file
115
115
  end
116
116
  end
117
117
 
118
+
118
119
  def run_tests
119
120
  require 'minitest/autorun'
120
121
  require 'vesper'
@@ -1,12 +1,5 @@
1
- # Ignore OS X's desktop service files
2
- .DS_Store
3
-
4
- # These files are specific to each machine and should be ignored
5
- /.bundle
6
-
7
- # Ignore log files, except for messages
8
- /log/*
9
- !/log/messages.log
10
-
11
- # Ignore development database
12
- /data/*.sqlite3
1
+ .DS_Store
2
+ /.bundle
3
+ /log/*
4
+ !/log/messages.log
5
+ /data/development.sqlite3
@@ -1,20 +1,13 @@
1
- # Use RubyGems to find and download gems
2
- source 'http://rubygems.org'
1
+ source 'http://rubygems.org'
3
2
 
4
3
 
5
- # For databases and model classes
6
- gem 'data_mapper', '~> 1.2.0'
7
- # gem 'dm-mysql-adapter'
8
- # gem 'dm-postgres-adapter'
9
- gem 'dm-sqlite-adapter', '~> 1.2.0'
10
-
11
- # For route handling
12
- gem 'sinatra', '~> 1.3.1'
4
+ gem 'data_mapper', '~> 1.2.0'
5
+ # gem 'dm-mysql-adapter'
6
+ # gem 'dm-postgres-adapter'
7
+ gem 'dm-sqlite-adapter', '~> 1.2.0'
8
+ gem 'sinatra', '~> 1.3.1'
9
+ gem 'vesper', :require => false
10
+ gem 'whenever', '~> 0.7.0', :require => false
13
11
 
14
- gem 'vesper', :require => false
15
12
 
16
- # For writing cron jobs in Ruby
17
- gem 'whenever', '~> 0.7.0', :require => false
18
-
19
- # Load gems from plugins
20
- Dir["./plugins/**/Gemfile"].each {|gemfile| self.send(:eval, File.open(gemfile, 'r').read)}
13
+ Dir["./plugins/**/Gemfile"].each {|gemfile| self.send(:eval, File.open(gemfile, 'r').read)}
@@ -0,0 +1,112 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (3.1.3)
5
+ multi_json (~> 1.0)
6
+ addressable (2.2.6)
7
+ backports (2.3.0)
8
+ bcrypt-ruby (3.0.1)
9
+ chronic (0.6.6)
10
+ data_mapper (1.2.0)
11
+ dm-aggregates (~> 1.2.0)
12
+ dm-constraints (~> 1.2.0)
13
+ dm-core (~> 1.2.0)
14
+ dm-migrations (~> 1.2.0)
15
+ dm-serializer (~> 1.2.0)
16
+ dm-timestamps (~> 1.2.0)
17
+ dm-transactions (~> 1.2.0)
18
+ dm-types (~> 1.2.0)
19
+ dm-validations (~> 1.2.0)
20
+ data_objects (0.10.7)
21
+ addressable (~> 2.1)
22
+ diff-lcs (1.1.3)
23
+ dm-aggregates (1.2.0)
24
+ dm-core (~> 1.2.0)
25
+ dm-constraints (1.2.0)
26
+ dm-core (~> 1.2.0)
27
+ dm-core (1.2.0)
28
+ addressable (~> 2.2.6)
29
+ dm-do-adapter (1.2.0)
30
+ data_objects (~> 0.10.6)
31
+ dm-core (~> 1.2.0)
32
+ dm-migrations (1.2.0)
33
+ dm-core (~> 1.2.0)
34
+ dm-serializer (1.2.1)
35
+ dm-core (~> 1.2.0)
36
+ fastercsv (~> 1.5.4)
37
+ json (~> 1.6.1)
38
+ json_pure (~> 1.6.1)
39
+ multi_json (~> 1.0.3)
40
+ dm-sqlite-adapter (1.2.0)
41
+ dm-do-adapter (~> 1.2.0)
42
+ do_sqlite3 (~> 0.10.6)
43
+ dm-timestamps (1.2.0)
44
+ dm-core (~> 1.2.0)
45
+ dm-transactions (1.2.0)
46
+ dm-core (~> 1.2.0)
47
+ dm-types (1.2.1)
48
+ bcrypt-ruby (~> 3.0.0)
49
+ dm-core (~> 1.2.0)
50
+ fastercsv (~> 1.5.4)
51
+ json (~> 1.6.1)
52
+ multi_json (~> 1.0.3)
53
+ stringex (~> 1.3.0)
54
+ uuidtools (~> 2.1.2)
55
+ dm-validations (1.2.0)
56
+ dm-core (~> 1.2.0)
57
+ do_sqlite3 (0.10.7)
58
+ data_objects (= 0.10.7)
59
+ eventmachine (0.12.10)
60
+ fastercsv (1.5.4)
61
+ grit (2.4.1)
62
+ diff-lcs (~> 1.1)
63
+ mime-types (~> 1.15)
64
+ json (1.6.3)
65
+ json_pure (1.6.3)
66
+ mime-types (1.17.2)
67
+ multi_json (1.0.4)
68
+ rack (1.3.5)
69
+ rack-protection (1.1.4)
70
+ rack
71
+ rack-test (0.6.1)
72
+ rack (>= 1.0)
73
+ redcarpet (2.0.1)
74
+ sinatra (1.3.1)
75
+ rack (~> 1.3, >= 1.3.4)
76
+ rack-protection (~> 1.1, >= 1.1.2)
77
+ tilt (~> 1.3, >= 1.3.3)
78
+ sinatra-contrib (1.3.1)
79
+ backports (>= 2.0)
80
+ eventmachine
81
+ rack-protection
82
+ rack-test
83
+ sinatra (~> 1.3.0)
84
+ tilt (~> 1.3)
85
+ stringex (1.3.0)
86
+ tilt (1.3.3)
87
+ uuidtools (2.1.2)
88
+ vesper (0.6.0)
89
+ bundler (~> 1.0.21)
90
+ chronic (~> 0.6.5)
91
+ data_mapper (~> 1.2.0)
92
+ dm-sqlite-adapter (~> 1.2.0)
93
+ grit (~> 2.4.1)
94
+ redcarpet (~> 2.0.0)
95
+ sinatra (~> 1.3.1)
96
+ whenever (~> 0.7.0)
97
+ whenever (0.7.0)
98
+ activesupport (>= 2.3.4)
99
+ chronic (~> 0.6.3)
100
+
101
+ PLATFORMS
102
+ ruby
103
+
104
+ DEPENDENCIES
105
+ chronic (~> 0.6.5)
106
+ data_mapper (~> 1.2.0)
107
+ dm-sqlite-adapter (~> 1.2.0)
108
+ redcarpet (~> 2.0.0)
109
+ sinatra (~> 1.3.1)
110
+ sinatra-contrib (~> 1.3.1)
111
+ vesper
112
+ whenever (~> 0.7.0)
@@ -1,6 +1,88 @@
1
- Timepiece Vesper Plugin
2
- =======================
3
- > Assists in converting db date and time fields to and from usable elements.
1
+ Vesper Core Extensions Plugin
2
+ =============================
3
+ > Adds useful extensions to Ruby and Sinatra.
4
+
5
+
6
+ active(path)
7
+ ------------
8
+ > Adds a class of 'active' to an element that matches the page url.
9
+
10
+ >> <a href="#" class="<%= active '/home' %>">Home</a>
11
+ => <a href="#" class="active">Home</a>
12
+
13
+
14
+ alert
15
+ -----
16
+ > Displays an alert message div.
17
+
18
+ > Note: Will only display on the next page load.
19
+
20
+ >> session[:flash] = 'Your message here.' # Before page loads, usually in a route the redirects
21
+ >> <%= alert => # In your view or layout
22
+ => "<div id='alert'>Your message here.</div>"
23
+
24
+
25
+ hidden
26
+ ------
27
+ > Hides an element.
28
+
29
+ > Note: Works will with if/unless (hidden unless @var.empty?).
30
+
31
+ >> <div style="<%= hidden %>">Content to hide</div>
32
+
33
+
34
+ dollarize
35
+ ---------
36
+ > Converts a number to a dollar
37
+
38
+ > Note: This isn't a currency conversion, it's only a string.
39
+
40
+ >> 1.dollarize
41
+ => '$1.00'
42
+
43
+
44
+ even?
45
+ -----
46
+ > Returns true if a number is even.
47
+
48
+ >> 2.even?
49
+ => true
50
+
51
+
52
+ odd?
53
+ ----
54
+ > Returns true if a number is odd.
55
+
56
+ >> 2.even?
57
+ => false
58
+
59
+
60
+ truncate_to_decimal(dec = 1)
61
+ ----------------------------
62
+ > Truncates a number to a float (The standard truncate methods returns an integer).
63
+
64
+ > The dec argument determines how many digits to leave after the decimal; it defaults to 1.
65
+
66
+ > Note: Removes trailing 0s.
67
+
68
+ >> 1.234.truncate_to_decimal 2
69
+ => 1.23
70
+
71
+
72
+ titleize
73
+ --------
74
+ > Capitalizes the first letter of each word in a string.
75
+
76
+ >> 'This is a title'.titleize
77
+ => 'This Is A Title'
78
+
79
+
80
+ truncate(word_count = 100, end_string = '...')
81
+ ----------------------------------------------
82
+ > Truncates by word count (not letter).
83
+
84
+ >> 'One Two Three Four Five'.truncate 3
85
+ => 'One Two Three...'
4
86
 
5
87
 
6
88
  display
@@ -1,4 +1,4 @@
1
- module Timepiece
1
+ module VesperDateTime
2
2
 
3
3
  def self.included base
4
4
  base.extend ClassMethods
@@ -52,6 +52,6 @@ module Timepiece
52
52
 
53
53
  end
54
54
 
55
- Date.class_eval { include Timepiece }
56
- DateTime.class_eval { include Timepiece }
57
- Time.class_eval { include Timepiece }
55
+ Date.class_eval { include VesperDateTime }
56
+ DateTime.class_eval { include VesperDateTime }
57
+ Time.class_eval { include VesperDateTime }
@@ -1,4 +1,4 @@
1
- module Number
1
+ module VesperNumber
2
2
 
3
3
  def dollarize
4
4
  num = self
@@ -22,5 +22,5 @@ module Number
22
22
 
23
23
  end
24
24
 
25
- Fixnum.class_eval { include Number }
26
- Float.class_eval { include Number }
25
+ Fixnum.class_eval { include VesperNumber }
26
+ Float.class_eval { include VesperNumber }
@@ -0,0 +1,7 @@
1
+ META_DATA = {
2
+ name: 'core-extensions',
3
+ version: '1.0.0',
4
+ authors: ['Jarrod Taylor'],
5
+ homepage: 'https://github.com/vesper/core-extensions',
6
+ source: 'git@github.com:vesper/core-extensions.git'
7
+ }
@@ -0,0 +1 @@
1
+ gem 'sinatra-contrib', '~> 1.3.1'
@@ -0,0 +1,5 @@
1
+ Hot Reloader Vesper Plugin
2
+ ==========================
3
+ > Reloads modified files on each request in the development environment.
4
+
5
+ > Wrapper for Sinatra::Reloader (http://www.sinatrarb.com/contrib/reloader.html)
@@ -0,0 +1,3 @@
1
+ configure :development do
2
+ require 'sinatra/reloader'
3
+ end
@@ -0,0 +1,7 @@
1
+ META_DATA = {
2
+ name: 'hot-reloader',
3
+ version: '1.0.0',
4
+ authors: ['Jarrod Taylor'],
5
+ homepage: 'https://github.com/vesper/hot-reloader',
6
+ source: 'git@github.com:vesper/hot-reloader.git'
7
+ }
@@ -1,5 +1,5 @@
1
- Log Vesper Plugin
2
- =================
1
+ Logger Vesper Plugin
2
+ ====================
3
3
  > Writes to and clears out log files.
4
4
 
5
5
 
@@ -0,0 +1,7 @@
1
+ META_DATA = {
2
+ name: 'logger',
3
+ version: '1.0.0',
4
+ authors: ['Jarrod Taylor'],
5
+ homepage: 'https://github.com/vesper/logger',
6
+ source: 'git@github.com:vesper/logger.git'
7
+ }
@@ -1,5 +1,5 @@
1
- Markdown Vesper Plugin
2
- ======================
1
+ Markdown Parser Vesper Plugin
2
+ =============================
3
3
  > Converts markdown text into html using Redcarpet.
4
4
 
5
5
 
@@ -0,0 +1,7 @@
1
+ META_DATA = {
2
+ name: 'markdown-parser',
3
+ version: '1.0.0',
4
+ authors: ['Jarrod Taylor'],
5
+ homepage: 'https://github.com/vesper/markdown-parser',
6
+ source: 'git@github.com:vesper/markdown-parser.git'
7
+ }
File without changes
@@ -0,0 +1,3 @@
1
+ My Nifty Plugin
2
+ ---------------
3
+ > Use this readme to explain how to use your plugin.
@@ -0,0 +1,3 @@
1
+ # Your application code goes here...
2
+
3
+ # You can create as many file and subdirectories as you want.
@@ -0,0 +1 @@
1
+ # Your user editable config goes here...
@@ -0,0 +1,7 @@
1
+ META_DATA = {
2
+ name: 'my-nifty-plugin', # This is what your plugin directory will be called
3
+ version: '0.0.1',
4
+ authors: ['Your name here...'],
5
+ homepage: 'http://example.com/yourplugin',
6
+ source: '' # Link to git repo for installation
7
+ }
@@ -0,0 +1,10 @@
1
+ # Tasks in this directory will automatically be loaded for Rake.
2
+
3
+ # Example:
4
+ # >> rake irb
5
+ # desc 'Starts an IRB session with the app loaded'
6
+ # task :irb do
7
+ # require 'irb'
8
+ # ARGV.clear
9
+ # IRB.start
10
+ # end
@@ -1,3 +1,3 @@
1
1
  module Vesper
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.version = Vesper::VERSION
8
8
  s.author = "Jarrod Taylor"
9
9
  s.email = "jarrodtaylor@me.com"
10
- s.homepage = "http://jarrodtaylor.github.com/vesper/"
10
+ s.homepage = "http://vesperapps.com/"
11
11
  s.summary = "A web framework with a focus on transparency; Vesper combines Rack, Sinatra and DataMapper."
12
12
 
13
13
  s.files = `git ls-files`.split("\n")
@@ -19,9 +19,6 @@ Gem::Specification.new do |s|
19
19
 
20
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"
21
21
 
22
- s.add_development_dependency "bundler", "~> 1.0.21"
23
-
24
- s.add_runtime_dependency "bundler", "~> 1.0.21"
25
22
  s.add_runtime_dependency "chronic", "~> 0.6.5"
26
23
  s.add_runtime_dependency "data_mapper", "~> 1.2.0"
27
24
  s.add_runtime_dependency "dm-sqlite-adapter", "~> 1.2.0"
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.6.0
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,33 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-19 00:00:00.000000000 Z
12
+ date: 2011-12-31 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: &70186917291680 !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 1.0.21
22
- type: :development
23
- prerelease: false
24
- version_requirements: *70186917291680
25
- - !ruby/object:Gem::Dependency
26
- name: bundler
27
- requirement: &70186917291200 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ~>
31
- - !ruby/object:Gem::Version
32
- version: 1.0.21
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70186917291200
36
14
  - !ruby/object:Gem::Dependency
37
15
  name: chronic
38
- requirement: &70186917290680 !ruby/object:Gem::Requirement
16
+ requirement: &70103014613180 !ruby/object:Gem::Requirement
39
17
  none: false
40
18
  requirements:
41
19
  - - ~>
@@ -43,10 +21,10 @@ dependencies:
43
21
  version: 0.6.5
44
22
  type: :runtime
45
23
  prerelease: false
46
- version_requirements: *70186917290680
24
+ version_requirements: *70103014613180
47
25
  - !ruby/object:Gem::Dependency
48
26
  name: data_mapper
49
- requirement: &70186917290080 !ruby/object:Gem::Requirement
27
+ requirement: &70103014612720 !ruby/object:Gem::Requirement
50
28
  none: false
51
29
  requirements:
52
30
  - - ~>
@@ -54,10 +32,10 @@ dependencies:
54
32
  version: 1.2.0
55
33
  type: :runtime
56
34
  prerelease: false
57
- version_requirements: *70186917290080
35
+ version_requirements: *70103014612720
58
36
  - !ruby/object:Gem::Dependency
59
37
  name: dm-sqlite-adapter
60
- requirement: &70186917289400 !ruby/object:Gem::Requirement
38
+ requirement: &70103014612260 !ruby/object:Gem::Requirement
61
39
  none: false
62
40
  requirements:
63
41
  - - ~>
@@ -65,10 +43,10 @@ dependencies:
65
43
  version: 1.2.0
66
44
  type: :runtime
67
45
  prerelease: false
68
- version_requirements: *70186917289400
46
+ version_requirements: *70103014612260
69
47
  - !ruby/object:Gem::Dependency
70
48
  name: grit
71
- requirement: &70186917288600 !ruby/object:Gem::Requirement
49
+ requirement: &70103014611800 !ruby/object:Gem::Requirement
72
50
  none: false
73
51
  requirements:
74
52
  - - ~>
@@ -76,10 +54,10 @@ dependencies:
76
54
  version: 2.4.1
77
55
  type: :runtime
78
56
  prerelease: false
79
- version_requirements: *70186917288600
57
+ version_requirements: *70103014611800
80
58
  - !ruby/object:Gem::Dependency
81
59
  name: redcarpet
82
- requirement: &70186917288080 !ruby/object:Gem::Requirement
60
+ requirement: &70103014611340 !ruby/object:Gem::Requirement
83
61
  none: false
84
62
  requirements:
85
63
  - - ~>
@@ -87,10 +65,10 @@ dependencies:
87
65
  version: 2.0.0
88
66
  type: :runtime
89
67
  prerelease: false
90
- version_requirements: *70186917288080
68
+ version_requirements: *70103014611340
91
69
  - !ruby/object:Gem::Dependency
92
70
  name: sinatra
93
- requirement: &70186917309820 !ruby/object:Gem::Requirement
71
+ requirement: &70103014610880 !ruby/object:Gem::Requirement
94
72
  none: false
95
73
  requirements:
96
74
  - - ~>
@@ -98,10 +76,10 @@ dependencies:
98
76
  version: 1.3.1
99
77
  type: :runtime
100
78
  prerelease: false
101
- version_requirements: *70186917309820
79
+ version_requirements: *70103014610880
102
80
  - !ruby/object:Gem::Dependency
103
81
  name: whenever
104
- requirement: &70186917309260 !ruby/object:Gem::Requirement
82
+ requirement: &70103014610420 !ruby/object:Gem::Requirement
105
83
  none: false
106
84
  requirements:
107
85
  - - ~>
@@ -109,7 +87,7 @@ dependencies:
109
87
  version: 0.7.0
110
88
  type: :runtime
111
89
  prerelease: false
112
- version_requirements: *70186917309260
90
+ version_requirements: *70103014610420
113
91
  description:
114
92
  email: jarrodtaylor@me.com
115
93
  executables:
@@ -125,6 +103,7 @@ files:
125
103
  - lib/vesper.rb
126
104
  - lib/vesper/framework/.gitignore
127
105
  - lib/vesper/framework/Gemfile
106
+ - lib/vesper/framework/Gemfile.lock
128
107
  - lib/vesper/framework/Rakefile
129
108
  - lib/vesper/framework/Readme.md
130
109
  - lib/vesper/framework/application/hello_world.rb
@@ -135,24 +114,26 @@ files:
135
114
  - lib/vesper/framework/data/seeds.rb
136
115
  - lib/vesper/framework/data/transmogrify.rb
137
116
  - lib/vesper/framework/log/messages.log
138
- - lib/vesper/framework/plugins/addendums/Readme.md
139
- - lib/vesper/framework/plugins/addendums/application/helpers.rb
140
- - lib/vesper/framework/plugins/addendums/application/number.rb
141
- - lib/vesper/framework/plugins/addendums/application/string.rb
142
- - lib/vesper/framework/plugins/addendums/meta_data.rb
143
- - lib/vesper/framework/plugins/log/Readme.md
144
- - lib/vesper/framework/plugins/log/application/log.rb
145
- - lib/vesper/framework/plugins/log/meta_data.rb
146
- - lib/vesper/framework/plugins/log/tasks/log.rb
147
- - lib/vesper/framework/plugins/markdown/Gemfile
148
- - lib/vesper/framework/plugins/markdown/Readme.md
149
- - lib/vesper/framework/plugins/markdown/application/markdown.rb
150
- - lib/vesper/framework/plugins/markdown/config/markdown.rb
151
- - lib/vesper/framework/plugins/markdown/meta_data.rb
152
- - lib/vesper/framework/plugins/timepiece/Gemfile
153
- - lib/vesper/framework/plugins/timepiece/Readme.md
154
- - lib/vesper/framework/plugins/timepiece/application/timepiece.rb
155
- - lib/vesper/framework/plugins/timepiece/meta_data.rb
117
+ - lib/vesper/framework/plugins/core-extensions/Gemfile
118
+ - lib/vesper/framework/plugins/core-extensions/Readme.md
119
+ - lib/vesper/framework/plugins/core-extensions/application/date_time.rb
120
+ - lib/vesper/framework/plugins/core-extensions/application/helpers.rb
121
+ - lib/vesper/framework/plugins/core-extensions/application/number.rb
122
+ - lib/vesper/framework/plugins/core-extensions/application/string.rb
123
+ - lib/vesper/framework/plugins/core-extensions/meta_data.rb
124
+ - lib/vesper/framework/plugins/hot-reloader/Gemfile
125
+ - lib/vesper/framework/plugins/hot-reloader/Readme.md
126
+ - lib/vesper/framework/plugins/hot-reloader/config/hot-reloader.rb
127
+ - lib/vesper/framework/plugins/hot-reloader/meta_data.rb
128
+ - lib/vesper/framework/plugins/logger/Readme.md
129
+ - lib/vesper/framework/plugins/logger/application/log.rb
130
+ - lib/vesper/framework/plugins/logger/meta_data.rb
131
+ - lib/vesper/framework/plugins/logger/tasks/log.rb
132
+ - lib/vesper/framework/plugins/markdown-parser/Gemfile
133
+ - lib/vesper/framework/plugins/markdown-parser/Readme.md
134
+ - lib/vesper/framework/plugins/markdown-parser/application/markdown-parser.rb
135
+ - lib/vesper/framework/plugins/markdown-parser/config/markdown-parser.rb
136
+ - lib/vesper/framework/plugins/markdown-parser/meta_data.rb
156
137
  - lib/vesper/framework/public/css/design.css
157
138
  - lib/vesper/framework/public/img/fyeah.jpg
158
139
  - lib/vesper/framework/public/js/hide_addressbar.js
@@ -163,10 +144,16 @@ files:
163
144
  - lib/vesper/framework/tmp/restart.txt
164
145
  - lib/vesper/framework/views/hello_world.html
165
146
  - lib/vesper/framework/views/layout.html
147
+ - lib/vesper/plugin/Gemfile
148
+ - lib/vesper/plugin/Readme.md
149
+ - lib/vesper/plugin/application/plugin.rb
150
+ - lib/vesper/plugin/config/plugin.rb
151
+ - lib/vesper/plugin/meta_data.rb
152
+ - lib/vesper/plugin/tasks/plugin.rb
166
153
  - lib/vesper/rake.rb
167
154
  - lib/vesper/version.rb
168
155
  - vesper.gemspec
169
- homepage: http://jarrodtaylor.github.com/vesper/
156
+ homepage: http://vesperapps.com/
170
157
  licenses: []
171
158
  post_install_message: ! "\nTo see what vesper can do:\n vesper options\n\nSend any
172
159
  questions or comments to jarrodtaylor@me.com\n\n"
@@ -1,85 +0,0 @@
1
- Addendums Vesper Plugin
2
- =======================
3
- > Adds useful extensions to Ruby and Sinatra
4
-
5
-
6
- active(path)
7
- ------------
8
- > Adds a class of 'active' to an element that matches the page url.
9
-
10
- >> <a href="#" class="<%= active '/home' %>">Home</a>
11
- => <a href="#" class="active">Home</a>
12
-
13
-
14
- alert
15
- -----
16
- > Displays an alert message div.
17
-
18
- > Note: Will only display on the next page load.
19
-
20
- >> session[:flash] = 'Your message here.' # Before page loads, usually in a route the redirects
21
- >> <%= alert => # In your view or layout
22
- => "<div id='alert'>Your message here.</div>"
23
-
24
-
25
- hidden
26
- ------
27
- > Hides an element.
28
-
29
- > Note: Works will with if/unless (hidden unless @var.empty?).
30
-
31
- >> <div style="<%= hidden %>">Content to hide</div>
32
-
33
-
34
- dollarize
35
- ---------
36
- > Converts a number to a dollar
37
-
38
- > Note: This isn't a currency conversion, it's only a string.
39
-
40
- >> 1.dollarize
41
- => '$1.00'
42
-
43
-
44
- even?
45
- -----
46
- > Returns true if a number is even.
47
-
48
- >> 2.even?
49
- => true
50
-
51
-
52
- odd?
53
- ----
54
- > Returns true if a number is odd.
55
-
56
- >> 2.even?
57
- => false
58
-
59
-
60
- truncate_to_decimal(dec = 1)
61
- ----------------------------
62
- > Truncates a number to a float (The standard truncate methods returns an integer).
63
-
64
- > The dec argument determines how many digits to leave after the decimal; it defaults to 1.
65
-
66
- > Note: Removes trailing 0s.
67
-
68
- >> 1.234.truncate_to_decimal 2
69
- => 1.23
70
-
71
-
72
- titleize
73
- --------
74
- > Capitalizes the first letter of each word in a string.
75
-
76
- >> 'This is a title'.titleize
77
- => 'This Is A Title'
78
-
79
-
80
- truncate(word_count = 100, end_string = '...')
81
- ----------------------------------------------
82
- > Truncates by word count (not letter).
83
-
84
- >> 'One Two Three Four Five'.truncate 3
85
- => 'One Two Three...'
@@ -1,4 +0,0 @@
1
- META_DATA = {
2
- name: 'addendums',
3
- version: '1.0.0'
4
- }
@@ -1,4 +0,0 @@
1
- META_DATA = {
2
- name: 'log',
3
- version: '1.0.0'
4
- }
@@ -1,4 +0,0 @@
1
- META_DATA = {
2
- name: 'markdown',
3
- version: '1.0.0'
4
- }
@@ -1,4 +0,0 @@
1
- META_DATA = {
2
- name: 'timepiece',
3
- version: '1.0.0'
4
- }