Sha256: b310e6747ff61e9cde2909a6164e1d377dd3b06f8e1ba2d3c1b2afd80b413c0e

Contents?: true

Size: 605 Bytes

Versions: 8

Compression:

Stored size: 605 Bytes

Contents

module Stylesheet
  class MediaList
    extend Forwardable
    def_delegators :@media, :length, :size, :[], :each, :<<, :push, :delete, :to_s
    include Enumerable

    MEDIA_TYPES = %w{all braille embossed handheld print projection screen speech tty tv}

    def initialize(media_text)
      @media = media_text.to_s.split(",").map {|medium| medium.strip }
    end

    def item(index)
      @media[index]
    end

    def media_text
      @media.join(", ")
    end
    
    alias_method :to_s, :media_text
    
    alias_method :append_medium, :<<
    alias_method :delete_medium, :delete    
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
stylesheet-0.1.8 lib/stylesheet/media_list.rb
stylesheet-0.1.7 lib/stylesheet/media_list.rb
stylesheet-0.1.6 lib/stylesheet/media_list.rb
stylesheet-0.1.5 lib/stylesheet/media_list.rb
stylesheet-0.1.4 lib/stylesheet/media_list.rb
stylesheet-0.1.3 lib/stylesheet/media_list.rb
stylesheet-0.1.1 lib/stylesheet/media_list.rb
stylesheet-0.1.0 lib/stylesheet/media_list.rb