sweetsie 0.0.1
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.rdoc +0 -0
- data/Rakefile +24 -0
- data/VERSION +1 -0
- data/bin/sweetsie +16 -0
- data/lib/sweetsie/generators/helper.rb +27 -0
- data/lib/sweetsie/generators/migration_generator.rb +13 -0
- data/lib/sweetsie/generators/model_generator.rb +23 -0
- data/lib/sweetsie/generators/new_project_generator.rb +28 -0
- data/lib/sweetsie/tasks/database.rb +17 -0
- data/lib/sweetsie.rb +0 -0
- data/sweetsie.gemspec +63 -0
- data/templates/migration/db/migrate/migration.rb +7 -0
- data/templates/model/models/model.rb +3 -0
- data/templates/model/test/models/test_model.rb +8 -0
- data/templates/project/Rakefile +11 -0
- data/templates/project/config/database.yml +27 -0
- data/templates/project/initialize.rb +30 -0
- data/templates/project/script/generate +17 -0
- data/templates/project/test/test_helper.rb +26 -0
- metadata +104 -0
data/README.rdoc
ADDED
File without changes
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gemspec|
|
7
|
+
gemspec.name = "sweetsie"
|
8
|
+
gemspec.summary = "Quick framework for when you need to scratch something out!"
|
9
|
+
gemspec.description = "Quick framework for when you need to scratch something out!"
|
10
|
+
gemspec.email = "jacob.atkins@projectadrienne.com"
|
11
|
+
gemspec.homepage = "http://github.com/jatkins/sweetsie"
|
12
|
+
gemspec.description = "Quick framework for when you need to scratch something out!"
|
13
|
+
gemspec.authors = ["Jacob Atkins"]
|
14
|
+
|
15
|
+
gemspec.add_dependency('templater', '>= 0.5.0')
|
16
|
+
gemspec.add_dependency('rake', '>=0.9.0')
|
17
|
+
gemspec.add_dependency('activerecord', '>=3.0.3')
|
18
|
+
end
|
19
|
+
Jeweler::GemcutterTasks.new
|
20
|
+
rescue LoadError
|
21
|
+
puts "Jeweler not available. Install it with: sudo gem install jeweler"
|
22
|
+
end
|
23
|
+
|
24
|
+
Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1
|
data/bin/sweetsie
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'templater'
|
5
|
+
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
7
|
+
|
8
|
+
require 'sweetsie/generators/helper'
|
9
|
+
require 'sweetsie/generators/new_project_generator'
|
10
|
+
|
11
|
+
module SweetsieGenerators
|
12
|
+
extend Templater::Manifold
|
13
|
+
add :project, NewProjectGenerator
|
14
|
+
end
|
15
|
+
|
16
|
+
SweetsieGenerators.run_cli Dir.pwd, 'sweetsie', '0.0.1', ['project',ARGV].flatten
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class String
|
2
|
+
def camelcase
|
3
|
+
self.split('_').map{|e| e.capitalize}.join
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
class Templater::Generator
|
8
|
+
def camelcase
|
9
|
+
self.name.split('_').map{|e| e.capitalize}.join
|
10
|
+
end
|
11
|
+
|
12
|
+
def underscore
|
13
|
+
self.name.gsub(/::/, '/').
|
14
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
15
|
+
gsub(/([a-z\d])([A-Z])/, '\1_\2').
|
16
|
+
tr("-","_").
|
17
|
+
downcase
|
18
|
+
end
|
19
|
+
|
20
|
+
def migration_name
|
21
|
+
"create_#{self.name}s"
|
22
|
+
end
|
23
|
+
|
24
|
+
def migration_time
|
25
|
+
Time.now.strftime("%Y%m%d%H%M%S")
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class MigrationGenerator < Templater::Generator
|
2
|
+
def self.source_root
|
3
|
+
File.join %W| #{File.dirname(__FILE__)} .. .. .. templates migration |
|
4
|
+
end
|
5
|
+
|
6
|
+
first_argument :name, :require => true
|
7
|
+
|
8
|
+
directory :migrations, File.join(%w|db migrate|)
|
9
|
+
template :migration do |t|
|
10
|
+
t.source = File.join(%w|db migrate migration.rb|)
|
11
|
+
t.destination = File.join(%w|db migrate %migration_time%_%underscore%.rb|)
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class ModelGenerator < Templater::Generator
|
2
|
+
def self.source_root
|
3
|
+
File.join %W| #{File.dirname(__FILE__)} .. .. .. templates model |
|
4
|
+
end
|
5
|
+
|
6
|
+
first_argument :name, :require => true
|
7
|
+
|
8
|
+
empty_directory :models, 'models'
|
9
|
+
template :model do |t|
|
10
|
+
t.source = File.join %W| models model.rb|
|
11
|
+
t.destination = File.join %W| models %underscore%.rb|
|
12
|
+
end
|
13
|
+
|
14
|
+
empty_directory :tests, File.join('test','models')
|
15
|
+
template :test do |t|
|
16
|
+
t.source = File.join %W| test models test_model.rb |
|
17
|
+
t.destination = File.join %W| test models test_%underscore%.rb |
|
18
|
+
end
|
19
|
+
|
20
|
+
invoke :migration do |generator|
|
21
|
+
generator.new(destination_root, options.merge(:name => true), migration_name)
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class NewProjectGenerator < Templater::Generator
|
2
|
+
def self.source_root
|
3
|
+
File.join %W| #{File.dirname(__FILE__)} .. .. .. templates project |
|
4
|
+
end
|
5
|
+
|
6
|
+
first_argument :root, :required => true
|
7
|
+
|
8
|
+
empty_directory :root, '%root%'
|
9
|
+
empty_directory :log, File.join('%root%', 'log')
|
10
|
+
empty_directory :db, File.join('%root%', 'db')
|
11
|
+
empty_directory :config, File.join('%root%', 'config')
|
12
|
+
empty_directory :test, File.join('%root%', 'test')
|
13
|
+
empty_directory :script, File.join('%root%', 'script') # TODO Add chmod callback
|
14
|
+
empty_directory :'test/models', File.join('%root%', 'test', 'models')
|
15
|
+
empty_directory :'test/tasks', File.join('%root%', 'test', 'tasks')
|
16
|
+
|
17
|
+
files = [
|
18
|
+
['Rakefile'],
|
19
|
+
['initialize.rb'],
|
20
|
+
['config' ,'database.yml' ],
|
21
|
+
['script' ,'generate' ],
|
22
|
+
['test' ,'test_helper.rb' ],
|
23
|
+
]
|
24
|
+
|
25
|
+
files.each do |file_array|
|
26
|
+
file file_array.last.to_sym, File.join(*file_array), File.join('%root%',*file_array)
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
namespace :db do
|
2
|
+
|
3
|
+
desc "Drops all database tables"
|
4
|
+
task :drop => :environmane do
|
5
|
+
Sweetsie.down!
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "Migrates database"
|
9
|
+
task :migrate => :environment do
|
10
|
+
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
11
|
+
Sweetsie.up! version
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Drops and remigrates the database"
|
15
|
+
task :reset => ['drop', 'migrate']
|
16
|
+
# TODO Add safty code to provent this task from running in any ENV higher than testing
|
17
|
+
end
|
data/lib/sweetsie.rb
ADDED
File without changes
|
data/sweetsie.gemspec
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{sweetsie}
|
8
|
+
s.version = "0.0.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = [%q{Jacob Atkins}]
|
12
|
+
s.date = %q{2011-05-22}
|
13
|
+
s.description = %q{Quick framework for when you need to scratch something out!}
|
14
|
+
s.email = %q{jacob.atkins@projectadrienne.com}
|
15
|
+
s.executables = [%q{sweetsie}]
|
16
|
+
s.extra_rdoc_files = [
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
"README.rdoc",
|
21
|
+
"Rakefile",
|
22
|
+
"VERSION",
|
23
|
+
"bin/sweetsie",
|
24
|
+
"lib/sweetsie.rb",
|
25
|
+
"lib/sweetsie/generators/helper.rb",
|
26
|
+
"lib/sweetsie/generators/migration_generator.rb",
|
27
|
+
"lib/sweetsie/generators/model_generator.rb",
|
28
|
+
"lib/sweetsie/generators/new_project_generator.rb",
|
29
|
+
"lib/sweetsie/tasks/database.rb",
|
30
|
+
"sweetsie.gemspec",
|
31
|
+
"templates/migration/db/migrate/migration.rb",
|
32
|
+
"templates/model/models/model.rb",
|
33
|
+
"templates/model/test/models/test_model.rb",
|
34
|
+
"templates/project/Rakefile",
|
35
|
+
"templates/project/config/database.yml",
|
36
|
+
"templates/project/initialize.rb",
|
37
|
+
"templates/project/script/generate",
|
38
|
+
"templates/project/test/test_helper.rb"
|
39
|
+
]
|
40
|
+
s.homepage = %q{http://github.com/jatkins/sweetsie}
|
41
|
+
s.require_paths = [%q{lib}]
|
42
|
+
s.rubygems_version = %q{1.8.3}
|
43
|
+
s.summary = %q{Quick framework for when you need to scratch something out!}
|
44
|
+
|
45
|
+
if s.respond_to? :specification_version then
|
46
|
+
s.specification_version = 3
|
47
|
+
|
48
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
+
s.add_runtime_dependency(%q<templater>, [">= 0.5.0"])
|
50
|
+
s.add_runtime_dependency(%q<rake>, [">= 0.9.0"])
|
51
|
+
s.add_runtime_dependency(%q<activerecord>, [">= 3.0.3"])
|
52
|
+
else
|
53
|
+
s.add_dependency(%q<templater>, [">= 0.5.0"])
|
54
|
+
s.add_dependency(%q<rake>, [">= 0.9.0"])
|
55
|
+
s.add_dependency(%q<activerecord>, [">= 3.0.3"])
|
56
|
+
end
|
57
|
+
else
|
58
|
+
s.add_dependency(%q<templater>, [">= 0.5.0"])
|
59
|
+
s.add_dependency(%q<rake>, [">= 0.9.0"])
|
60
|
+
s.add_dependency(%q<activerecord>, [">= 3.0.3"])
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
:development:
|
2
|
+
:adapter: mysql
|
3
|
+
:database:
|
4
|
+
:host:
|
5
|
+
:user:
|
6
|
+
:password:
|
7
|
+
|
8
|
+
:testing:
|
9
|
+
:adapter: mysql
|
10
|
+
:database:
|
11
|
+
:host:
|
12
|
+
:user:
|
13
|
+
:password:
|
14
|
+
|
15
|
+
:staging:
|
16
|
+
:adapter: mysql
|
17
|
+
:database:
|
18
|
+
:host:
|
19
|
+
:user:
|
20
|
+
:password:
|
21
|
+
|
22
|
+
:production:
|
23
|
+
:adapter: mysql
|
24
|
+
:database:
|
25
|
+
:host:
|
26
|
+
:user:
|
27
|
+
:password:
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'activerecord'
|
3
|
+
|
4
|
+
module Sweeetsie
|
5
|
+
class << self
|
6
|
+
def boot(enviornment)
|
7
|
+
ActiveRecord::Base.establish_connection(db[environment])
|
8
|
+
|
9
|
+
ActiveRecord::Base.logger = Logger.new(File.join(File.dirname(__FILE__), 'log', "#{environment}.log"))
|
10
|
+
|
11
|
+
Dir[File.join(%W|#{File.dirname(__FILE__)} models ** *.rb |)].each {|r| load r}
|
12
|
+
end
|
13
|
+
|
14
|
+
def migrations
|
15
|
+
File.join(File.dirname(__FILE__), 'db', 'migrate')
|
16
|
+
end
|
17
|
+
|
18
|
+
def db
|
19
|
+
YAML::load(File.read(File.join(File.dirname(__FILE__), 'database.yml')))
|
20
|
+
end
|
21
|
+
|
22
|
+
def up!(version=nil)
|
23
|
+
ActiveRecord::Migration.migrate migrations, version
|
24
|
+
end
|
25
|
+
|
26
|
+
def down!
|
27
|
+
up!
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'templater'
|
5
|
+
|
6
|
+
require 'sweetsie/generators/helper'
|
7
|
+
require 'sweetsie/generators/migration_generator'
|
8
|
+
require 'sweetsie/generators/model_generator'
|
9
|
+
|
10
|
+
module SweetsieGenerators
|
11
|
+
extend Templater::Manifold
|
12
|
+
|
13
|
+
add :model, ModelGenerator
|
14
|
+
add :migration, MigrationGenerator
|
15
|
+
end
|
16
|
+
|
17
|
+
SweetsieGenerators.run_cli(Dir.pwd, 'sweetsie', '0.0.1', ARGV)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
$:.unshift("..")
|
2
|
+
|
3
|
+
# Loading gems
|
4
|
+
require 'rubygems'
|
5
|
+
require 'rake'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'shoulda'
|
8
|
+
|
9
|
+
# Loading our code
|
10
|
+
require 'initialize'
|
11
|
+
|
12
|
+
ActiveRecord::Migration.verbose = false
|
13
|
+
|
14
|
+
Sweetsie.boot :testing
|
15
|
+
Sweetsie.down!
|
16
|
+
Sweetsie.up!
|
17
|
+
|
18
|
+
def rake_up
|
19
|
+
Rake.application = Rake::Application.new
|
20
|
+
Rake::Task.define_task :environment
|
21
|
+
Rake.application
|
22
|
+
end
|
23
|
+
|
24
|
+
def rake_down
|
25
|
+
Rake.application = nil
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sweetsie
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Jacob Atkins
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-05-22 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: templater
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.5.0
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rake
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.9.0
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: activerecord
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 3.0.3
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id003
|
48
|
+
description: Quick framework for when you need to scratch something out!
|
49
|
+
email: jacob.atkins@projectadrienne.com
|
50
|
+
executables:
|
51
|
+
- sweetsie
|
52
|
+
extensions: []
|
53
|
+
|
54
|
+
extra_rdoc_files:
|
55
|
+
- README.rdoc
|
56
|
+
files:
|
57
|
+
- README.rdoc
|
58
|
+
- Rakefile
|
59
|
+
- VERSION
|
60
|
+
- bin/sweetsie
|
61
|
+
- lib/sweetsie.rb
|
62
|
+
- lib/sweetsie/generators/helper.rb
|
63
|
+
- lib/sweetsie/generators/migration_generator.rb
|
64
|
+
- lib/sweetsie/generators/model_generator.rb
|
65
|
+
- lib/sweetsie/generators/new_project_generator.rb
|
66
|
+
- lib/sweetsie/tasks/database.rb
|
67
|
+
- sweetsie.gemspec
|
68
|
+
- templates/migration/db/migrate/migration.rb
|
69
|
+
- templates/model/models/model.rb
|
70
|
+
- templates/model/test/models/test_model.rb
|
71
|
+
- templates/project/Rakefile
|
72
|
+
- templates/project/config/database.yml
|
73
|
+
- templates/project/initialize.rb
|
74
|
+
- templates/project/script/generate
|
75
|
+
- templates/project/test/test_helper.rb
|
76
|
+
homepage: http://github.com/jatkins/sweetsie
|
77
|
+
licenses: []
|
78
|
+
|
79
|
+
post_install_message:
|
80
|
+
rdoc_options: []
|
81
|
+
|
82
|
+
require_paths:
|
83
|
+
- lib
|
84
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: "0"
|
90
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: "0"
|
96
|
+
requirements: []
|
97
|
+
|
98
|
+
rubyforge_project:
|
99
|
+
rubygems_version: 1.8.3
|
100
|
+
signing_key:
|
101
|
+
specification_version: 3
|
102
|
+
summary: Quick framework for when you need to scratch something out!
|
103
|
+
test_files: []
|
104
|
+
|