Sha256: acadb8c6ea037fc96e968a0406b21d2ebc7ae4cead6db7bc9bfc1ad34352432d
Contents?: true
Size: 960 Bytes
Versions: 2
Compression:
Stored size: 960 Bytes
Contents
module ContextExposer class Page class Resource attr_accessor :name, :type, :controller def initialize name = nil, type = nil self.name = name self.type = type if type end def type= type validate_type! type @type = type.to_sym end def name= name @name = name.to_s unless @type @type = calc_type end end protected def page_context ContextExposer::PageContext.instance end def calc_type return nil if name.blank? name.to_s.plural? ? :list : :item end def validate_type! type unless valid_type? type raise ArgumentError, "type must be one of: #{valid_types}, was: #{type}" end end def valid_type? type valid_types.include? type.to_sym end def valid_types [:list, :item] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
context_exposer-0.4.1 | lib/context_exposer/page/resource.rb |
context_exposer-0.4.0 | lib/context_exposer/page/resource.rb |