Module: Milestoner::Builders::Syndication::Shared

Defined in:
lib/milestoner/builders/syndication/shared.rb

Overview

Provides shared functionality for refinements.

Instance Method Summary collapse

Instance Method Details

#build(**attributes) ⇒ Object



14
15
16
17
# File 'lib/milestoner/builders/syndication/shared.rb', line 14

def build(**attributes)
  node = public_send :"new_#{kind}"
  attributes.each { |key, value| node.public_send :"#{key}=", value }
end

#build_for(collection) ⇒ Object



10
11
12
# File 'lib/milestoner/builders/syndication/shared.rb', line 10

def build_for(collection, **)
  collection.each { |attributes| build(**attributes.transform_keys(**)) }
end

#merge(**attributes) ⇒ Object



8
# File 'lib/milestoner/builders/syndication/shared.rb', line 8

def merge(**attributes) = attributes.each { |key, value| public_send :"#{key}=", value }