Floppy-amee 2.0.20 → 2.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/amee/profile_category.rb +22 -6
- data/lib/amee/version.rb +1 -1
- metadata +4 -3
@@ -9,6 +9,8 @@ module AMEE
|
|
9
9
|
@items = data ? data[:items] : []
|
10
10
|
@total_amount = data[:total_amount]
|
11
11
|
@total_amount_unit = data[:total_amount_unit]
|
12
|
+
@start_date = data[:start_date]
|
13
|
+
@end_date = data[:end_date]
|
12
14
|
super
|
13
15
|
end
|
14
16
|
|
@@ -17,6 +19,14 @@ module AMEE
|
|
17
19
|
attr_reader :total_amount
|
18
20
|
attr_reader :total_amount_unit
|
19
21
|
|
22
|
+
def start_date
|
23
|
+
@start_date || profile_date
|
24
|
+
end
|
25
|
+
|
26
|
+
def end_date
|
27
|
+
@end_date
|
28
|
+
end
|
29
|
+
|
20
30
|
def self.parse_json_profile_item(item)
|
21
31
|
item_data = {}
|
22
32
|
item_data[:values] = {}
|
@@ -123,7 +133,8 @@ module AMEE
|
|
123
133
|
doc = JSON.parse(json)
|
124
134
|
data = {}
|
125
135
|
data[:profile_uid] = doc['profile']['uid']
|
126
|
-
data[:
|
136
|
+
data[:start_date] = options[:start_date]
|
137
|
+
data[:end_date] = options[:end_date]
|
127
138
|
data[:name] = doc['dataCategory']['name']
|
128
139
|
data[:path] = doc['path']
|
129
140
|
data[:total_amount] = doc['totalAmount']['value'].to_f rescue nil
|
@@ -301,7 +312,8 @@ module AMEE
|
|
301
312
|
doc = REXML::Document.new(xml)
|
302
313
|
data = {}
|
303
314
|
data[:profile_uid] = REXML::XPath.first(doc, "/Resources/ProfileCategoryResource/Profile/@uid").to_s
|
304
|
-
data[:
|
315
|
+
data[:start_date] = options[:start_date]
|
316
|
+
data[:end_date] = options[:end_date]
|
305
317
|
data[:name] = REXML::XPath.first(doc, '/Resources/ProfileCategoryResource/DataCategory/Name').text
|
306
318
|
data[:path] = REXML::XPath.first(doc, '/Resources/ProfileCategoryResource/Path').text || ""
|
307
319
|
data[:total_amount] = REXML::XPath.first(doc, '/Resources/ProfileCategoryResource/TotalAmount').text.to_f rescue nil
|
@@ -351,7 +363,8 @@ module AMEE
|
|
351
363
|
doc = REXML::Document.new(response)
|
352
364
|
data = {}
|
353
365
|
data[:profile_uid] = REXML::XPath.first(doc, "/feed/@xml:base").to_s.match("/profiles/(.*?)/")[1]
|
354
|
-
data[:
|
366
|
+
data[:start_date] = options[:start_date]
|
367
|
+
data[:end_date] = options[:end_date]
|
355
368
|
data[:name] = REXML::XPath.first(doc, '/feed/amee:name').text
|
356
369
|
data[:path] = REXML::XPath.first(doc, "/feed/@xml:base").to_s.match("/profiles/.*?(/.*)")[1]
|
357
370
|
data[:total_amount] = REXML::XPath.first(doc, '/feed/amee:totalAmount').text.to_f rescue nil
|
@@ -455,25 +468,28 @@ module AMEE
|
|
455
468
|
end
|
456
469
|
end
|
457
470
|
|
458
|
-
def self.get(connection, path,
|
459
|
-
unless
|
471
|
+
def self.get(connection, path, orig_options = {})
|
472
|
+
unless orig_options.is_a?(Hash)
|
460
473
|
raise AMEE::ArgumentError.new("Third argument must be a hash of options!")
|
461
474
|
end
|
462
475
|
# Convert to AMEE options
|
476
|
+
options = orig_options.clone
|
463
477
|
if options[:start_date] && connection.version < 2
|
464
478
|
options[:profileDate] = options[:start_date].amee1_month
|
465
479
|
elsif options[:start_date] && connection.version >= 2
|
466
480
|
options[:startDate] = options[:start_date].xmlschema
|
467
481
|
end
|
482
|
+
options.delete(:start_date)
|
468
483
|
if options[:end_date] && connection.version >= 2
|
469
484
|
options[:endDate] = options[:end_date].xmlschema
|
470
485
|
end
|
486
|
+
options.delete(:end_date)
|
471
487
|
if options[:duration] && connection.version >= 2
|
472
488
|
options[:duration] = "PT#{options[:duration] * 86400}S"
|
473
489
|
end
|
474
490
|
# Load data from path
|
475
491
|
response = connection.get(path, options).body
|
476
|
-
return Category.parse(connection, response,
|
492
|
+
return Category.parse(connection, response, orig_options)
|
477
493
|
rescue
|
478
494
|
raise AMEE::BadData.new("Couldn't load ProfileCategory. Check that your URL is correct.\n#{response}")
|
479
495
|
end
|
data/lib/amee/version.rb
CHANGED
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.
|
4
|
+
version: 2.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Smith
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-08-05 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- rails/init.rb
|
73
73
|
has_rdoc: true
|
74
74
|
homepage: http://github.com/Floppy/amee-ruby
|
75
|
+
licenses:
|
75
76
|
post_install_message:
|
76
77
|
rdoc_options: []
|
77
78
|
|
@@ -92,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
93
|
requirements: []
|
93
94
|
|
94
95
|
rubyforge_project:
|
95
|
-
rubygems_version: 1.
|
96
|
+
rubygems_version: 1.3.5
|
96
97
|
signing_key:
|
97
98
|
specification_version: 2
|
98
99
|
summary: Ruby interface to the AMEE carbon calculator
|