remarkable_activerecord 3.1.13 → 4.0.0.alpha1

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.
@@ -1,20 +1,46 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
1
4
  # -*- encoding: utf-8 -*-
2
5
 
3
6
  Gem::Specification.new do |s|
4
7
  s.name = %q{remarkable_activerecord}
5
- s.version = "3.1.13"
8
+ s.version = "4.0.0.alpha1"
6
9
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Carlos Brando", "Jos\303\251 Valim", "Diego Carrion"]
9
- s.date = %q{2010-02-19}
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Ho-Sheng Hsiao", "Carlos Brando", "Jos\303\251 Valim", "Diego Carrion"]
12
+ s.date = %q{2010-04-22}
10
13
  s.description = %q{Remarkable ActiveRecord: collection of matchers and macros with I18n for ActiveRecord}
11
- s.email = ["eduardobrando@gmail.com", "jose.valim@gmail.com", "dc.rec1@gmail.com"]
12
- s.extra_rdoc_files = ["README", "LICENSE", "CHANGELOG"]
13
- s.files = ["README", "LICENSE", "CHANGELOG", "lib/remarkable_activerecord", "lib/remarkable_activerecord/base.rb", "lib/remarkable_activerecord/describe.rb", "lib/remarkable_activerecord/human_names.rb", "lib/remarkable_activerecord/matchers", "lib/remarkable_activerecord/matchers/accept_nested_attributes_for_matcher.rb", "lib/remarkable_activerecord/matchers/allow_mass_assignment_of_matcher.rb", "lib/remarkable_activerecord/matchers/allow_values_for_matcher.rb", "lib/remarkable_activerecord/matchers/association_matcher.rb", "lib/remarkable_activerecord/matchers/have_column_matcher.rb", "lib/remarkable_activerecord/matchers/have_default_scope_matcher.rb", "lib/remarkable_activerecord/matchers/have_index_matcher.rb", "lib/remarkable_activerecord/matchers/have_readonly_attributes_matcher.rb", "lib/remarkable_activerecord/matchers/have_scope_matcher.rb", "lib/remarkable_activerecord/matchers/validate_acceptance_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_associated_matcher.rb", "lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_exclusion_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_inclusion_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_length_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_numericality_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_presence_of_matcher.rb", "lib/remarkable_activerecord/matchers/validate_uniqueness_of_matcher.rb", "lib/remarkable_activerecord.rb", "locale/en.yml", "remarkable_activerecord.gemspec"]
14
+ s.email = ["hosh@sparkfly.com", "eduardobrando@gmail.com", "jose.valim@gmail.com", "dc.rec1@gmail.com"]
15
+ s.extra_rdoc_files = [
16
+ "CHANGELOG",
17
+ "LICENSE",
18
+ "README"
19
+ ]
20
+ s.files = [
21
+ "CHANGELOG",
22
+ "LICENSE",
23
+ "README",
24
+ "lib/remarkable_activerecord.rb",
25
+ "lib/remarkable_activerecord/base.rb",
26
+ "lib/remarkable_activerecord/matchers/accept_nested_attributes_for_matcher.rb",
27
+ "lib/remarkable_activerecord/matchers/allow_mass_assignment_of_matcher.rb",
28
+ "lib/remarkable_activerecord/matchers/association_matcher.rb",
29
+ "lib/remarkable_activerecord/matchers/have_column_matcher.rb",
30
+ "lib/remarkable_activerecord/matchers/have_default_scope_matcher.rb",
31
+ "lib/remarkable_activerecord/matchers/have_index_matcher.rb",
32
+ "lib/remarkable_activerecord/matchers/have_readonly_attributes_matcher.rb",
33
+ "lib/remarkable_activerecord/matchers/have_scope_matcher.rb",
34
+ "lib/remarkable_activerecord/matchers/validate_associated_matcher.rb",
35
+ "lib/remarkable_activerecord/matchers/validate_uniqueness_of_matcher.rb",
36
+ "locale/en.yml",
37
+ "remarkable_activerecord.gemspec"
38
+ ]
14
39
  s.homepage = %q{http://github.com/carlosbrando/remarkable}
40
+ s.rdoc_options = ["--charset=UTF-8"]
15
41
  s.require_paths = ["lib"]
16
42
  s.rubyforge_project = %q{remarkable}
17
- s.rubygems_version = %q{1.3.5}
43
+ s.rubygems_version = %q{1.3.6}
18
44
  s.summary = %q{Remarkable ActiveRecord: collection of matchers and macros with I18n for ActiveRecord}
19
45
 
20
46
  if s.respond_to? :specification_version then
@@ -22,14 +48,18 @@ Gem::Specification.new do |s|
22
48
  s.specification_version = 3
23
49
 
24
50
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
25
- s.add_runtime_dependency(%q<rspec>, [">= 1.2.0"])
26
- s.add_runtime_dependency(%q<remarkable>, ["~> 3.1.13"])
51
+ s.add_runtime_dependency(%q<rspec>, [">= 2.0.0.alpha7"])
52
+ s.add_runtime_dependency(%q<remarkable>, ["~> 4.0.0.alpha1"])
53
+ s.add_runtime_dependency(%q<remarkable_activemodel>, ["~> 4.0.0.alpha1"])
27
54
  else
28
- s.add_dependency(%q<rspec>, [">= 1.2.0"])
29
- s.add_dependency(%q<remarkable>, ["~> 3.1.13"])
55
+ s.add_dependency(%q<rspec>, [">= 2.0.0.alpha7"])
56
+ s.add_dependency(%q<remarkable>, ["~> 4.0.0.alpha1"])
57
+ s.add_dependency(%q<remarkable_activemodel>, ["~> 4.0.0.alpha1"])
30
58
  end
31
59
  else
32
- s.add_dependency(%q<rspec>, [">= 1.2.0"])
33
- s.add_dependency(%q<remarkable>, ["~> 3.1.13"])
60
+ s.add_dependency(%q<rspec>, [">= 2.0.0.alpha7"])
61
+ s.add_dependency(%q<remarkable>, ["~> 4.0.0.alpha1"])
62
+ s.add_dependency(%q<remarkable_activemodel>, ["~> 4.0.0.alpha1"])
34
63
  end
35
64
  end
65
+
metadata CHANGED
@@ -1,9 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remarkable_activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.13
4
+ prerelease: true
5
+ segments:
6
+ - 4
7
+ - 0
8
+ - 0
9
+ - alpha1
10
+ version: 4.0.0.alpha1
5
11
  platform: ruby
6
12
  authors:
13
+ - Ho-Sheng Hsiao
7
14
  - Carlos Brando
8
15
  - "Jos\xC3\xA9 Valim"
9
16
  - Diego Carrion
@@ -11,31 +18,57 @@ autorequire:
11
18
  bindir: bin
12
19
  cert_chain: []
13
20
 
14
- date: 2010-02-19 00:00:00 +01:00
21
+ date: 2010-04-22 00:00:00 -04:00
15
22
  default_executable:
16
23
  dependencies:
17
24
  - !ruby/object:Gem::Dependency
18
25
  name: rspec
19
- type: :runtime
20
- version_requirement:
21
- version_requirements: !ruby/object:Gem::Requirement
26
+ prerelease: false
27
+ requirement: &id001 !ruby/object:Gem::Requirement
22
28
  requirements:
23
29
  - - ">="
24
30
  - !ruby/object:Gem::Version
25
- version: 1.2.0
26
- version:
31
+ segments:
32
+ - 2
33
+ - 0
34
+ - 0
35
+ - alpha7
36
+ version: 2.0.0.alpha7
37
+ type: :runtime
38
+ version_requirements: *id001
27
39
  - !ruby/object:Gem::Dependency
28
40
  name: remarkable
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ segments:
47
+ - 4
48
+ - 0
49
+ - 0
50
+ - alpha1
51
+ version: 4.0.0.alpha1
29
52
  type: :runtime
30
- version_requirement:
31
- version_requirements: !ruby/object:Gem::Requirement
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: remarkable_activemodel
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
32
58
  requirements:
33
59
  - - ~>
34
60
  - !ruby/object:Gem::Version
35
- version: 3.1.13
36
- version:
61
+ segments:
62
+ - 4
63
+ - 0
64
+ - 0
65
+ - alpha1
66
+ version: 4.0.0.alpha1
67
+ type: :runtime
68
+ version_requirements: *id003
37
69
  description: "Remarkable ActiveRecord: collection of matchers and macros with I18n for ActiveRecord"
38
70
  email:
71
+ - hosh@sparkfly.com
39
72
  - eduardobrando@gmail.com
40
73
  - jose.valim@gmail.com
41
74
  - dc.rec1@gmail.com
@@ -44,35 +77,25 @@ executables: []
44
77
  extensions: []
45
78
 
46
79
  extra_rdoc_files:
47
- - README
48
- - LICENSE
49
80
  - CHANGELOG
50
- files:
51
- - README
52
81
  - LICENSE
82
+ - README
83
+ files:
53
84
  - CHANGELOG
85
+ - LICENSE
86
+ - README
87
+ - lib/remarkable_activerecord.rb
54
88
  - lib/remarkable_activerecord/base.rb
55
- - lib/remarkable_activerecord/describe.rb
56
- - lib/remarkable_activerecord/human_names.rb
57
89
  - lib/remarkable_activerecord/matchers/accept_nested_attributes_for_matcher.rb
58
90
  - lib/remarkable_activerecord/matchers/allow_mass_assignment_of_matcher.rb
59
- - lib/remarkable_activerecord/matchers/allow_values_for_matcher.rb
60
91
  - lib/remarkable_activerecord/matchers/association_matcher.rb
61
92
  - lib/remarkable_activerecord/matchers/have_column_matcher.rb
62
93
  - lib/remarkable_activerecord/matchers/have_default_scope_matcher.rb
63
94
  - lib/remarkable_activerecord/matchers/have_index_matcher.rb
64
95
  - lib/remarkable_activerecord/matchers/have_readonly_attributes_matcher.rb
65
96
  - lib/remarkable_activerecord/matchers/have_scope_matcher.rb
66
- - lib/remarkable_activerecord/matchers/validate_acceptance_of_matcher.rb
67
97
  - lib/remarkable_activerecord/matchers/validate_associated_matcher.rb
68
- - lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
69
- - lib/remarkable_activerecord/matchers/validate_exclusion_of_matcher.rb
70
- - lib/remarkable_activerecord/matchers/validate_inclusion_of_matcher.rb
71
- - lib/remarkable_activerecord/matchers/validate_length_of_matcher.rb
72
- - lib/remarkable_activerecord/matchers/validate_numericality_of_matcher.rb
73
- - lib/remarkable_activerecord/matchers/validate_presence_of_matcher.rb
74
98
  - lib/remarkable_activerecord/matchers/validate_uniqueness_of_matcher.rb
75
- - lib/remarkable_activerecord.rb
76
99
  - locale/en.yml
77
100
  - remarkable_activerecord.gemspec
78
101
  has_rdoc: true
@@ -80,26 +103,30 @@ homepage: http://github.com/carlosbrando/remarkable
80
103
  licenses: []
81
104
 
82
105
  post_install_message:
83
- rdoc_options: []
84
-
106
+ rdoc_options:
107
+ - --charset=UTF-8
85
108
  require_paths:
86
109
  - lib
87
110
  required_ruby_version: !ruby/object:Gem::Requirement
88
111
  requirements:
89
112
  - - ">="
90
113
  - !ruby/object:Gem::Version
114
+ segments:
115
+ - 0
91
116
  version: "0"
92
- version:
93
117
  required_rubygems_version: !ruby/object:Gem::Requirement
94
118
  requirements:
95
- - - ">="
119
+ - - ">"
96
120
  - !ruby/object:Gem::Version
97
- version: "0"
98
- version:
121
+ segments:
122
+ - 1
123
+ - 3
124
+ - 1
125
+ version: 1.3.1
99
126
  requirements: []
100
127
 
101
128
  rubyforge_project: remarkable
102
- rubygems_version: 1.3.5
129
+ rubygems_version: 1.3.6
103
130
  signing_key:
104
131
  specification_version: 3
105
132
  summary: "Remarkable ActiveRecord: collection of matchers and macros with I18n for ActiveRecord"
@@ -1,198 +0,0 @@
1
- module Remarkable
2
- module ActiveRecord
3
-
4
- def self.after_include(target) #:nodoc:
5
- target.class_inheritable_reader :describe_subject_attributes, :default_subject_attributes
6
- target.send :include, Describe
7
- end
8
-
9
- # Overwrites describe to provide quick way to configure your subject:
10
- #
11
- # describe Post
12
- # should_validate_presente_of :title
13
- #
14
- # describe :published => true do
15
- # should_validate_presence_of :published_at
16
- # end
17
- # end
18
- #
19
- # This is the same as:
20
- #
21
- # describe Post
22
- # should_validate_presente_of :title
23
- #
24
- # describe "when published is true" do
25
- # subject { Post.new(:published => true) }
26
- # should_validate_presence_of :published_at
27
- # end
28
- # end
29
- #
30
- # The string can be localized using I18n. An example yml file is:
31
- #
32
- # locale:
33
- # remarkable:
34
- # active_record:
35
- # describe:
36
- # each: "{{key}} is {{value}}"
37
- # prepend: "when "
38
- # connector: " and "
39
- #
40
- # You can also call subject attributes to set the default attributes for a
41
- # subject. You can even mix with a fixture replacement tool:
42
- #
43
- # describe Post
44
- # # Fixjour example
45
- # subject_attributes { valid_post_attributes }
46
- #
47
- # describe :published => true do
48
- # should_validate_presence_of :published_at
49
- # end
50
- # end
51
- #
52
- # You can retrieve the merged result of all attributes given using the
53
- # subject_attributes instance method:
54
- #
55
- # describe Post
56
- # # Fixjour example
57
- # subject_attributes { valid_post_attributes }
58
- #
59
- # describe :published => true do
60
- # it "should have default subject attributes" do
61
- # subject_attributes.should == { :title => 'My title', :published => true }
62
- # end
63
- # end
64
- # end
65
- #
66
- module Describe
67
-
68
- def self.included(base) #:nodoc:
69
- base.extend ClassMethods
70
- end
71
-
72
- module ClassMethods
73
-
74
- # Overwrites describe to provide quick way to configure your subject:
75
- #
76
- # describe Post
77
- # should_validate_presente_of :title
78
- #
79
- # describe :published => true do
80
- # should_validate_presence_of :published_at
81
- # end
82
- # end
83
- #
84
- # This is the same as:
85
- #
86
- # describe Post
87
- # should_validate_presente_of :title
88
- #
89
- # describe "when published is true" do
90
- # subject { Post.new(:published => true) }
91
- # should_validate_presence_of :published_at
92
- # end
93
- # end
94
- #
95
- # The string can be localized using I18n. An example yml file is:
96
- #
97
- # locale:
98
- # remarkable:
99
- # active_record:
100
- # describe:
101
- # each: "{{key}} is {{value}}"
102
- # prepend: "when "
103
- # connector: " and "
104
- #
105
- # See also subject_attributes instance and class methods for more
106
- # information.
107
- #
108
- def describe(*args, &block)
109
- if described_class && args.first.is_a?(Hash)
110
- attributes = args.shift
111
- connector = Remarkable.t "remarkable.active_record.describe.connector", :default => " and "
112
-
113
- description = if self.describe_subject_attributes.blank?
114
- Remarkable.t("remarkable.active_record.describe.prepend", :default => "when ")
115
- else
116
- connector.lstrip
117
- end
118
-
119
- pieces = []
120
- attributes.each do |key, value|
121
- translated_key = if described_class.respond_to?(:human_attribute_name)
122
- described_class.human_attribute_name(key.to_s, :locale => Remarkable.locale)
123
- else
124
- key.to_s.humanize
125
- end
126
-
127
- pieces << Remarkable.t("remarkable.active_record.describe.each",
128
- :default => "{{key}} is {{value}}",
129
- :key => translated_key.downcase, :value => value.inspect)
130
- end
131
-
132
- description += pieces.join(connector)
133
- args.unshift(description)
134
-
135
- # Creates an example group, set the subject and eval the given block.
136
- #
137
- example_group = super(*args) do
138
- write_inheritable_hash(:describe_subject_attributes, attributes)
139
- set_described_subject!
140
- instance_eval(&block)
141
- end
142
- else
143
- super(*args, &block)
144
- end
145
- end
146
-
147
- # Sets default attributes for the subject. You can use this to set up
148
- # your subject with valid attributes. You can even mix with a fixture
149
- # replacement tool and still use quick subjects:
150
- #
151
- # describe Post
152
- # # Fixjour example
153
- # subject_attributes { valid_post_attributes }
154
- #
155
- # describe :published => true do
156
- # should_validate_presence_of :published_at
157
- # end
158
- # end
159
- #
160
- def subject_attributes(options=nil, &block)
161
- write_inheritable_attribute(:default_subject_attributes, options || block)
162
- set_described_subject!
163
- end
164
-
165
- def set_described_subject!
166
- subject {
167
- record = self.class.described_class.new
168
- record.send(:attributes=, subject_attributes, false)
169
- record
170
- }
171
- end
172
- end
173
-
174
- # Returns a hash with the subject attributes declared using the
175
- # subject_attributes class method and the attributes given using the
176
- # describe method.
177
- #
178
- # describe Post
179
- # subject_attributes { valid_post_attributes }
180
- #
181
- # describe :published => true do
182
- # it "should have default subject attributes" do
183
- # subject_attributes.should == { :title => 'My title', :published => true }
184
- # end
185
- # end
186
- # end
187
- #
188
- def subject_attributes
189
- default = self.class.default_subject_attributes
190
- default = self.instance_eval(&default) if default.is_a?(Proc)
191
- default ||= {}
192
-
193
- default.merge(self.class.describe_subject_attributes || {})
194
- end
195
-
196
- end
197
- end
198
- end
@@ -1,37 +0,0 @@
1
- if defined?(Spec)
2
- module Spec #:nodoc:
3
- module Example #:nodoc:
4
- module ExampleGroupMethods #:nodoc:
5
-
6
- # This allows "describe User" to use the I18n human name of User.
7
- #
8
- def self.build_description_with_i18n(*args)
9
- args.inject("") do |description, arg|
10
- arg = if arg.respond_to?(:human_name)
11
- arg.human_name(:locale => Remarkable.locale)
12
- else
13
- arg.to_s
14
- end
15
-
16
- description << " " unless (description == "" || arg =~ /^(\s|\.|#)/)
17
- description << arg
18
- end
19
- end
20
-
21
- # This is for rspec <= 1.1.12.
22
- #
23
- def self.description_text(*args)
24
- self.build_description_with_i18n(*args)
25
- end
26
-
27
- # This is for rspec >= 1.2.0.
28
- #
29
- def self.build_description_from(*args)
30
- text = ExampleGroupMethods.build_description_with_i18n(*args)
31
- text == "" ? nil : text
32
- end
33
-
34
- end
35
- end
36
- end
37
- end