vesper 0.6.0 → 0.7.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.
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
- }