generator-spec 0.5.0 → 0.6.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/.document +0 -0
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/LICENSE +0 -0
- data/README.markdown +19 -13
- data/Rakefile +14 -35
- data/VERSION +1 -1
- data/generator-spec.gemspec +63 -148
- data/lib/generator-spec.rb +12 -0
- data/lib/generator-spec/namespaces.rb +7 -0
- data/lib/{generator_spec/helpers/configure_rails.rb → generator-spec/rails/configure.rb} +3 -3
- data/lib/generator-spec/rspec.rb +1 -0
- data/lib/generator-spec/rspec/configure.rb +6 -0
- data/lib/{generator_spec/rspec_generator/generator_util.rb → generator-spec/rspec/generator.rb} +6 -6
- data/lib/{generator_spec/rspec_generator → generator-spec/rspec/generator}/configure.rb +0 -0
- data/lib/{generator_spec/require_generator.rb → generator-spec/rspec/generator/require.rb} +0 -0
- data/lib/{generator_spec/rspec_generator → generator-spec/rspec/generator}/routes.rb +0 -0
- data/lib/{generator_spec/rspec_generator → generator-spec/rspec/generator}/test_case.rb +0 -0
- data/lib/generator-spec/rspec/macro.rb +18 -0
- data/lib/generator-spec/rspec/matchers/generate_artifact.rb +34 -0
- data/lib/generator-spec/rspec/matchers/generate_artifacts.rb +33 -0
- data/lib/generators/controller/controller_generator.rb +15 -21
- data/lib/generators/helper/helper_generator.rb +13 -29
- data/lib/generators/migration/migration_generator.rb +6 -7
- data/lib/generators/migration/templates/create_users.erb +0 -0
- data/lib/generators/model/model_generator.rb +36 -55
- data/lib/generators/observer/observer_generator.rb +2 -0
- data/lib/generators/view/view_generator.rb +2 -0
- data/spec/generator_spec/generators/controller_gen_spec.rb +40 -0
- data/spec/generator_spec/generators/{helper_generator_spec.rb → helper_gen_spec.rb} +4 -8
- data/spec/generator_spec/generators/{migration_generator_spec.rb → migration_gen_spec.rb} +3 -8
- data/spec/generator_spec/generators/model_gen_spec.rb +36 -0
- data/spec/generator_spec/generators/{observer_generator_spec.rb → observer_gen_spec.rb} +12 -21
- data/spec/generator_spec/generators/{view_generator_spec.rb → view_gen_spec.rb} +9 -20
- data/spec/generator_spec/matchers/generate_artifact_spec.rb +36 -0
- data/spec/generator_spec/matchers/generate_artifacts_spec.rb +35 -0
- data/spec/spec_helper.rb +5 -6
- data/wiki/Custom Rails 3 Generators.textile b/data/wiki/Custom Rails 3 → Generators.textile +0 -0
- data/wiki/content_matchers.textile +0 -0
- data/wiki/file_matchers.textile +0 -0
- data/wiki/migration_matchers.textile +0 -0
- data/wiki/rails_helpers.textile +0 -0
- metadata +117 -154
- data/lib/generator_spec.rb +0 -12
- data/lib/generator_spec/extensions/core_ext.rb +0 -47
- data/lib/generator_spec/helpers/generator_helper.rb +0 -11
- data/lib/generator_spec/helpers/migration_helper.rb +0 -69
- data/lib/generator_spec/main.rb +0 -77
- data/lib/generator_spec/matchers/content/content_matcher.rb +0 -110
- data/lib/generator_spec/matchers/content/have_block.rb +0 -57
- data/lib/generator_spec/matchers/content/have_call.rb +0 -59
- data/lib/generator_spec/matchers/content/have_calls.rb +0 -60
- data/lib/generator_spec/matchers/content/have_class_self.rb +0 -40
- data/lib/generator_spec/matchers/content/have_comment.rb +0 -42
- data/lib/generator_spec/matchers/content/have_method.rb +0 -66
- data/lib/generator_spec/matchers/content/have_module.rb +0 -66
- data/lib/generator_spec/matchers/content/have_region.rb +0 -48
- data/lib/generator_spec/matchers/content/have_subclass.rb +0 -50
- data/lib/generator_spec/matchers/content/include_module.rb +0 -51
- data/lib/generator_spec/matchers/content/inherit_from.rb +0 -40
- data/lib/generator_spec/matchers/file/generate_directory.rb +0 -73
- data/lib/generator_spec/matchers/file/generate_file.rb +0 -103
- data/lib/generator_spec/matchers/file/generate_migration.rb +0 -54
- data/lib/generator_spec/matchers/file/have_file.rb +0 -115
- data/lib/generator_spec/matchers/helpers/content.rb +0 -18
- data/lib/generator_spec/matchers/helpers/file.rb +0 -26
- data/lib/generator_spec/matchers/helpers/migration.rb +0 -89
- data/lib/generator_spec/matchers/migration/have_column.rb +0 -29
- data/lib/generator_spec/matchers/migration/have_index.rb +0 -9
- data/lib/generator_spec/matchers/migration/have_table.rb +0 -18
- data/lib/generator_spec/matchers/migration/have_tbl_column.rb +0 -25
- data/lib/generator_spec/matchers/migration/have_up_down.rb +0 -15
- data/lib/generator_spec/rails_helpers/base_helper.rb +0 -171
- data/lib/generator_spec/rails_helpers/rails_app.rb +0 -166
- data/lib/generator_spec/rails_helpers/rails_controller.rb +0 -44
- data/lib/generator_spec/rails_helpers/rails_helper.rb +0 -40
- data/lib/generator_spec/rails_helpers/rails_mailer.rb +0 -39
- data/lib/generator_spec/rails_helpers/rails_migration.rb +0 -51
- data/lib/generator_spec/rails_helpers/rails_model.rb +0 -40
- data/lib/generator_spec/rails_helpers/rails_observer.rb +0 -39
- data/lib/generator_spec/rails_helpers/rails_orm.rb +0 -114
- data/lib/generator_spec/rails_helpers/rails_view.rb +0 -65
- data/rspec_for_generators.gemspec +0 -96
- data/spec/generator_spec/generators/controller_generator_spec.rb +0 -47
- data/spec/generator_spec/generators/model_generator_spec.rb +0 -41
- data/spec/generator_spec/matchers/content/class_self_spec.rb +0 -30
- data/spec/generator_spec/matchers/content/have_block_spec.rb +0 -57
- data/spec/generator_spec/matchers/content/have_call_spec.rb +0 -55
- data/spec/generator_spec/matchers/content/have_calls_spec.rb +0 -47
- data/spec/generator_spec/matchers/content/have_class_spec.rb +0 -34
- data/spec/generator_spec/matchers/content/have_method_spec.rb +0 -52
- data/spec/generator_spec/matchers/content/have_module_spec.rb +0 -34
- data/spec/generator_spec/matchers/content/have_region_spec.rb +0 -56
- data/spec/generator_spec/matchers/content/have_subclass_spec.rb +0 -34
- data/spec/generator_spec/matchers/content/include_module_spec.rb +0 -36
- data/spec/generator_spec/matchers/content/inherit_from_spec.rb +0 -34
- data/spec/generator_spec/matchers/file/directory_spec.rb +0 -0
- data/spec/generator_spec/matchers/file/file_spec.rb +0 -0
- data/spec/generator_spec/matchers/file/migration_spec.rb +0 -0
- data/spec/generator_spec/matchers/migration/have_column_spec.rb +0 -0
- data/spec/generator_spec/matchers/migration/have_index_spec.rb +0 -0
- data/spec/generator_spec/matchers/migration/have_table_spec.rb +0 -0
- data/spec/generator_spec/matchers/migration/have_tbl_column_spec.rb +0 -0
- data/spec/generator_spec/matchers/migration/have_up_down_spec.rb +0 -0
- data/spec/generator_spec/matchers/rails/controller_matcher_spec.rb +0 -27
- data/spec/generator_spec/matchers/rails/helper_matcher_spec.rb +0 -26
- data/spec/generator_spec/matchers/rails/mailer_matcher_spec.rb +0 -24
- data/spec/generator_spec/matchers/rails/model_matcher_spec.rb +0 -31
- data/spec/generator_spec/matchers/rails/observer_matcher_spec.rb +0 -19
- data/spec/generator_spec/matchers/rails/view_matcher_spec.rb +0 -23
- data/spec/generator_spec/rails_helpers/rails_app_spec.rb +0 -0
- data/spec/generator_spec/rails_helpers/rails_controller_spec.rb +0 -33
- data/spec/generator_spec/rails_helpers/rails_helper_spec.rb +0 -33
- data/spec/generator_spec/rails_helpers/rails_mailer_spec.rb +0 -33
- data/spec/generator_spec/rails_helpers/rails_migration_spec.rb +0 -0
- data/spec/generator_spec/rails_helpers/rails_model_spec.rb +0 -31
- data/spec/generator_spec/rails_helpers/rails_observer_spec.rb +0 -33
- data/spec/generator_spec/rails_helpers/rails_orm_spec.rb +0 -0
- data/spec/generator_spec/rails_helpers/rails_view_spec.rb +0 -31
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
module RSpec::RubyContentMatchers
|
|
2
|
-
class HaveCalls < HaveCall
|
|
3
|
-
attr_reader :calls, :method, :args
|
|
4
|
-
|
|
5
|
-
def initialize(*calls)
|
|
6
|
-
case calls.first
|
|
7
|
-
when Array, Hash
|
|
8
|
-
@calls = calls.first
|
|
9
|
-
else
|
|
10
|
-
@calls = calls
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def matches?(content)
|
|
15
|
-
super
|
|
16
|
-
case calls
|
|
17
|
-
when Array
|
|
18
|
-
do_list
|
|
19
|
-
when Hash
|
|
20
|
-
do_hash
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
protected
|
|
25
|
-
|
|
26
|
-
def do_list
|
|
27
|
-
calls.each do |method|
|
|
28
|
-
@method = method.to_s
|
|
29
|
-
expr =
|
|
30
|
-
has_def = (content =~ /def(.*)#{method}/)
|
|
31
|
-
expr = if has_def
|
|
32
|
-
/#{not_def}\s*#{method}/m
|
|
33
|
-
else
|
|
34
|
-
/#{not_def}?\s*#{method}/m
|
|
35
|
-
end
|
|
36
|
-
return false if (content =~ expr) == nil
|
|
37
|
-
end
|
|
38
|
-
true
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def do_hash
|
|
42
|
-
calls.each_pair do |method, args|
|
|
43
|
-
@method = method.to_s
|
|
44
|
-
@args = args
|
|
45
|
-
has_def = (content =~ /def(.*)#{method}/)
|
|
46
|
-
expr = if has_def
|
|
47
|
-
/#{not_def}\s*#{method}\s*#{args_expr}/m
|
|
48
|
-
else
|
|
49
|
-
/#{not_def}?\s*#{method}\s*#{args_expr}/m
|
|
50
|
-
end
|
|
51
|
-
return false if (content =~ expr) == nil
|
|
52
|
-
end
|
|
53
|
-
true
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def have_calls(*calls)
|
|
58
|
-
HaveCalls.new(*calls)
|
|
59
|
-
end
|
|
60
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# This method tries to see if a specific method is contained in the generated file.
|
|
2
|
-
# It can operate (should) on either a file name or the raw content
|
|
3
|
-
#
|
|
4
|
-
# generated_file_name.should have_method "hello" # 'my/path/say_hello.rb'.should have_method "hello"
|
|
5
|
-
#
|
|
6
|
-
# say_hello_file_content.should have_method "hello"
|
|
7
|
-
#
|
|
8
|
-
module RSpec::RubyContentMatchers
|
|
9
|
-
class HaveClassSelf < RSpec::RubyContentMatcher
|
|
10
|
-
|
|
11
|
-
def initialize
|
|
12
|
-
@end_option = 'class'
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def failure_message
|
|
16
|
-
super
|
|
17
|
-
return "Expected there to be a: class << self"
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def negative_failure_message
|
|
21
|
-
super
|
|
22
|
-
"Did not expect there to be a: class << self"
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
protected
|
|
26
|
-
|
|
27
|
-
def main_expr
|
|
28
|
-
'class\s*<<\s*self' + ANY_GROUP
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def alt_end
|
|
32
|
-
'class self'
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def have_class_self
|
|
37
|
-
HaveClassSelf.new
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# This method tries to see if a specific method is contained in the generated file.
|
|
2
|
-
# It can operate (should) on either a file name or the raw content
|
|
3
|
-
#
|
|
4
|
-
# generated_file_name.should have_method "hello" # 'my/path/say_hello.rb'.should have_method "hello"
|
|
5
|
-
#
|
|
6
|
-
# say_hello_file_content.should have_method "hello"
|
|
7
|
-
#
|
|
8
|
-
module RSpec::RubyContentMatchers
|
|
9
|
-
class HaveComment < RSpec::RubyContentMatcher
|
|
10
|
-
attr_accessor :comment
|
|
11
|
-
|
|
12
|
-
def initialize comment
|
|
13
|
-
@comment = comment
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def matches?(content)
|
|
17
|
-
@content = content
|
|
18
|
-
(content =~ /#{main_expr}/)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def failure_message
|
|
22
|
-
super
|
|
23
|
-
"Expected there to be the comment '# #{comment}'"
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def negative_failure_message
|
|
27
|
-
super
|
|
28
|
-
"Did not expect there to be the comment '# #{comment}'"
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
protected
|
|
32
|
-
|
|
33
|
-
def main_expr
|
|
34
|
-
'\s*#\s*' + "#{comment}"
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def have_comment comment
|
|
39
|
-
HaveComment.new comment
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
end
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# This method tries to see if a specific method is contained in the generated file.
|
|
2
|
-
# It can operate (should) on either a file name or the raw content
|
|
3
|
-
#
|
|
4
|
-
# generated_file_name.should have_method "hello" # 'my/path/say_hello.rb'.should have_method "hello"
|
|
5
|
-
#
|
|
6
|
-
# say_hello_file_content.should have_method "hello"
|
|
7
|
-
#
|
|
8
|
-
module RSpec::RubyContentMatchers
|
|
9
|
-
class HaveMethod < RSpec::RubyContentMatcher
|
|
10
|
-
attr_reader :method, :type, :args
|
|
11
|
-
|
|
12
|
-
def initialize(method, type=nil, options = {})
|
|
13
|
-
@method = method.to_s
|
|
14
|
-
super method
|
|
15
|
-
@type = type
|
|
16
|
-
@args = options[:args]
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def index
|
|
20
|
-
1
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def failure_message
|
|
24
|
-
super
|
|
25
|
-
"Expected there to be the #{class_msg} method #{method}, but there wasn't"
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def negative_failure_message
|
|
29
|
-
super
|
|
30
|
-
"Did not expect there to be the #{class_msg} method #{method}, but there was"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
protected
|
|
34
|
-
|
|
35
|
-
def class_msg
|
|
36
|
-
(type == :class) ? 'class' : ''
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def main_expr
|
|
40
|
-
'def' + SPACES + "#{self_expr}#{method}#{args_expr}" + ANY_GROUP
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def args_expr
|
|
44
|
-
return super if args
|
|
45
|
-
any_args_expr
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def self_expr
|
|
49
|
-
type == :class ? 'self.' : ''
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def alt_end
|
|
53
|
-
'def'
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def have_method(method, type = nil)
|
|
59
|
-
HaveMethod.new(method, type)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def have_args_method(method, options = {})
|
|
63
|
-
HaveMethod.new(method, options[:type], options)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
end
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
module RSpec::RubyContentMatchers
|
|
2
|
-
class HaveModule < RSpec::RubyContentMatcher
|
|
3
|
-
attr_reader :name, :type, :postfix
|
|
4
|
-
|
|
5
|
-
def initialize(name, postfix=nil)
|
|
6
|
-
@name = name.to_s.camelize
|
|
7
|
-
super @name
|
|
8
|
-
@postfix = postfix.to_s.camelize if postfix
|
|
9
|
-
@type = :module
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def failure_message
|
|
13
|
-
super
|
|
14
|
-
"Expected there to be the #{type} #{name}"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def negative_failure_message
|
|
18
|
-
super
|
|
19
|
-
"Did not expected there to be the #{type} #{name}"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
protected
|
|
23
|
-
|
|
24
|
-
def main_expr
|
|
25
|
-
"#{type}" + SPACES + "#{name}#{postfix}" + SPACES + ANY_GROUP
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def alt_end
|
|
29
|
-
type
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
class HaveClass < HaveModule
|
|
34
|
-
|
|
35
|
-
def initialize(name, postfix)
|
|
36
|
-
super name, postfix
|
|
37
|
-
@type = :class
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def have_module(module_name, postfix=nil)
|
|
42
|
-
HaveModule.new(module_name, postfix)
|
|
43
|
-
end
|
|
44
|
-
alias_method :be_module, :have_module
|
|
45
|
-
|
|
46
|
-
def have_class(module_name)
|
|
47
|
-
HaveModule.new(module_name, :class)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def have_class(klass, postfix = nil)
|
|
51
|
-
HaveClass.new(klass, postfix)
|
|
52
|
-
end
|
|
53
|
-
alias_method :be_class, :have_class
|
|
54
|
-
|
|
55
|
-
def have_helper_class(klass)
|
|
56
|
-
HaveClass.new(klass, :helper)
|
|
57
|
-
end
|
|
58
|
-
alias_method :be_helper_class, :have_helper_class
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def have_controller_class(klass)
|
|
62
|
-
HaveClass.new(klass, :controller)
|
|
63
|
-
end
|
|
64
|
-
alias_method :be_controller_class, :have_controller_class
|
|
65
|
-
|
|
66
|
-
end
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
module RSpec::RubyContentMatchers
|
|
2
|
-
class HaveRegion < RSpec::RubyContentMatcher
|
|
3
|
-
attr_reader :region
|
|
4
|
-
|
|
5
|
-
def initialize(region)
|
|
6
|
-
@region = region.to_s
|
|
7
|
-
super @region
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def failure_message
|
|
11
|
-
super
|
|
12
|
-
"Expected there to be a #{region} region"
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def negative_failure_message
|
|
16
|
-
super
|
|
17
|
-
"Did no expected there to be a #{region} region"
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
protected
|
|
21
|
-
|
|
22
|
-
def main_expr
|
|
23
|
-
"#{region}" + ANY_GROUP
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def end_expr
|
|
27
|
-
'(private|protected|public|$)'
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def have_region name
|
|
32
|
-
HaveRegion.new name
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def have_public
|
|
36
|
-
HaveRegion.new :public
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def have_protected
|
|
40
|
-
HaveRegion.new :protected
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def have_private
|
|
44
|
-
HaveRegion.new :private
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
module RSpec::RubyContentMatchers
|
|
2
|
-
class HaveSubclass < RSpec::RubyContentMatcher
|
|
3
|
-
attr_reader :klass, :superclass, :type
|
|
4
|
-
|
|
5
|
-
def initialize(klass, superclass, type=nil)
|
|
6
|
-
@klass = klass.to_s.camelize
|
|
7
|
-
super @klass
|
|
8
|
-
@superclass = superclass.to_s.camelize
|
|
9
|
-
@type = type.to_s.camelize if type
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def failure_message
|
|
13
|
-
super
|
|
14
|
-
"Expected there to be the subclass #{klass} of #{superclass}"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def negative_failure_message
|
|
18
|
-
super
|
|
19
|
-
"Did no expected there to be the subclass #{klass} of #{superclass}"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
protected
|
|
23
|
-
|
|
24
|
-
def main_expr
|
|
25
|
-
'class' + SPACES + "#{klass}#{type}" + OPT_SPACES + '<' + OPT_SPACES + "#{superclass}" + ANY_GROUP
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def alt_end
|
|
29
|
-
'class'
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def have_subclass(klass, superclass, type=nil)
|
|
35
|
-
HaveSubclass.new(klass, superclass, type)
|
|
36
|
-
end
|
|
37
|
-
alias_method :be_subclass, :have_subclass
|
|
38
|
-
|
|
39
|
-
def have_observer_class(klass)
|
|
40
|
-
HaveSubclass.new(klass, 'ActiveRecord::Observer', :observer)
|
|
41
|
-
end
|
|
42
|
-
alias_method :be_observer, :have_observer_class
|
|
43
|
-
alias_method :be_observer_class, :have_observer_class
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def have_migration(klass)
|
|
47
|
-
HaveSubclass.new(klass, 'ActiveRecord::Migration')
|
|
48
|
-
end
|
|
49
|
-
alias_method :be_migration, :have_migration
|
|
50
|
-
end
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
module RSpec::RubyContentMatchers
|
|
2
|
-
class IncludeModule < RSpec::RubyContentMatcher
|
|
3
|
-
attr_reader :module_name, :type
|
|
4
|
-
|
|
5
|
-
def initialize module_name, type=nil
|
|
6
|
-
@module_name = module_name.to_s.camelize
|
|
7
|
-
@type = type || :include
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def matches?(content)
|
|
11
|
-
@content = content
|
|
12
|
-
(content =~ /#{type}\s+#{module_name}/)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def failure_message
|
|
16
|
-
super
|
|
17
|
-
"Expected there to be an inclusion of module #{module_name}"
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def negative_failure_message
|
|
21
|
-
super
|
|
22
|
-
"Did not expect there to be an inclusion of module #{module_name}"
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def include_module(module_name)
|
|
28
|
-
IncludeModule.new(module_name)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def extend_module(module_name)
|
|
32
|
-
IncludeModule.new(module_name, :extend)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def be_dm_resource
|
|
36
|
-
IncludeModule.new 'DataMapper::Resource'
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def be_document(type, options=nil)
|
|
40
|
-
doc_type = options == :embedded ? 'EmbeddedDocument' : 'Document'
|
|
41
|
-
doc_orm = case type
|
|
42
|
-
when :mongo_mapper
|
|
43
|
-
'MongoMapper'
|
|
44
|
-
when :mongoid
|
|
45
|
-
'Mongoid'
|
|
46
|
-
else
|
|
47
|
-
raise ArgumentError, "Unknown document type #{type.inspect}"
|
|
48
|
-
end
|
|
49
|
-
IncludeModule.new "#{doc_orm}::#{doc_type}"
|
|
50
|
-
end
|
|
51
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
module RSpec::RubyContentMatchers
|
|
2
|
-
class InheritFrom < RSpec::RubyContentMatcher
|
|
3
|
-
attr_reader :klass
|
|
4
|
-
|
|
5
|
-
def initialize klass
|
|
6
|
-
@klass = klass.to_s.camelize
|
|
7
|
-
super @klass
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def index
|
|
11
|
-
1
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def failure_message
|
|
15
|
-
super
|
|
16
|
-
"Expected the class to inherit from #{klass}"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def negative_failure_message
|
|
20
|
-
super
|
|
21
|
-
"Did not expect the class to inherit from #{klass}"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
protected
|
|
25
|
-
|
|
26
|
-
def main_expr
|
|
27
|
-
'class' + SPACES + Q_ANY_GROUP + '<' + OPT_SPACES + "#{klass}" + ANY_GROUP
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def inherit_from(klass)
|
|
32
|
-
InheritFrom.new(klass)
|
|
33
|
-
end
|
|
34
|
-
alias_method :be_subclass_of, :inherit_from
|
|
35
|
-
|
|
36
|
-
def be_active_record
|
|
37
|
-
InheritFrom.new('ActiveRecord::Base')
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
end
|