lib/wcc/media/message.rb in wcc-media-client-0.4.7 vs lib/wcc/media/message.rb in wcc-media-client-0.4.8
- old
+ new
@@ -1,6 +1,7 @@
require_relative 'base'
+require_relative 'tag_group'
class WCC::Media::Message < WCC::Media::Base
active_record_shim do
endpoint 'messages'
filters %w[
@@ -20,10 +21,11 @@
duration
title
subtitle
description
series_position
+ slug
campus_names
topic
topics
].each do |att|
define_method att do
@@ -66,6 +68,24 @@
].each do |att|
define_method att do
OpenStruct.new(raw[att]) if raw[att]
end
end
+
+ def has_video? # rubocop:disable Naming/PredicateName
+ assets.each_pair
+ .any? { |k, v| /video/.match(k) && v && !v.empty? }
+ end
+
+ def to_param
+ "#{id}-#{slug}"
+ end
+
+ WCC::Media::TagGroup.all.each do |tag_group|
+ define_method(tag_group.name.downcase) do
+ tags.select { |t| t.tag_group == tag_group }
+ end
+ end
+ # pluralize "campus" specifically
+ alias_method :campuses, :campus
+ remove_method :campus
end