Module: FeedNormalizer::Singular

Included in:
Entry, Feed
Defined in:
lib/structures.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object

If the method being called is a singular (in this simple case, does not end with an ‘s’), then it calls the plural method, and calls the first element. We’re assuming that plural methods provide an array.

Example: Object contains an array called ‘alphas’, which looks like [:a, :b, :c]. Call object.alpha and :a is returned.



13
14
15
# File 'lib/structures.rb', line 13

def method_missing(name, *args)
  return self.send(:"#{name}s").first rescue super(name, *args)
end

Instance Method Details

#respond_to?(x, y = false) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/structures.rb', line 17

def respond_to?(x, y=false)
  self.class::ELEMENTS.include?(x) || self.class::ELEMENTS.include?(:"#{x}s") || super(x, y)
end