Sha256: 3da79225972c897f9d5732991d63b186a2d2d0d4aa5a00797760ee9f713a5b10

Contents?: true

Size: 620 Bytes

Versions: 18

Compression:

Stored size: 620 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

18 entries across 18 versions & 1 rubygems

Version Path
sports_data_api-0.15.3 lib/sports_data_api/stats.rb
sports_data_api-0.15.2 lib/sports_data_api/stats.rb
sports_data_api-0.15.1 lib/sports_data_api/stats.rb
sports_data_api-0.15.0 lib/sports_data_api/stats.rb
sports_data_api-0.14.1 lib/sports_data_api/stats.rb
sports_data_api-0.14.0 lib/sports_data_api/stats.rb
sports_data_api-0.13.0 lib/sports_data_api/stats.rb
sports_data_api-0.12.1 lib/sports_data_api/stats.rb
sports_data_api-0.12.0 lib/sports_data_api/stats.rb
sports_data_api-0.11.6 lib/sports_data_api/stats.rb
sports_data_api-0.11.5 lib/sports_data_api/stats.rb
sports_data_api-0.11.3 lib/sports_data_api/stats.rb
sports_data_api-0.11.2 lib/sports_data_api/stats.rb
sports_data_api-0.11.1 lib/sports_data_api/stats.rb
sports_data_api-0.11.0 lib/sports_data_api/stats.rb
sports_data_api-0.10.1 lib/sports_data_api/stats.rb
sports_data_api-0.10.0 lib/sports_data_api/stats.rb
sports_data_api-0.9.2 lib/sports_data_api/stats.rb