seanhussey-woulda 0.0.2 → 0.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.
data/README ADDED
File without changes
data/Rakefile CHANGED
@@ -5,19 +5,19 @@ require 'rake/gempackagetask'
5
5
 
6
6
  spec = Gem::Specification.new do |s|
7
7
  s.name = "woulda"
8
- s.version = "0.0.2"
8
+ s.version = "0.1.0"
9
9
  s.summary = "woulda is a home for shoulda macros that don't belong in the main shoulda library"
10
10
  s.homepage = "http://github.com/seanhussey/woulda"
11
11
  s.rubyforge_project = "woulda"
12
12
 
13
- s.files = FileList["[A-Z]*", "{shoulda_macros}/**/*", "lib/**/*"]
13
+ s.files = FileList["[A-Z]*", "{shoulda_macros}/**/*"]
14
14
 
15
15
  # s.has_rdoc = true
16
16
  # s.extra_rdoc_files = ["README.rdoc", "CONTRIBUTION_GUIDELINES.rdoc"]
17
17
  # s.rdoc_options = ["--line-numbers", "--inline-source", "--main", "README.rdoc"]
18
18
 
19
- s.authors = ["Sean Hussey", "Josh Nichols"]
20
- s.email = ["sean@seanhussey.com", "josh@technicalpickles.com"]
19
+ s.author = "Sean Hussey"
20
+ s.email = "sean@seanhussey.com"
21
21
 
22
22
  s.add_dependency "thoughtbot-shoulda", ">= 2.0.0"
23
23
  end
@@ -32,4 +32,4 @@ task :gemspec do
32
32
  File.open("#{spec.name}.gemspec", 'w') do |f|
33
33
  f.write spec.to_ruby
34
34
  end
35
- end
35
+ end
@@ -0,0 +1,33 @@
1
+ class Test::Unit::TestCase
2
+ def self.should_act_as_paranoid
3
+ klass = model_class
4
+
5
+ context "A #{klass.name}" do
6
+ should "be paranoid (it will not be deleted from the database)" do
7
+ klass.paranoid?
8
+ end
9
+
10
+ should "not have a value for deleted_at" do
11
+ assert object = klass.find(:first)
12
+ assert_nil object.deleted_at
13
+ end
14
+
15
+ context "when destroyed" do
16
+ setup do
17
+ assert object = klass.find(:first)
18
+ @deleted_id = object.id
19
+ object.destroy
20
+ end
21
+
22
+ should "not be found" do
23
+ assert_raise(ActiveRecord::RecordNotFound) { klass.find(@deleted_id) }
24
+ end
25
+
26
+ should "still exist in the database" do
27
+ deleted_object = klass.find_with_deleted(@deleted_id)
28
+ assert_not_nil deleted_object.deleted_at
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seanhussey-woulda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Hussey
8
- - Josh Nichols
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
11
 
13
- date: 2008-09-29 00:00:00 -07:00
12
+ date: 2008-09-21 00:00:00 -07:00
14
13
  default_executable:
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
@@ -23,9 +22,7 @@ dependencies:
23
22
  version: 2.0.0
24
23
  version:
25
24
  description:
26
- email:
27
- - sean@seanhussey.com
28
- - josh@technicalpickles.com
25
+ email: sean@seanhussey.com
29
26
  executables: []
30
27
 
31
28
  extensions: []
@@ -35,34 +32,8 @@ extra_rdoc_files: []
35
32
  files:
36
33
  - LICENSE
37
34
  - Rakefile
38
- - README.textile
39
- - shoulda_macros/woulda_macros.rb
40
- - lib/woulda
41
- - lib/woulda/acts_as_ferret
42
- - lib/woulda/acts_as_ferret/macros.rb
43
- - lib/woulda/acts_as_ferret.rb
44
- - lib/woulda/acts_as_list
45
- - lib/woulda/acts_as_list/macros.rb
46
- - lib/woulda/acts_as_list.rb
47
- - lib/woulda/acts_as_paranoid
48
- - lib/woulda/acts_as_paranoid/macros.rb
49
- - lib/woulda/acts_as_paranoid.rb
50
- - lib/woulda/acts_as_taggable_on_steroids
51
- - lib/woulda/acts_as_taggable_on_steroids/macros.rb
52
- - lib/woulda/acts_as_taggable_on_steroids.rb
53
- - lib/woulda/attachment_fu
54
- - lib/woulda/attachment_fu/macros.rb
55
- - lib/woulda/attachment_fu.rb
56
- - lib/woulda/enumerations_mixin
57
- - lib/woulda/enumerations_mixin/macros.rb
58
- - lib/woulda/enumerations_mixin.rb
59
- - lib/woulda/paperclip
60
- - lib/woulda/paperclip/macros.rb
61
- - lib/woulda/paperclip.rb
62
- - lib/woulda/will_paginate
63
- - lib/woulda/will_paginate/macros.rb
64
- - lib/woulda/will_paginate.rb
65
- - lib/woulda.rb
35
+ - README
36
+ - shoulda_macros/should_act_as_paranoid.rb
66
37
  has_rdoc: false
