Class: Tandem::Content
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Tandem::Content
- Defined in:
- app/models/tandem/content.rb
Defined Under Namespace
Class Method Summary collapse
- .scoped_type(type) ⇒ Object
- .simple_type ⇒ Object
- .simple_types ⇒ Object
- .subclass_names ⇒ Object
- .valid_simple_type?(type) ⇒ Boolean
Instance Method Summary collapse
Class Method Details
.scoped_type(type) ⇒ Object
29 30 31 32 |
# File 'app/models/tandem/content.rb', line 29 def self.scoped_type(type) valid_simple_type?(type) or raise "Invalid Tandem::Content.simple_type: '#{type}'. Valid options #{simple_types.join(', ')}" "Tandem::Content::#{type.to_s.camelize}" end |
.simple_type ⇒ Object
24 25 26 27 |
# File 'app/models/tandem/content.rb', line 24 def self.simple_type name =~ /^Tandem\:\:Content\:\:(.*)/ ($1 or raise "Unable to determine simple type for abstract class: #{name}").downcase.to_sym end |
.simple_types ⇒ Object
16 17 18 |
# File 'app/models/tandem/content.rb', line 16 def self.simple_types @simple_types ||= subclasses.map { |sc| sc.simple_type } end |
.subclass_names ⇒ Object
12 13 14 |
# File 'app/models/tandem/content.rb', line 12 def self.subclass_names @subclass_names ||= subclasses.map { |sc| sc.name } end |
.valid_simple_type?(type) ⇒ Boolean
20 21 22 |
# File 'app/models/tandem/content.rb', line 20 def self.valid_simple_type?(type) simple_types.include?(type.to_s.downcase.to_sym) end |
Instance Method Details
#link? ⇒ Boolean
34 35 36 |
# File 'app/models/tandem/content.rb', line 34 def link? link_url.present? end |