class Writefully::Taxon
Attributes
existing[R]
incoming[R]
type[R]
Public Class Methods
new(incoming, existing, type)
click to toggle source
# File lib/writefully/taxon.rb, line 5 def initialize(incoming, existing, type) @incoming = incoming @existing = existing @type = type end
Public Instance Methods
build_attributes(token)
click to toggle source
# File lib/writefully/taxon.rb, line 27 def build_attributes token type_attribute .merge({ name: token, slug: token.parameterize }) end
get_difference()
click to toggle source
# File lib/writefully/taxon.rb, line 19 def get_difference (parameterized(incoming) - parameterized(existing)).map { |t| t.titleize } end
non_existing()
click to toggle source
# File lib/writefully/taxon.rb, line 11 def non_existing get_difference.map { |token| Tag.new(build_attributes(token)) } end
parameterized(items)
click to toggle source
# File lib/writefully/taxon.rb, line 32 def parameterized items items.map { |t| t.parameterize } end
selector()
click to toggle source
# File lib/writefully/taxon.rb, line 15 def selector @selector ||= type.underscore.to_sym end
type_attribute()
click to toggle source
# File lib/writefully/taxon.rb, line 23 def type_attribute selector == :'writefully/tag' ? { type: nil } : { type: selector.to_s.classify } end