Sha256: 9545147936e2c265fd66dd6538b56b229e46d5a8da578e203b1773d6514d57fb

Contents?: true

Size: 1.3 KB

Versions: 67

Compression:

Stored size: 1.3 KB

Contents

require 'rss/1.0'

module RSS
  # The prefix for the Slash XML namespace.
  SLASH_PREFIX = 'slash'
  # The URI of the Slash specification.
  SLASH_URI = "http://purl.org/rss/1.0/modules/slash/"

  RDF.install_ns(SLASH_PREFIX, SLASH_URI)

  module SlashModel
    extend BaseModel

    ELEMENT_INFOS = \
    [
     ["section"],
     ["department"],
     ["comments", :positive_integer],
     ["hit_parade", :csv_integer],
    ]

    class << self
      def append_features(klass)
        super

        return if klass.instance_of?(Module)
        klass.install_must_call_validator(SLASH_PREFIX, SLASH_URI)
        ELEMENT_INFOS.each do |name, type, *additional_infos|
          full_name = "#{SLASH_PREFIX}_#{name}"
          klass.install_text_element(full_name, SLASH_URI, "?",
                                     full_name, type, name)
        end

        klass.module_eval do
          alias_method(:slash_hit_parades, :slash_hit_parade)
          undef_method(:slash_hit_parade)
          alias_method(:slash_hit_parade, :slash_hit_parade_content)
        end
      end
    end
  end

  class RDF
    class Item; include SlashModel; end
  end

  SlashModel::ELEMENT_INFOS.each do |name, type|
    accessor_base = "#{SLASH_PREFIX}_#{name}"
    BaseListener.install_get_text_element(SLASH_URI, name, accessor_base)
  end
end

Version data entries

67 entries across 39 versions & 3 rubygems

Version Path
second_step-0.1.2 secondstep-notify-1.0.0-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/second_step-0.1.1/secondstep-notify-1.0.0-osx/lib/ruby/lib/ruby/2.2.0/rss/slash.rb
second_step-0.1.2 secondstep-notify-1.0.0-osx/lib/ruby/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.60 bin/traveling-ruby-2.2.2/l64/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.60 bin/traveling-ruby-2.2.2/l32/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.60 bin/traveling-ruby-2.2.2/osx/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.60 bin/traveling-ruby-2.2.2/win/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.58 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.57 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.56 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.55 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.54 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.53 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.52 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.51 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.50 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.49 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.47 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.46 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.45 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb
rb2exe-0.1.44 bin/traveling-ruby-2.2.2/lib/ruby/2.2.0/rss/slash.rb