Module: VersacommerceAPI::Metafieldable

Included in:
Blog, Collection, Customer, Order, Page, Product, Shop
Defined in:
lib/versacommerce_api/metafieldable.rb

Instance Method Summary collapse

Instance Method Details

#add_metafield(metafield) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
22
# File 'lib/versacommerce_api/metafieldable.rb', line 13

def add_metafield(metafield)
  raise ArgumentError, 'Adding Metafields to an unsaved Resource is not allowed' if new_record?

  metafield.tap do |m|
    m.metafieldable_type = self.class.collection_name.singularize.capitalize
    m.metafieldable_type = id

    m.save
  end
end

#metafieldsObject



5
6
7
8
9
10
11
# File 'lib/versacommerce_api/metafieldable.rb', line 5

def metafields
  if new_record?
    []
  else
    Metafield.find(:all, params: {metafieldable_type: self.class.collection_name.singularize.capitalize, metafieldable_id: id})
  end
end