instrument 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -0,0 +1,7 @@
1
+ == 0.1.1
2
+
3
+ * controls may now optionally accept a block during initialization
4
+
5
+ == 0.1.0
6
+
7
+ * initial release
@@ -134,9 +134,11 @@ module Instrument
134
134
  # Creates a new Control object. Subclasses should not override this.
135
135
  #
136
136
  # @param [Hash] options a set of options required by the control
137
+ # @yield optionally accepts a block used by the control
137
138
  # @return [Instrument::Control] the instanitated control
138
- def initialize(options={})
139
+ def initialize(options={}, &block)
139
140
  @options = options
141
+ @block = block
140
142
  end
141
143
 
142
144
  ##
@@ -145,6 +147,12 @@ module Instrument
145
147
  # @return [Hash] a set of options required by the control
146
148
  attr_reader :options
147
149
 
150
+ ##
151
+ # Returns the block that was supplied when the Control was created.
152
+ #
153
+ # @return [Proc] the block used to create the Control
154
+ attr_reader :block
155
+
148
156
  ##
149
157
  # Returns the Control's name. By default, this is the control's class
150
158
  # name, tranformed into This method may be overridden by a Control.
@@ -27,7 +27,7 @@ unless defined? Instrument::VERSION
27
27
  module VERSION #:nodoc:
28
28
  MAJOR = 0
29
29
  MINOR = 1
30
- TINY = 0
30
+ TINY = 1
31
31
 
32
32
  STRING = [MAJOR, MINOR, TINY].join('.')
33
33
  end
@@ -58,6 +58,18 @@ describe Instrument::Control do
58
58
  it "should initialize subclasses via method_missing" do
59
59
  Instrument::Control.new.select_control.class.should == SelectControl
60
60
  end
61
+
62
+ it "should return the same options used during instantiation" do
63
+ options = {}
64
+ control = Instrument::Control.new(options)
65
+ control.options.should eql(options)
66
+ end
67
+
68
+ it "should return the same proc used during instantiation" do
69
+ proc = lambda {}
70
+ control = Instrument::Control.new(&proc)
71
+ control.block.should eql(proc)
72
+ end
61
73
 
62
74
  it "should still raise an Exception for non-existent methods" do
63
75
  (lambda do
@@ -77,7 +89,7 @@ describe Instrument::Control do
77
89
  end).should raise_error(Instrument::ResourceNotFoundError)
78
90
  end
79
91
 
80
- it "should raise an Exception if a directory is found instead of a file" do
92
+ it "should raise an Exception if a template engine is missing" do
81
93
  (lambda do
82
94
  SelectControl.new.to_txt
83
95
  end).should raise_error(Instrument::InvalidTemplateEngineError)
@@ -76,6 +76,11 @@
76
76
  Project Page
77
77
  </a>
78
78
  </li>
79
+ <li>
80
+ <a href="http://github.com/sporkmonger/instrument/tree/">
81
+ GitHub Page
82
+ </a>
83
+ </li>
79
84
  <li><a href="/api/">API</a></li>
80
85
  <li><a href="/specdoc/">Specifications</a></li>
81
86
  <li><a href="/coverage/">Code Coverage</a></li>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instrument
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Aman
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-05-19 00:00:00 -04:00
12
+ date: 2008-05-27 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency