Floppy-amee 2.0.18 → 2.0.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -153,7 +153,7 @@ module AMEE
153
153
  return location
154
154
  end
155
155
  rescue
156
- raise AMEE::BadData.new("Couldn't create DataCategory. Check that your information is correct.")
156
+ raise AMEE::BadData.new("Couldn't create DataCategory. Check that your information is correct.\n#{response}")
157
157
  end
158
158
 
159
159
  def self.delete(connection, path)
@@ -186,13 +186,13 @@ module AMEE
186
186
  # return location
187
187
  # end
188
188
  rescue
189
- raise AMEE::BadData.new("Couldn't create DataItem. Check that your information is correct.")
189
+ raise AMEE::BadData.new("Couldn't create DataItem. Check that your information is correct.\n#{response}")
190
190
  end
191
191
 
192
192
  def update(options = {})
193
193
  response = connection.put(full_path, options).body
194
194
  rescue
195
- raise AMEE::BadData.new("Couldn't update DataItem. Check that your information is correct.")
195
+ raise AMEE::BadData.new("Couldn't update DataItem. Check that your information is correct.\n#{response}")
196
196
  end
197
197
 
198
198
  def value(name_or_path_or_uid)
@@ -37,7 +37,7 @@ module AMEE
37
37
  end
38
38
  end
39
39
  rescue
40
- raise AMEE::BadData.new("Couldn't load ItemDefinition list.")
40
+ raise AMEE::BadData.new("Couldn't load ItemDefinition list.\n#{response}")
41
41
  end
42
42
 
43
43
  attr_reader :pager
@@ -81,7 +81,7 @@ module AMEE
81
81
  # Create object
82
82
  ItemDefinition.new(data)
83
83
  rescue
84
- raise AMEE::BadData.new("Couldn't load ItemDefinition from JSON. Check that your URL is correct.")
84
+ raise AMEE::BadData.new("Couldn't load ItemDefinition from JSON. Check that your URL is correct.\n#{json}")
85
85
  end
86
86
 
87
87
  def self.from_xml(xml, is_list = true)
@@ -96,7 +96,7 @@ module AMEE
96
96
  # Create object
97
97
  ItemDefinition.new(data)
98
98
  rescue
99
- raise AMEE::BadData.new("Couldn't load ItemDefinition from XML. Check that your URL is correct.")
99
+ raise AMEE::BadData.new("Couldn't load ItemDefinition from XML. Check that your URL is correct.\n#{xml}")
100
100
  end
101
101
 
102
102
  def self.get(connection, path, options = {})
@@ -107,13 +107,13 @@ module AMEE
107
107
  # Done
108
108
  return item_definition
109
109
  rescue
110
- raise AMEE::BadData.new("Couldn't load ItemDefinition. Check that your URL is correct.")
110
+ raise AMEE::BadData.new("Couldn't load ItemDefinition. Check that your URL is correct.\n#{response}")
111
111
  end
112
112
 
113
113
  def update(options = {})
114
114
  response = connection.put(full_path, options).body
115
115
  rescue
116
- raise AMEE::BadData.new("Couldn't update ItemDefinition. Check that your information is correct.")
116
+ raise AMEE::BadData.new("Couldn't update ItemDefinition. Check that your information is correct.\n#{response}")
117
117
  end
118
118
 
119
119
  def self.create(connection, options = {})
@@ -127,7 +127,7 @@ module AMEE
127
127
  # Get the ItemDefinition again
128
128
  return ItemDefinition.get(connection, "/definitions/itemDefinitions/" + item_definition.uid)
129
129
  rescue
130
- raise AMEE::BadData.new("Couldn't create ItemDefinition. Check that your information is correct.")
130
+ raise AMEE::BadData.new("Couldn't create ItemDefinition. Check that your information is correct.\n#{response}")
131
131
  end
132
132
 
133
133
  def self.delete(connection, item_definition)
data/lib/amee/profile.rb CHANGED
@@ -42,7 +42,7 @@ module AMEE
42
42
  end
43
43
  end
44
44
  rescue
