module Itunes::Receipt::Properties
Constants
- LIST
Public Class Methods
included(klass)
click to toggle source
# File lib/itunes/receipt/properties.rb, line 46 def self.included klass klass.class_eval do attr_reader :data end (LIST.keys & klass::PROPERTY_LIST).each do |prop| case value = LIST[prop] when TrueClass klass.class_eval <<-"end;", __FILE__, __LINE__+1 def #{prop} data['#{prop}'] end end; when Hash case value[:name] when String klass.class_eval <<-"end;", __FILE__, __LINE__+1 def #{prop} Itunes::Receipt::Properties::LIST['#{prop}'][:prc][data['#{value[:name]}']] end end; when Array klass.class_eval <<-"end;", __FILE__, __LINE__+1 def #{prop} #{value[:name]}.reduce(nil) do |res, name| if not res and data[name] Itunes::Receipt::Properties::LIST['#{prop}'][:prc][data[name]] else res end end end end; end when Proc klass.class_eval <<-"end;", __FILE__, __LINE__+1 def #{prop} Itunes::Receipt::Properties::LIST['#{prop}'][data['#{prop}']] end end; end end end