Sha256: 86f841f08018f960b0cd2d39c9f8b3f92ba5966e2aafde903e175ea7e3a45237

Contents?: true

Size: 628 Bytes

Versions: 5

Compression:

Stored size: 628 Bytes

Contents

module SportsDataApi
  class Stats
    def initialize(xml)
      if xml.is_a? Nokogiri::XML::Element
        stat_ivar = self.instance_variable_set("@#{xml.name}", {})
        self.class.class_eval { attr_reader :"#{xml.name}" }
        
        xml.attributes.each { |attr_name, attr_value| stat_ivar[attr_name.to_sym] = attr_value.value }
        xml.children.each do |child_stat|
          if child_stat.is_a? Nokogiri::XML::Element
            child_stat.attributes.each { |attr_name, attr_value| stat_ivar["#{child_stat.name}_#{attr_name}".to_sym] = attr_value.value }
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sports_data_api-0.2.4 lib/sports_data_api/stats.rb
sports_data_api-0.2.3 lib/sports_data_api/stats.rb
sports_data_api-0.2.2 lib/sports_data_api/stats.rb
sports_data_api-0.2.1 lib/sports_data_api/stats.rb
sports_data_api-0.2.0 lib/sports_data_api/stats.rb