45
- raise AMEE::BadData.new("Couldn't load Profile list.")
45
+ raise AMEE::BadData.new("Couldn't load Profile list.\n#{response}")
46
46
  end
47
47
 
48
48
  attr_reader :pager
@@ -92,7 +92,7 @@ module AMEE
92
92
  return profile
93
93
  end
94
94
  rescue
95
- raise AMEE::BadData.new("Couldn't create Profile.")
95
+ raise AMEE::BadData.new("Couldn't create Profile.\n#{response}")
96
96
  end
97
97
 
98
98
  def self.delete(connection, uid)
@@ -115,7 +115,7 @@ module AMEE
115
115
  # Create object
116
116
  Category.new(data)
117
117
  rescue
118
- raise AMEE::BadData.new("Couldn't load ProfileCategory from JSON data. Check that your URL is correct.")
118
+ raise AMEE::BadData.new("Couldn't load ProfileCategory from JSON data. Check that your URL is correct.\n#{json}")
119
119
  end
120
120
 
121
121
  def self.from_v2_json(json, options)
@@ -144,7 +144,7 @@ module AMEE
144
144
  # Create object
145
145
  Category.new(data)
146
146
  rescue
147
- raise AMEE::BadData.new("Couldn't load ProfileCategory from V2 JSON data. Check that your URL is correct.")
147
+ raise AMEE::BadData.new("Couldn't load ProfileCategory from V2 JSON data. Check that your URL is correct.\n#{json}")
148
148
  end
149
149
 
150
150
  def self.parse_xml_profile_item(item)
@@ -188,7 +188,7 @@ module AMEE
188
188
  end
189
189
  return data
190
190
  rescue
191
- raise AMEE::BadData.new("Couldn't load ProfileCategory batch response from V2 JSON data. Check that your URL is correct.")
191
+ raise AMEE::BadData.new("Couldn't load ProfileCategory batch response from V2 JSON data. Check that your URL is correct.\n#{json}")
192
192
  end
193
193
 
194
194
  def self.parse_xml_profile_category(category)
@@ -251,7 +251,7 @@ module AMEE
251
251
  # Create object
252
252
  Category.new(data)
253
253
  rescue
254
- raise AMEE::BadData.new("Couldn't load ProfileCategory from XML data. Check that your URL is correct.")
254
+ raise AMEE::BadData.new("Couldn't load ProfileCategory from XML data. Check that your URL is correct.\n#{xml}")
255
255
  end
256
256
 
257
257
  def self.parse_v2_xml_profile_item(item)
@@ -327,7 +327,7 @@ module AMEE
327
327
  # Create object
328
328
  Category.new(data)
329
329
  rescue
330
- raise AMEE::BadData.new("Couldn't load ProfileCategory from V2 XML data. Check that your URL is correct.")
330
+ raise AMEE::BadData.new("Couldn't load ProfileCategory from V2 XML data. Check that your URL is correct.\n#{xml}")
331
331
  end
332
332
 
333
333
  def self.from_v2_batch_xml(xml)
@@ -343,7 +343,7 @@ module AMEE
343
343
  end
344
344
  return data
345
345
  rescue
346
- raise AMEE::BadData.new("Couldn't load ProfileCategory batch response from V2 XML data. Check that your URL is correct.")
346
+ raise AMEE::BadData.new("Couldn't load ProfileCategory batch response from V2 XML data. Check that your URL is correct.\n#{xml}")
347
347
  end
348
348
 
349
349
  def self.from_v2_atom(response, options)
@@ -398,7 +398,7 @@ module AMEE
398
398
  # Create object
399
399
  Category.new(data)
400
400
  rescue
401
- raise AMEE::BadData.new("Couldn't load ProfileCategory from V2 Atom data. Check that your URL is correct.")
401
+ raise AMEE::BadData.new("Couldn't load ProfileCategory from V2 Atom data. Check that your URL is correct.\n#{response}")
402
402
  end
403
403
 
404
404
  def self.get_history(connection, path, num_months, end_date = Date.today, items_per_page = 10)
@@ -451,7 +451,7 @@ module AMEE
451
451
  elsif response.is_v2_xml?
452
452
  return Category.from_v2_batch_xml(response)
453
453
  else
454
- return self.parse(connection, response)
454
+ return self.parse(connection, response, nil)
455
455
  end
456
456
  end
457
457
 
@@ -475,7 +475,7 @@ module AMEE
475
475
  response = connection.get(path, options).body
476
476
  return Category.parse(connection, response, options)
477
477
  rescue
478
- raise AMEE::BadData.new("Couldn't load ProfileCategory. Check that your URL is correct.")
478
+ raise AMEE::BadData.new("Couldn't load ProfileCategory. Check that your URL is correct.\n#{response}")
479
479
  end
480
480
 
481
481
  def child(child_path)
@@ -58,7 +58,7 @@ module AMEE
58
58
  # Create object
59
59
  Item.new(data)
60
60
  rescue
61
- raise AMEE::BadData.new("Couldn't load ProfileItem from JSON data. Check that your URL is correct.")
61
+ raise AMEE::BadData.new("Couldn't load ProfileItem from JSON data. Check that your URL is correct.\n#{json}")
62
62
  end
63
63
 
64
64
  def self.from_v2_json(json)
@@ -90,7 +90,7 @@ module AMEE
90
90
  # Create object
91
91
  Item.new(data)
92
92
  rescue
93
- raise AMEE::BadData.new("Couldn't load ProfileItem from V2 JSON data. Check that your URL is correct.")
93
+ raise AMEE::BadData.new("Couldn't load ProfileItem from V2 JSON data. Check that your URL is correct.\n#{json}")
94
94
  end
95
95
 
96
96
  def self.from_xml(xml)
@@ -123,7 +123,7 @@ module AMEE
123
123
  # Create object
124
124
  Item.new(data)
125
125
  rescue
126
- raise AMEE::BadData.new("Couldn't load ProfileItem from XML data. Check that your URL is correct.")
126
+ raise AMEE::BadData.new("Couldn't load ProfileItem from XML data. Check that your URL is correct.\n#{xml}")
127
127
  end
128
128
 
129
129
  def self.from_v2_xml(xml)
@@ -158,7 +158,7 @@ module AMEE
158
158
  # Create object
159
159
  Item.new(data)
160
160
  rescue
161
- raise AMEE::BadData.new("Couldn't load ProfileItem from V2 XML data. Check that your URL is correct.")
161
+ raise AMEE::BadData.new("Couldn't load ProfileItem from V2 XML data. Check that your URL is correct.\n#{xml}")
162
162
  end
163
163
 
164
164
  def self.from_v2_atom(response)
@@ -187,7 +187,7 @@ module AMEE
187
187
  # Create object
188
188
  Item.new(data)
189
189
  rescue
190
- raise AMEE::BadData.new("Couldn't load ProfileItem from V2 ATOM data. Check that your URL is correct.")
190
+ raise AMEE::BadData.new("Couldn't load ProfileItem from V2 ATOM data. Check that your URL is correct.\n#{response}")
191
191
  end
192
192
 
193
193
  def self.parse(connection, response)
@@ -231,7 +231,7 @@ module AMEE
231
231
  response = connection.get(path, options).body
232
232
  return Item.parse(connection, response)
233
233
  rescue
234
- raise AMEE::BadData.new("Couldn't load ProfileItem. Check that your URL is correct.")
234
+ raise AMEE::BadData.new("Couldn't load ProfileItem. Check that your URL is correct.\n#{response}")
235
235
  end
236
236
 
237
237
  def self.create(category, data_item_uid, options = {})
@@ -253,11 +253,9 @@ module AMEE
253
253
  elsif options[:start_date] && connection.version >= 2
254
254
  options[:startDate] = options[:start_date].xmlschema
255
255
  end
256
- options.delete(:start_date)
257
256
  if options[:end_date] && connection.version >= 2
258
257
  options[:endDate] = options[:end_date].xmlschema
259
258
  end
260
- options.delete(:end_date)
261
259
  if options[:duration] && connection.version >= 2
262
260
  options[:duration] = "PT#{options[:duration] * 86400}S"
263
261
  end
@@ -267,7 +265,7 @@ module AMEE
267
265
  if response['Location']
