gabrielg-oughta 0.0.0 → 0.1.1

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.rdoc CHANGED
@@ -1,6 +1,10 @@
1
1
  = oughta
2
2
 
3
- Description goes here.
3
+ This little gem here contains a bunch of Shoulda extensions, including:
4
+
5
+ * macro / use_macro
6
+
7
+ See the RDocs for more details, until this README is complete.
4
8
 
5
9
  == Copyright
6
10
 
data/VERSION.yml ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 1
4
+ :patch: 1
@@ -3,12 +3,46 @@ module Thumblemonks
3
3
  module MacroMacros
4
4
  module ClassMethods
5
5
 
6
+ # Defines a macro for use in a TestCase or Context with the given name and block.
7
+ # For example, this defines a macro called :should_be_cool
8
+ #
9
+ # macro :should_be_cool do
10
+ #
11
+ # should("be true") { assert(true) }
12
+ # should("be cool") { assert_equal("cool", @message) }
13
+ # should_eventually "do something else"
14
+ #
15
+ # end
16
+ #
17
+ # To then use this macro, see the documentation for use_macro
18
+ #
6
19
  def macro(name, &block)
7
20
  (class << self; self; end).instance_eval do
8
21
  define_method(:"Macro: #{name}") { |context| context.instance_eval(&block) }
9
22
  end
10
23
  end
11
24
 
25
+ # Uses a macro defined using the macro method. For example:
26
+ #
27
+ # class TooLazyToSubmitPatchesToThoughtbotTest < Test::Unit::TestCase
28
+ #
29
+ # macro :should_be_cool do
30
+ # should("be cool") { assert_equal("cool", @message) }
31
+ # end
32
+ #
33
+ # def setup
34
+ # @message = "cool"
35
+ # end
36
+ #
37
+ # use_macro :should_be_cool
38
+ #
39
+ # context "intentionally fails" do
40
+ # setup { @message = "not cool yo" }
41
+ # use_macro :should_be_cool
42
+ # end
43
+ #
44
+ # end
45
+ #
12
46
  def use_macro(name)
13
47
  send(:"Macro: #{name}", Shoulda.current_context || self)
14
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gabrielg-oughta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Gironda
@@ -24,6 +24,7 @@ extra_rdoc_files:
24
24
  - LICENSE
25
25
  files:
26
26
  - README.rdoc
27
+ - VERSION.yml
27
28
  - lib/oughta.rb
28
29
  - lib/thumblemonks
29
30
  - lib/thumblemonks/oughta