67
38
  homepage: http://github.com/seanhussey/woulda
68
39
  post_install_message:
data/README.textile DELETED
@@ -1,22 +0,0 @@
1
- h1. woulda
2
-
3
- Testing is love. Especially when done
4
-
5
- h2. Installing
6
-
7
- Github: "Page":http://github.com/seanhussey/woulda/tree/master "Clone":git://github.com/seanhussey/woulda.git
8
-
9
- Gem: <pre>gem install seanhussey-woulda --source http://gems.github.com</pre>
10
-
11
- woulda requires "shoulda":http://github.com/thoughtbot/shoulda/tree/master >= 2.0.0.
12
-
13
- h2. Included Macros
14
-
15
- should_act_as_paranoid # acts_as_paranoid_
16
- should_have_attachment # attachment_fu
17
- should_act_as_enumerated # enumeration_mixin
18
-
19
-
20
- Written by "Sean Hussey":mailto:sean@seanhussey.com and "Josh Nichols":http://technicalpickles.com
21
-
22
- Copyright 2008 Sean Hussey and Josh Nichols.
@@ -1,23 +0,0 @@
1
- module Woulda
2
- module ActsAsFerret
3
- module Macros
4
- # should_act_as_ferret :any, :fields, :i_may, :have, :specified
5
- def should_act_as_ferret(*fields)
6
- klass = self.name.gsub(/Test$/, '').constantize
7
-
8
- should "include ActsAsFerret methods" do
9
- assert klass.extended_by.include?(ActsAsFerret::ClassMethods)
10
- assert klass.include?(ActsAsFerret::InstanceMethods)
11
- assert klass.include?(ActsAsFerret::MoreLikeThis::InstanceMethods)
12
- assert klass.include?(ActsAsFerret::ResultAttributes)
13
- end
14
-
15
- fields.each do |f|
16
- should "create an index for field named #{f}" do
17
- assert klass.aaf_configuration[:fields].include?(f)
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/acts_as_ferret/macros'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::ActsAsFerret::Macros
6
- end
@@ -1,19 +0,0 @@
1
- module Woulda
2
- module ActsAsList
3
- module Macros
4
- def should_act_as_list
5
- klass = self.name.gsub(/Test$/, '').constantize
6
-
7
- context "To support acts_as_list" do
8
- should_have_db_column('position', :type => :integer)
9
- end
10
-
11
- should "include ActsAsList methods" do
12
- assert klass.include?(ActiveRecord::Acts::List::InstanceMethods)
13
- end
14
-
15
- should_have_instance_methods :acts_as_list_class, :position_column, :scope_condition
16
- end
17
- end
18
- end
19
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/acts_as_list/macros'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::ActsAsList::Macros
6
- end
@@ -1,39 +0,0 @@
1
- module Woulda
2
- module ActsAsParanoid
3
- module Macros
4
- def should_act_as_paranoid
5
- klass = model_class
6
- should_have_db_column :deleted_at
7
-
8
- context "A #{klass.name}" do
9
- should "be paranoid (it will not be deleted from the database)" do
10
- assert klass.paranoid?
11
- assert klass.included_modules.include?(Caboose::Acts::Paranoid)
12
- end
13
-
14
- should "not have a value for deleted_at" do
15
- assert object = klass.find(:first)
16
- assert_nil object.deleted_at
17
- end
18
-
19
- context "when destroyed" do
20
- setup do
21
- assert object = klass.find(:first), "This context requires there to be an existing #{klass}"
22
- @deleted_id = object.id
23
- object.destroy
24
- end
25
-
26
- should "not be found" do
27
- assert_raise(ActiveRecord::RecordNotFound) { klass.find(@deleted_id) }
28
- end
29
-
30
- should "still exist in the database" do
31
- deleted_object = klass.find_with_deleted(@deleted_id)
32
- assert_not_nil deleted_object.deleted_at
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/acts_as_paranoid/macros'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::ActsAsParanoid::Macros
6
- end
@@ -1,17 +0,0 @@
1
- module Woulda
2
- module ActsAsTaggableOnSteroids
3
- module Macros
4
- def should_act_as_taggable_on_steroids
5
- klass = self.name.gsub(/Test$/, '').constantize
6
-
7
- should "include ActsAsTaggableOnSteroids methods" do
8
- assert klass.extended_by.include?(ActiveRecord::Acts::Taggable::ClassMethods)
9
- assert klass.extended_by.include?(ActiveRecord::Acts::Taggable::SingletonMethods)
10
- assert klass.include?(ActiveRecord::Acts::Taggable::InstanceMethods)
11
- end
12
-
13
- should_have_many :taggings, :tags
14
- end
15
- end
16
- end
17
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/acts_as_taggable_on_steroids'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::ActsAsTaggableOnSteroids::Macros
6
- end
@@ -1,27 +0,0 @@
1
- module Woulda
2
- module AttachmentFu
3
- module Macros
4
- def should_have_attachment(options = {})
5
- klass = model_class
6
-
7
- should_have_db_columns :size, :content_type, :filename
8
- if options[:content_type] == :image
9
- should_have_db_columns :height, :width
10
- end
11
-
12
- should "define AttachmentFu class methods" do
13
- # breakpoint
14
- class_modules = (class << klass; included_modules; end)
15
- assert class_modules.include?(Technoweenie::AttachmentFu::ClassMethods),
16
- "#{klass} doesn't define AttachmentFu class methods"
17
- end
18
-
19
- should "define AttachmentFu instance methods" do
20
- instance_modules = klass.included_modules
21
- assert instance_modules.include?(Technoweenie::AttachmentFu::InstanceMethods),
22
- "#{klass} doesn't define AttachmentFu instance methods"
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/attachment_fu/macros'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::AttachmentFu::Macros
6
- end
@@ -1,26 +0,0 @@
1
- module Woulda
2
- module EnumerationsMixin
3
- module Macros
4
- def should_act_as_enumerated(options = {})
5
- klass = model_class
6
-
7
- should_have_db_columns :name
8
-
9
- should "define Enumerated macro methods" do
10
- class_modules = (class << klass; included_modules; end)
11
- assert class_modules.include?(ActiveRecord::Acts::Enumerated::MacroMethods), "#{klass} doesn't define Enumerated macro methods"
12
- end
13
-
14
- should "define Enumerated class methods" do
15
- class_modules = (class << klass; included_modules; end)
16
- assert class_modules.include?(ActiveRecord::Acts::Enumerated::ClassMethods), "#{klass} doesn't define Enumerated class methods"
17
- end
18
-
19
- should "define Enumerated instance methods" do
20
- instance_modules = klass.included_modules
21
- assert instance_modules.include?(ActiveRecord::Acts::Enumerated::InstanceMethods), "#{klass} doesn't define Enumerated instance methods"
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/enumerations_mixin/macros'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::EnumerationsMixin::Macros
6
- end
@@ -1,21 +0,0 @@
1
- module Woulda
2
- module Paperclip
3
- module Macros
4
- def should_have_attached_file(attachment)
5
- klass = self.name.gsub(/Test$/, '').constantize
6
-
7
- context "To support a paperclip attachment named #{attachment}, #{klass}" do
8
- should_have_db_column("#{attachment}_file_name", :type => :string)
9
- should_have_db_column("#{attachment}_content_type", :type => :string)
10
- should_have_db_column("#{attachment}_file_size", :type => :integer)
11
- end
12
-
13
- should "have a paperclip attachment named ##{attachment}" do
14
- assert klass.new.respond_to?(attachment.to_sym),
15
- "@#{klass.name.underscore} doesn't have a paperclip field named #{attachment}"
16
- assert_equal Paperclip::Attachment, klass.new.send(attachment.to_sym).class
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/paperclip/macros'
3
-
4
- Tet::Unit::TestCase.class_eval do
5
- extend Woulda::Paperclip::Macros
6
- end
@@ -1,18 +0,0 @@
1
- module Woulda
2
- module WillPaginate
3
- module Macros
4
- def should_have_per_page(count)
5
- klass = self.name.gsub(/Test$/, '').constantize
6
- context "#{klass}" do
7
- should "respond to per_page" do
8
- assert klass.respond_to?(:per_page), "#{klass} does not respond to :per_page"
9
- end
10
-
11
- should "have #{count} per page" do
12
- assert_equal count, klass.per_page
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,6 +0,0 @@
1
- require 'shoulda'
2
- require 'woulda/will_paginate/macros'
3
-
4
- Test::Unit::TestCase.class_eval do
5
- extend Woulda::WillPaginate::Macros
6
- end
data/lib/woulda.rb DELETED
@@ -1,8 +0,0 @@
1
- require 'woulda/acts_as_ferret' if defined? ActsAsFerret
2
- require 'woulda/acts_as_list' if defined? ActiveRecord::Acts::List
3
- require 'woulda/acts_as_paranoid' if defined? Caboose::Acts::Paranoid
4
- require 'woulda/acts_as_taggable_on_steroids' if defined? ActiveRecord::Acts::Taggable
5
- require 'woulda/attachment_fu' if defined? Technoweenie::AttachmentFu
6
- require 'woulda/enumerations_mixin' if defined? ActiveRecord::Acts::Enumerated
7
- require 'woulda/paperclip' if defined? Paperclip
8
- require 'woulda/will_paginate' if defined? WillPaginate
@@ -1 +0,0 @@
1
- require 'woulda'