Module: Discogs::ResourceMappings::ClassMethods
- Defined in:
- lib/wrapper/resource_mappings.rb
Instance Method Summary collapse
-
#element_names ⇒ Object
Element defaults to prevent excess boilerplate code.
-
#map_to(*elements) ⇒ Object
Helper method to map resource to element in API response.
-
#map_to_plural(*elements) ⇒ Object
Helper method to map pluralised resource to element in API response.
-
#no_mapping ⇒ Object
Used by root classes (Discogs::Artist, etc) that should be built internally.
- #plural_element_names ⇒ Object
Instance Method Details
#element_names ⇒ Object
Element defaults to prevent excess boilerplate code.
42 43 44 |
# File 'lib/wrapper/resource_mappings.rb', line 42 def element_names [ self.to_s.split("::")[-1].downcase.to_sym ] end |
#map_to(*elements) ⇒ Object
Helper method to map resource to element in API response.
16 17 18 19 20 21 22 |
# File 'lib/wrapper/resource_mappings.rb', line 16 def map_to(*elements) self.class_eval <<-EOF def self.element_names #{elements.inspect} end EOF end |
#map_to_plural(*elements) ⇒ Object
Helper method to map pluralised resource to element in API response.
25 26 27 28 29 30 31 |
# File 'lib/wrapper/resource_mappings.rb', line 25 def map_to_plural(*elements) self.class_eval <<-EOF def self.plural_element_names #{elements.inspect} end EOF end |
#no_mapping ⇒ Object
Used by root classes (Discogs::Artist, etc) that should be built internally.
34 35 36 37 38 39 |
# File 'lib/wrapper/resource_mappings.rb', line 34 def no_mapping self.class_eval <<-EOF def self.element_names; []; end def self.plural_element_names; []; end EOF end |
#plural_element_names ⇒ Object
45 46 47 |
# File 'lib/wrapper/resource_mappings.rb', line 45 def plural_element_names [ (self.element_names[0].to_s + "s").to_sym ] end |