Locally-stored mock data to be used for testing purposes.
Turns a normal DataSource object into a TestData object
# File /Users/ged/source/ruby/Arrow/lib/arrow/datasource.rb, line 111
111: def create(source, name)
112: testdata = self.new(source.source, name)
113: source.singleton_methods.each {|meth|
114: next if /=/.match(meth)
115: testdata.instance_eval "def \#{meth}; @\#{meth}; end\ndef \#{meth}=(o); @\#{meth} = o; end\n"
116: obj = source.send(meth)
117: testdata.send(meth+"=", obj)
118: }
119: end
Loads a test data file given by the name provided.
# File /Users/ged/source/ruby/Arrow/lib/arrow/datasource.rb, line 95
95: def load(name)
96: if File.exists?(name)
97: elsif File.exists?(File.join(self.data_path, name))
98: name = File.join(self.data_path, name)
99: else
100: raise Arrow::LoadError.new( "No such testdata file to load: '%s'" % name )
101: end
102: data = nil
103: File.open(name) {|file|
104: data = file.read
105: }
106: obj = Yaml.load(data)
107: end
--- SEC00044
--- ""
---
- name: data_path
rw: RW
a_desc: |+
The path where all stored <a href="TestData.html">TestData</a> objects are
located. Note that this isn‘t useful by default.
- name: real_source
rw: R
a_desc: |+
The identifier string for the data being copied.
---
- methods:
- visibility: public
aref: M000381
name: create
sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/datasource.rb, line 111</span>\n\
111: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">create</span>(<span class=\"ruby-identifier\">source</span>, <span class=\"ruby-identifier\">name</span>)\n\
112: <span class=\"ruby-identifier\">testdata</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">new</span>(<span class=\"ruby-identifier\">source</span>.<span class=\"ruby-identifier\">source</span>, <span class=\"ruby-identifier\">name</span>)\n\
113: <span class=\"ruby-identifier\">source</span>.<span class=\"ruby-identifier\">singleton_methods</span>.<span class=\"ruby-identifier\">each</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">meth</span><span class=\"ruby-operator\">|</span>\n\
114: <span class=\"ruby-keyword kw\">next</span> <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-regexp re\">/=/</span>.<span class=\"ruby-identifier\">match</span>(<span class=\"ruby-identifier\">meth</span>)\n\
115: <span class=\"ruby-identifier\">testdata</span>.<span class=\"ruby-identifier\">instance_eval</span> <span class=\"ruby-value str\">"def \\#{meth}; @\\#{meth}; end\\ndef \\#{meth}=(o); @\\#{meth} = o; end\\n"</span>\n\
116: <span class=\"ruby-identifier\">obj</span> = <span class=\"ruby-identifier\">source</span>.<span class=\"ruby-identifier\">send</span>(<span class=\"ruby-identifier\">meth</span>)\n\
117: <span class=\"ruby-identifier\">testdata</span>.<span class=\"ruby-identifier\">send</span>(<span class=\"ruby-identifier\">meth</span><span class=\"ruby-operator\">+</span><span class=\"ruby-value str\">"="</span>, <span class=\"ruby-identifier\">obj</span>)\n\
118: }\n\
119: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
Turns a normal <a href="../DataSource.html">DataSource</a> object into a <a
href="TestData.html">TestData</a> object
</p>
params: (source, name)
- visibility: public
aref: M000380
name: load
sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/datasource.rb, line 95</span>\n 95: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">load</span>(<span class=\"ruby-identifier\">name</span>)\n 96: <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">exists?</span>(<span class=\"ruby-identifier\">name</span>)\n 97: <span class=\"ruby-keyword kw\">elsif</span> <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">exists?</span>(<span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">join</span>(<span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">data_path</span>, <span class=\"ruby-identifier\">name</span>))\n 98: <span class=\"ruby-identifier\">name</span> = <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">join</span>(<span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">data_path</span>, <span class=\"ruby-identifier\">name</span>)\n 99: <span class=\"ruby-keyword kw\">else</span>\n\
100: <span class=\"ruby-identifier\">raise</span> <span class=\"ruby-constant\">Arrow</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">LoadError</span>.<span class=\"ruby-identifier\">new</span>( <span class=\"ruby-value str\">"No such testdata file to load: '%s'"</span> <span class=\"ruby-operator\">%</span> <span class=\"ruby-identifier\">name</span> )\n\
101: <span class=\"ruby-keyword kw\">end</span>\n\
102: <span class=\"ruby-identifier\">data</span> = <span class=\"ruby-keyword kw\">nil</span>\n\
103: <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">open</span>(<span class=\"ruby-identifier\">name</span>) {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">file</span><span class=\"ruby-operator\">|</span>\n\
104: <span class=\"ruby-identifier\">data</span> = <span class=\"ruby-identifier\">file</span>.<span class=\"ruby-identifier\">read</span>\n\
105: }\n\
106: <span class=\"ruby-identifier\">obj</span> = <span class=\"ruby-constant\">Yaml</span>.<span class=\"ruby-identifier\">load</span>(<span class=\"ruby-identifier\">data</span>)\n\
107: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
Loads a test data file given by the name provided.
</p>
params: (name)
- visibility: public
aref: M000382
name: new
sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/datasource.rb, line 136</span>\n\
136: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">initialize</span>(<span class=\"ruby-identifier\">source</span>, <span class=\"ruby-identifier\">name</span>)\n\
137: <span class=\"ruby-ivar\">@real_source</span> = <span class=\"ruby-identifier\">source</span>\n\
138: <span class=\"ruby-ivar\">@source</span> = <span class=\"ruby-identifier\">source</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-value str\">"/"</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">name</span>\n\
139: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
Creates a <a href="TestData.html#M000382">new</a> <a
href="TestData.html">TestData</a> object with the given identifier, and
either loads the pre-existing data from disk, or creates it.
</p>
params: (source, name)
category: Class
type: Public
- methods:
- visibility: public
aref: M000383
name: save
sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/datasource.rb, line 142</span>\n\
142: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">save</span> \n\
143: <span class=\"ruby-identifier\">name</span> = <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">join</span>(<span class=\"ruby-constant\">TestData</span>.<span class=\"ruby-identifier\">data_path</span>,<span class=\"ruby-ivar\">@source</span>)\n\
144: <span class=\"ruby-constant\">File</span>.<span class=\"ruby-identifier\">new</span>(<span class=\"ruby-identifier\">name</span>, <span class=\"ruby-value str\">"w"</span>) {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">file</span><span class=\"ruby-operator\">|</span>\n\
145: <span class=\"ruby-identifier\">file</span>.<span class=\"ruby-identifier\">write</span>(<span class=\"ruby-ivar\">@data</span>.<span class=\"ruby-identifier\">to_yaml</span>)\n\
146: }\n\
147: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
Saves the test data to the data directory.
</p>
params: ()
category: Instance
type: Public
---
--- - old_name: load new_name: "[]"
Generated with the Darkfish Rdoc Generator.