modelizer 2.0.0 → 2.1.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 (3) hide show
  1. data/CHANGELOG.rdoc +5 -0
  2. data/lib/modelizer.rb +21 -4
  3. metadata +6 -26
@@ -1,3 +1,8 @@
1
+ === 2.1.0 / 2010-12-18
2
+
3
+ * Allow namespaces in helper names to be disabled.
4
+ * Don't assume test superclasses are loaded.
5
+
1
6
  === 2.0.0 / 2010-07-15
2
7
 
3
8
  * Remove ActiveSupport assumption, tweak for Rails 3.
@@ -4,10 +4,22 @@ require "modelizer/validations"
4
4
  module Modelizer
5
5
 
6
6
  # Duh.
7
- VERSION = "2.0.0"
7
+ VERSION = "2.1.0"
8
8
 
9
9
  include Modelizer::Assertions
10
10
 
11
+ # Test classes that should be considered abstract when rendering
12
+ # tests for a model template.
13
+
14
+ TEST_CLASSES = []
15
+
16
+ %w(Test::Unit::TestCase Minitest::Unit::TestCase
17
+ ActiveSupport::TestCase).each do |k|
18
+
19
+ TEST_CLASSES <<
20
+ k.split("::").inject(Object) { |a, b| a.const_get b } rescue nil
21
+ end
22
+
11
23
  @@cache = {}
12
24
  def self.cache; @@cache end
13
25
 
@@ -16,6 +28,10 @@ module Modelizer
16
28
  target.extend Modelizer::Validations
17
29
  end
18
30
 
31
+ @@namespace = true
32
+ def self.namespace?; @@namespace end
33
+ def self.namespace= ns; @@namespace = ns end
34
+
19
35
  def self.underscore classname
20
36
  classname.gsub(/::/, '_').
21
37
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
@@ -49,8 +65,9 @@ module Modelizer
49
65
 
50
66
  ::Modelizer.cache[klass] = [defaults, block]
51
67
 
52
- klass = klass.name
53
- model = ::Modelizer.underscore klass
68
+ klass = klass.name
69
+ nsklass = Modelizer.namespace? ? klass : klass.split("::").last
70
+ model = ::Modelizer.underscore nsklass
54
71
 
55
72
  module_eval <<-END, __FILE__, __LINE__ + 1
56
73
  def valid_#{model}_attributes extras = {}
@@ -104,7 +121,7 @@ module Modelizer
104
121
  end
105
122
  END
106
123
 
107
- if [Test::Unit::TestCase, ActiveSupport::TestCase].include? self
124
+ if TEST_CLASSES.include? self
108
125
  eval <<-END, nil, file, line - 2
109
126
  class ::ModelTemplateFor#{klass}Test < ActiveSupport::TestCase
110
127
  #{test}
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modelizer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
4
  prerelease: false
6
5
  segments:
7
6
  - 2
7
+ - 1
8
8
  - 0
9
- - 0
10
- version: 2.0.0
9
+ version: 2.1.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - John Barnette
@@ -15,41 +14,24 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-07-15 00:00:00 -07:00
17
+ date: 2010-12-18 00:00:00 -08:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- name: rubyforge
21
+ name: hoe
23
22
  prerelease: false
24
23
  requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 7
30
28
  segments:
31
29
  - 2
30
+ - 8
32
31
  - 0
33
- - 4
34
- version: 2.0.4
32
+ version: 2.8.0
35
33
  type: :development
36
34
  version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: hoe
39
- prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 21
46
- segments:
47
- - 2
48
- - 6
49
- - 1
50
- version: 2.6.1
51
- type: :development
52
- version_requirements: *id002
53
35
  description: |-
54
36
  Need a simple, consistent way to create model instances and check
55
37
  validations in your Rails tests? Use the Modelizer.
@@ -89,7 +71,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
71
  requirements:
90
72
  - - ">="
91
73
  - !ruby/object:Gem::Version
92
- hash: 3
93
74
  segments:
94
75
  - 0
95
76
  version: "0"
@@ -98,7 +79,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
79
  requirements:
99
80
  - - ">="
100
81
  - !ruby/object:Gem::Version
101
- hash: 3
102
82
  segments:
103
83
  - 0
104
84
  version: "0"