generator-spec 0.4.2 → 0.4.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.2
1
+ 0.4.3
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{generator-spec}
8
- s.version = "0.4.2"
8
+ s.version = "0.4.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kristian Mandrup"]
12
- s.date = %q{2010-08-08}
12
+ s.date = %q{2010-08-09}
13
13
  s.description = %q{RSpec 2 library to assist in writing generator specs}
14
14
  s.email = %q{kmandrup@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -32,4 +32,21 @@ module RSpec::RubyContentMatchers
32
32
  def include_module(module_name)
33
33
  IncludeModule.new(module_name)
34
34
  end
35
+
36
+ def be_dm_resource
37
+ IncludeModule.new 'DataMapper::Resource'
38
+ end
39
+
40
+ def be_document(type, options=nil)
41
+ doc_type = options == :embedded ? 'EmbeddedDocument' : 'Document'
42
+ doc_orm = case type
43
+ when :mongo_mapper
44
+ 'MongoMapper'
45
+ when :mongoid
46
+ 'Mongoid'
47
+ else
48
+ raise ArgumentError, "Unknown document type #{type.inspect}"
49
+ end
50
+ IncludeModule.new "#{doc_orm}::#{doc_type}"
51
+ end
35
52
  end
@@ -27,5 +27,10 @@ module RSpec::RubyContentMatchers
27
27
 
28
28
  def inherit_from(klass)
29
29
  InheritFrom.new(klass)
30
- end
30
+ end
31
+
32
+ def be_active_record
33
+ InheritFrom.new('ActiveRecord::Base')
34
+ end
35
+
31
36
  end
@@ -1,11 +1,11 @@
1
1
  module RSpec::Rails
2
2
  module Model
3
- def create_model name, &block
3
+ def create_model name, type=nil, &block
4
4
  file = model_file_name(name)
5
5
  unless File.exist?(file)
6
6
  FileUtils.mkdir_p File.dirname(file)
7
7
  File.open(file, 'w') do |f|
8
- f.puts file_content(name)
8
+ f.puts file_content(name, type)
9
9
  yield f if block_given?
10
10
  end
11
11
  end
@@ -7,10 +7,10 @@ module RSpec::Rails
7
7
 
8
8
  protected
9
9
 
10
- def clazz name
10
+ def clazz name
11
11
  "class #{name.to_s.camelize}"
12
12
  end
13
-
13
+
14
14
  def file name
15
15
  %Q{#{clazz name}
16
16
  #{yield if block_given?}
@@ -26,9 +26,9 @@ module RSpec::Rails
26
26
  end}
27
27
  end
28
28
  end
29
-
30
- module ActiveRecord
31
- include RSpec::Rails::Orm::Base
29
+
30
+ module ActiveRecord
31
+ include RSpec::Rails::Orm::Base
32
32
 
33
33
  def file_content(name)
34
34
  file_w_inherit(name) {'ActiveRecord::Base'}
@@ -36,12 +36,13 @@ module RSpec::Rails
36
36
  end
37
37
 
38
38
  module MongoMapper
39
- include RSpec::Rails::Orm::Base
40
-
41
- def file_content name
42
- file_w_include(name) { 'MongoMapper::Document' }
39
+ include RSpec::Rails::Orm::Base
40
+
41
+ def file_content name, type = :document
42
+ type_content = type == :document ? 'MongoMapper::Document' : 'MongoMapper::EmbeddedDocument'
43
+ file_w_include(name) { type_content }
43
44
  end
44
-
45
+
45
46
  def field name, type = nil
46
47
  return "key :#{name}, #{type}" if type
47
48
  "key :#{name}"
@@ -50,28 +51,29 @@ module RSpec::Rails
50
51
 
51
52
  module Mongoid
52
53
  include RSpec::Rails::Orm::Base
53
-
54
- def file_content name
55
- file_w_include(name) { 'Mongoid::Document' }
54
+
55
+ def file_content name, type = :document
56
+ type_content = type == :document ? 'Mongoid::Document' : 'Mongoid::EmbeddedDocument'
57
+ file_w_include(name) { type_content }
56
58
  end
57
-
59
+
58
60
  def field name, type = nil
59
61
  return "field :#{name}, :type => #{type}" if type
60
62
  "field :#{name}"
61
- end
63
+ end
62
64
  end
63
65
 
64
66
  module DataMapper
65
67
  include RSpec::Rails::Orm::Base
66
-
68
+
67
69
  def file_content name
68
70
  file_w_include(name) { 'DataMapper::Resource' }
69
71
  end
70
-
72
+
71
73
  def field name, type = nil
72
74
  return "property :#{name}, #{type}" if type
73
75
  "property :#{name}"
74
- end
76
+ end
75
77
  end
76
78
  end
77
- end
79
+ end
@@ -19,14 +19,14 @@ describe 'migration_generator' do
19
19
 
20
20
  it "should generate create_user migration" do
21
21
  with_generator do |g|
22
- # remove_migration :create_users
23
- # g.run_generator [:create_users].args
22
+ remove_migration :create_users
23
+ g.run_generator [:create_users].args
24
24
  g.should generate_migration :create_users do |content|
25
25
  content.should have_migration :create_users do |klass|
26
26
  klass.should have_up do |up|
27
27
  up.should have_create_table :users do |user_tbl|
28
28
  user_tbl.should have_columns :name => :string, :age => :string
29
- user_tbl.should have_timestamps
29
+ user_tbl.should_not have_timestamps
30
30
  end
31
31
  end
32
32
 
@@ -2,7 +2,8 @@ require 'rspec'
2
2
  require 'rspec/autorun'
3
3
  require 'rspec_for_generators'
4
4
 
5
- RSpec::Generator.remove_temp_dir = false # true
5
+ RSpec::Generator.debug = false
6
+ RSpec::Generator.remove_temp_dir = true
6
7
  RSpec::Generator.configure_root_dir __FILE__
7
8
 
8
9
  module Rails
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 4
8
- - 2
9
- version: 0.4.2
8
+ - 3
9
+ version: 0.4.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Kristian Mandrup
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-08 00:00:00 +02:00
17
+ date: 2010-08-09 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency