opt
/
alt
/
ruby26
/
lib64
/
ruby
/
2.6.0
/
rss
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] content
N/A
[DIR] dublincore
N/A
[DIR] maker
N/A
0.9.rb
10.62 KB
Rename
Delete
1.0.rb
9.64 KB
Rename
Delete
2.0.rb
3.43 KB
Rename
Delete
atom.rb
28.91 KB
Rename
Delete
content.rb
895 bytes
Rename
Delete
converter.rb
3.90 KB
Rename
Delete
dublincore.rb
4.31 KB
Rename
Delete
image.rb
4.80 KB
Rename
Delete
itunes.rb
10.07 KB
Rename
Delete
maker.rb
1.84 KB
Rename
Delete
parser.rb
16.16 KB
Rename
Delete
rexmlparser.rb
995 bytes
Rename
Delete
rss.rb
34.84 KB
Rename
Delete
slash.rb
1.33 KB
Rename
Delete
syndication.rb
1.88 KB
Rename
Delete
taxonomy.rb
3.20 KB
Rename
Delete
trackback.rb
6.72 KB
Rename
Delete
utils.rb
5.13 KB
Rename
Delete
xml-stylesheet.rb
2.16 KB
Rename
Delete
xml.rb
1.50 KB
Rename
Delete
xmlparser.rb
1.65 KB
Rename
Delete
xmlscanner.rb
2.13 KB
Rename
Delete
# frozen_string_literal: false module RSS ## # RSS::Utils is a module that holds various utility functions that are used # across many parts of the rest of the RSS library. Like most modules named # some variant of 'util', its methods are probably not particularly useful # to those who aren't developing the library itself. module Utils module_function # Given a +name+ in a name_with_underscores or a name-with-dashes format, # returns the CamelCase version of +name+. # # If the +name+ is already CamelCased, nothing happens. # # Examples: # # require 'rss/utils' # # RSS::Utils.to_class_name("sample_name") # # => "SampleName" # RSS::Utils.to_class_name("with-dashes") # # => "WithDashes" # RSS::Utils.to_class_name("CamelCase") # # => "CamelCase" def to_class_name(name) name.split(/[_\-]/).collect do |part| "#{part[0, 1].upcase}#{part[1..-1]}" end.join("") end # Returns an array of two elements: the filename where the calling method # is located, and the line number where it is defined. # # Takes an optional argument +i+, which specifies how many callers up the # stack to look. # # Examples: # # require 'rss/utils' # # def foo # p RSS::Utils.get_file_and_line_from_caller # p RSS::Utils.get_file_and_line_from_caller(1) # end # # def bar # foo # end # # def baz # bar # end # # baz # # => ["test.rb", 5] # # => ["test.rb", 9] # # If +i+ is not given, or is the default value of 0, it attempts to figure # out the correct value. This is useful when in combination with # instance_eval. For example: # # require 'rss/utils' # # def foo # p RSS::Utils.get_file_and_line_from_caller(1) # end # # def bar # foo # end # # instance_eval <<-RUBY, *RSS::Utils.get_file_and_line_from_caller # def baz # bar # end # RUBY # # baz # # # => ["test.rb", 8] def get_file_and_line_from_caller(i=0) file, line, = caller[i].split(':') line = line.to_i line += 1 if i.zero? [file, line] end # Takes a string +s+ with some HTML in it, and escapes '&', '"', '<' and '>', by # replacing them with the appropriate entities. # # This method is also aliased to h, for convenience. # # Examples: # # require 'rss/utils' # # RSS::Utils.html_escape("Dungeons & Dragons") # # => "Dungeons & Dragons" # RSS::Utils.h(">_>") # # => ">_>" def html_escape(s) s.to_s.gsub(/&/, "&").gsub(/\"/, """).gsub(/>/, ">").gsub(/</, "<") end alias h html_escape # If +value+ is an instance of class +klass+, return it, else # create a new instance of +klass+ with value +value+. def new_with_value_if_need(klass, value) if value.is_a?(klass) value else klass.new(value) end end # This method is used inside of several different objects to determine # if special behavior is needed in the constructor. # # Special behavior is needed if the array passed in as +args+ has # +true+ or +false+ as its value, and if the second element of +args+ # is a hash. def element_initialize_arguments?(args) [true, false].include?(args[0]) and args[1].is_a?(Hash) end module ExplicitCleanOther module_function def parse(value) if [true, false, nil].include?(value) value else case value.to_s when /\Aexplicit|yes|true\z/i true when /\Aclean|no|false\z/i false else nil end end end end module YesOther module_function def parse(value) if [true, false].include?(value) value else /\Ayes\z/i.match(value.to_s) ? true : false end end end module CSV module_function def parse(value, &block) if value.is_a?(String) value = value.strip.split(/\s*,\s*/) value = value.collect(&block) if block_given? value else value end end end module InheritedReader def inherited_reader(constant_name) base_class = inherited_base result = base_class.const_get(constant_name) found_base_class = false ancestors.reverse_each do |klass| if found_base_class if klass.const_defined?(constant_name) result = yield(result, klass.const_get(constant_name)) end else found_base_class = klass == base_class end end result end def inherited_array_reader(constant_name) inherited_reader(constant_name) do |result, current| current + result end end def inherited_hash_reader(constant_name) inherited_reader(constant_name) do |result, current| result.merge(current) end end end end end
Save