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.
38 39 40 |
# File 'lib/wrapper/resource_mappings.rb', line 38 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.
12 13 14 15 16 17 18 |
# File 'lib/wrapper/resource_mappings.rb', line 12 def map_to(*elements) self.class_eval " def self.element_names\n \#{elements.inspect}\n end\n EOF\nend\n" |
#map_to_plural(*elements) ⇒ Object
Helper method to map pluralised resource to element in API response.
21 22 23 24 25 26 27 |
# File 'lib/wrapper/resource_mappings.rb', line 21 def map_to_plural(*elements) self.class_eval " def self.plural_element_names\n \#{elements.inspect}\n end\n EOF\nend\n" |
#no_mapping ⇒ Object
Used by root classes (Discogs::Artist, etc) that should be built internally.
30 31 32 33 34 35 |
# File 'lib/wrapper/resource_mappings.rb', line 30 def no_mapping self.class_eval " def self.element_names; []; end\n def self.plural_element_names; []; end\n EOF\nend\n" |
#plural_element_names ⇒ Object
41 42 43 |
# File 'lib/wrapper/resource_mappings.rb', line 41 def plural_element_names [ (self.element_names[0].to_s + "s").to_sym ] end |