268
266
  location = response['Location'].match("http://.*?(/.*)")[1]
269
267
  else
270
- category = Category.parse(connection, response.body)
268
+ category = Category.parse(connection, response.body, nil)
271
269
  location = category.full_path + "/" + category.items[0][:path]
272
270
  end
273
271
  if get_item == true
@@ -280,7 +278,7 @@ module AMEE
280
278
  return location
281
279
  end
282
280
  rescue
283
- raise AMEE::BadData.new("Couldn't create ProfileItem. Check that your information is correct.")
281
+ raise AMEE::BadData.new("Couldn't create ProfileItem. Check that your information is correct.\n#{response}")
284
282
  end
285
283
 
286
284
  def self.create_batch(category, items, options = {})
@@ -309,6 +307,20 @@ module AMEE
309
307
  # Do we want to automatically fetch the item afterwards?
310
308
  get_item = options.delete(:get_item)
311
309
  get_item = true if get_item.nil?
310
+ # Set dates
311
+ if options[:start_date] && connection.version < 2
312
+ options[:validFrom] = options[:start_date].amee1_date
313
+ elsif options[:start_date] && connection.version >= 2
314
+ options[:startDate] = options[:start_date].xmlschema
315
+ end
316
+ options.delete(:start_date)
317
+ if options[:end_date] && connection.version >= 2
318
+ options[:endDate] = options[:end_date].xmlschema
319
+ end
320
+ options.delete(:end_date)
321
+ if options[:duration] && connection.version >= 2
322
+ options[:duration] = "PT#{options[:duration] * 86400}S"
323
+ end
312
324
  # Go
313
325
  response = connection.put(path, options)
314
326
  if get_item
@@ -319,7 +331,7 @@ module AMEE
319
331
  end
320
332
  end
321
333
  rescue
322
- raise AMEE::BadData.new("Couldn't update ProfileItem. Check that your information is correct.")
334
+ raise AMEE::BadData.new("Couldn't update ProfileItem. Check that your information is correct.\n#{response}")
323
335
  end
324
336
 
325
337
  def update(options = {})
@@ -340,7 +352,7 @@ module AMEE
340
352
  response = connection.raw_put(category_path, put_data).body
341
353
  # Send back a category object containing all the created items
342
354
  unless response.empty?
343
- return AMEE::Profile::Category.parse(connection, response)
355
+ return AMEE::Profile::Category.parse(connection, response, nil)
344
356
  else
345
357
  return true
346
358
  end
@@ -53,7 +53,7 @@ module AMEE
53
53
  # Create object
54
54
  ItemValue.new(data)
55
55
  rescue
56
- raise AMEE::BadData.new("Couldn't load ProfileItemValue from JSON. Check that your URL is correct.")
56
+ raise AMEE::BadData.new("Couldn't load ProfileItemValue from JSON. Check that your URL is correct.\n#{json}")
57
57
  end
58
58
 
59
59
  def self.from_xml(xml, path)
@@ -74,7 +74,7 @@ module AMEE
74
74
  # Create object
75
75
  ItemValue.new(data)
76
76
  rescue
77
- raise AMEE::BadData.new("Couldn't load ProfileItemValue from XML. Check that your URL is correct.")
77
+ raise AMEE::BadData.new("Couldn't load ProfileItemValue from XML. Check that your URL is correct.\n#{xml}")
78
78
  end
79
79
 
80
80
  def self.get(connection, path)
@@ -91,7 +91,7 @@ module AMEE
91
91
  # Done
92
92
  return value
93
93
  rescue
94
- raise AMEE::BadData.new("Couldn't load ProfileItemValue. Check that your URL is correct.")
94
+ raise AMEE::BadData.new("Couldn't load ProfileItemValue. Check that your URL is correct.\n#{response}")
95
95
  end
96
96
 
97
97
  def save!
data/lib/amee/version.rb CHANGED
@@ -3,7 +3,7 @@ module AMEE
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 2
5
5
  MINOR = 0
6
- TINY = 18
6
+ TINY = 19
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
9
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Floppy-amee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.18
4
+ version: 2.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Smith