namelessjon-dm-gen 0.0.2 → 0.0.3

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/lib/dm_gen.rb ADDED
@@ -0,0 +1,22 @@
1
+ begin
2
+ require 'minigems'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ end
6
+
7
+ gem('templater', '~> 0.5.0')
8
+ require 'templater'
9
+
10
+ # setup manifold
11
+ module DMGen
12
+ extend Templater::Manifold
13
+
14
+ desc <<-eos
15
+ Generates files for the DataMapper ORM.
16
+ eos
17
+ end
18
+
19
+ # require generators
20
+ dir = File.join(File.dirname(__FILE__), 'generators')
21
+
22
+ require File.join(dir, 'one_file')
@@ -0,0 +1,28 @@
1
+ module DMGen
2
+ class OneFileGenerator < Templater::Generator
3
+ first_argument :name, :required => true
4
+ second_argument :model
5
+ third_argument :attributes, :as => :hash, :default => {}
6
+
7
+ desc <<-eos
8
+ Generates a 'one file test' for DataMapper, including debug logging and sqlite3 memory DB
9
+ Use like 'dm-gen one_file filename [model] [model,attributes,here]'
10
+ eos
11
+
12
+ def self.source_root
13
+ File.join(File.dirname(__FILE__), '..', 'templates')
14
+ end
15
+
16
+ template :one_file do |t|
17
+ t.source = 'one_file.rb'
18
+ t.destination = "#{self.name}.rb"
19
+ end
20
+
21
+ def model_name
22
+ (model) ? model.camel_case : "TestModel"
23
+ end
24
+
25
+ end
26
+
27
+ add :one_file, OneFileGenerator
28
+ end
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # A one file test to show ...
4
+ require 'rubygems'
5
+
6
+ gem('dm-core', '~> 0.9.7')
7
+ require 'dm-core'
8
+
9
+
10
+ # setup the logger
11
+ DataMapper::Logger.new(STDOUT, :debug)
12
+
13
+ # connect to the DB
14
+ DataMapper.setup(:default, 'sqlite3::memory:')
15
+
16
+ class <%= model_name %>
17
+ include DataMapper::Resource
18
+
19
+ # properties
20
+ property :id, Serial
21
+ <% attributes.each do |name, type| -%>
22
+ property :<%= name.snake_case %>, <%= type.camel_case %>
23
+ <% end %>
24
+ end
25
+
26
+ DataMapper.auto_migrate!
@@ -0,0 +1,7 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe "DmGen" do
4
+ it "fails" do
5
+ should.flunk "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ require 'rubygems'
2
+ require 'bacon'
3
+
4
+ # get a summary of errors raised and such
5
+ Bacon.summary_on_exit
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: namelessjon-dm-gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Stott
@@ -31,6 +31,13 @@ extra_rdoc_files: []
31
31
 
32
32
  files:
33
33
  - bin/dm-gen
34
+ - lib/templates
35
+ - lib/templates/one_file.rb
36
+ - lib/generators
37
+ - lib/generators/one_file.rb
38
+ - lib/dm_gen.rb
39
+ - spec/spec_helper.rb
40
+ - spec/dm_gen_spec.rb
34
41
  has_rdoc: false
35
42
  homepage: http://github.com/namelessjon/dm-gen
36
43
  post_install_message: