<p>(sorry I should have been clearer with the code the first time I posted this. Hope this makes sense)</p>

<p>File "size_specification.rb"</p>

<pre><code>class SizeSpecification
  def fits?     
  end
end
</code></pre>

<p>File "some_module.rb"</p>

<pre><code>require 'size_specification'

module SomeModule
  def self.sizes
    YAML.load_file(File.dirname(__FILE__) + '/size_specification_data.yml')
  end
end
</code></pre>

<p>File "size_specification_data.yml</p>

<pre><code>--- 
- !ruby/object:SizeSpecification 
  height: 250
  width: 300
</code></pre>

<p>Then when I call</p>

<pre><code>SomeModule.sizes.first.fits?
</code></pre>

<p>I get an exception because "sizes" are Object's not SizeSpecification's so they don't have a "fits" function.</p>

On second reading I'm a little confused, you seem to want to mix the class into module, which is porbably not so advisable.  Also is the YAML supposed to load an array of the SizeSpecifications?
It appears to be that you're not mixing the Module into your class.  If I run the test in irb then the require throws a LoadError. So I assume you've put two files together, if not dump it.
Normally you'd write the functionality in the module, then mix that into the class.  so you may modify your code like this:
```
```
class SizeSpecification
  include SomeModule
  def fits?     
  end
end
```
```
Which will allow you to then say:
```
```
SizeSpecification::SomeModule.sizes
```
```
I think you should also be able to say:
```
```
SizeSpecification.sizes
```
```
However that requires you to take the self off the prefix of the sizes method definition.
Does that help?