lib/amee/profile_item.rb in Floppy-amee-0.4.4 vs lib/amee/profile_item.rb in Floppy-amee-0.4.5
- old
+ new
@@ -27,11 +27,10 @@
data[:valid_from] = DateTime.strptime(doc['profileItem']['validFrom'], "%Y%m%d")
data[:end] = doc['profileItem']['end'] == "false" ? false : true
data[:values] = []
doc['profileItem']['itemValues'].each do |item|
value_data = {}
- value_data[:values] = {}
item.each_pair do |key,value|
case key
when 'name', 'path', 'uid', 'value'
value_data[key.downcase.to_sym] = value
end
@@ -56,19 +55,16 @@
data[:valid_from] = DateTime.strptime(REXML::XPath.first(doc, "/Resources/ProfileItemResource/ProfileItem/ValidFrom").text, "%Y%m%d")
data[:end] = REXML::XPath.first(doc, '/Resources/ProfileItemResource/ProfileItem/End').text == "false" ? false : true
data[:values] = []
REXML::XPath.each(doc, '/Resources/ProfileItemResource/ProfileItem/ItemValues/ItemValue') do |item|
value_data = {}
- value_data[:values] = {}
item.elements.each do |element|
key = element.name
value = element.text
case key
- when 'Name', 'Path'
+ when 'Name', 'Path', 'Value'
value_data[key.downcase.to_sym] = value
- when 'Value'
- value_data[:value] = value
end
end
value_data[:uid] = item.attributes['uid'].to_s
data[:values] << value_data
end
@@ -76,26 +72,10 @@
Item.new(data)
rescue
raise AMEE::BadData.new("Couldn't load ProfileItem from XML data. Check that your URL is correct.")
end
- def self.get_history(connection, path, num_months, end_date = Date.today)
- month = end_date.month
- year = end_date.year
- history = []
- num_months.times do
- date = Date.new(year, month)
- history << self.get(connection, path, date)
- month -= 1
- if (month == 0)
- year -= 1
- month = 12
- end
- end
- return history.reverse
- end
-
def self.get(connection, path, for_date = Date.today)
# Load data from path
response = connection.get(path, :profileDate => for_date.strftime("%Y%m"))
# Parse data from response
if response.is_json?
@@ -105,11 +85,11 @@
end
# Store connection in object for future use
cat.connection = connection
# Done
return cat
- #rescue
- # raise AMEE::BadData.new("Couldn't load ProfileItem. Check that your URL is correct.")
+ rescue
+ raise AMEE::BadData.new("Couldn't load ProfileItem. Check that your URL is correct.")
end
def self.create(profile, data_item_uid, options = {})
# Send data to path
options.merge! :dataItemUid => data_item_uid