amee 3.2.1 → 4.0.0
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/CHANGELOG.txt +1 -24
 - data/Gemfile +7 -8
 - data/Gemfile.lock +33 -14
 - data/README.txt +33 -15
 - data/Rakefile +15 -29
 - data/VERSION +1 -1
 - data/amee.gemspec +21 -24
 - data/lib/amee.rb +11 -0
 - data/lib/amee/connection.rb +1 -1
 - data/lib/amee/logger.rb +10 -5
 - data/lib/amee/rails.rb +12 -16
 - data/lib/amee/v3.rb +2 -0
 - data/lib/amee/v3/collection.rb +4 -6
 - data/lib/amee/v3/connection.rb +0 -5
 - data/lib/amee/v3/item_definition.rb +12 -19
 - data/lib/amee/v3/item_value_definition.rb +6 -7
 - data/lib/amee/v3/item_value_definition_list.rb +3 -3
 - data/lib/amee/v3/return_value_definition.rb +4 -4
 - data/spec/amee_spec.rb +1 -1
 - data/spec/cache_spec.rb +1 -1
 - data/spec/connection_spec.rb +1 -1
 - data/spec/data_category_spec.rb +4 -4
 - data/spec/data_item_spec.rb +5 -5
 - data/spec/data_item_value_history_spec.rb +1 -1
 - data/spec/data_item_value_spec.rb +1 -1
 - data/spec/data_object_spec.rb +1 -1
 - data/spec/drill_down_spec.rb +1 -1
 - data/spec/fixtures/itemdef.xml +1 -6
 - data/spec/fixtures/itemdef_441BF4BEA15B.xml +12 -20
 - data/spec/item_definition_spec.rb +7 -7
 - data/spec/item_value_definition_spec.rb +9 -9
 - data/spec/logger_spec.rb +1 -1
 - data/spec/object_spec.rb +1 -1
 - data/spec/parse_helper_spec.rb +1 -1
 - data/spec/profile_category_spec.rb +19 -19
 - data/spec/profile_item_spec.rb +16 -16
 - data/spec/profile_item_value_spec.rb +1 -1
 - data/spec/profile_object_spec.rb +1 -1
 - data/spec/profile_spec.rb +1 -1
 - data/spec/rails_spec.rb +1 -6
 - data/spec/spec_helper.rb +3 -4
 - data/spec/user_spec.rb +7 -7
 - data/spec/v3/connection_spec.rb +11 -11
 - data/spec/v3/item_definition_spec.rb +13 -15
 - data/spec/v3/item_value_definition_spec.rb +6 -6
 - data/spec/v3/return_value_definition_spec.rb +10 -9
 - metadata +87 -79
 - data/init.rb +0 -4
 - data/lib/amee/config.rb +0 -37
 - data/lib/amee/core-extensions/hash.rb +0 -43
 - data/rails/init.rb +0 -18
 - data/spec/fixtures/rails_config.yml +0 -13
 - data/spec/spec_amee_config.rb +0 -46
 
    
        data/lib/amee/rails.rb
    CHANGED
    
    | 
         @@ -12,23 +12,23 @@ module AMEE 
     | 
|
| 
       12 
12 
     | 
    
         
             
                  def self.global(options = {})
         
     | 
| 
       13 
13 
     | 
    
         
             
                    unless @connection
         
     | 
| 
       14 
14 
     | 
    
         
             
                      $AMEE_CONFIG ||= {} # Make default values nil
         
     | 
| 
       15 
     | 
    
         
            -
                      if $AMEE_CONFIG[ 
     | 
| 
      
 15 
     | 
    
         
            +
                      if $AMEE_CONFIG['ssl'] == false
         
     | 
| 
       16 
16 
     | 
    
         
             
                        options.merge! :ssl => false
         
     | 
| 
       17 
17 
     | 
    
         
             
                      end
         
     | 
| 
       18 
     | 
    
         
            -
                      if $AMEE_CONFIG[ 
     | 
| 
       19 
     | 
    
         
            -
                        options.merge! :retries => $AMEE_CONFIG[ 
     | 
| 
      
 18 
     | 
    
         
            +
                      if $AMEE_CONFIG['retries']
         
     | 
| 
      
 19 
     | 
    
         
            +
                        options.merge! :retries => $AMEE_CONFIG['retries'].to_i
         
     | 
| 
       20 
20 
     | 
    
         
             
                      end
         
     | 
| 
       21 
     | 
    
         
            -
                      if $AMEE_CONFIG[ 
     | 
| 
       22 
     | 
    
         
            -
                        options.merge! :timeout => $AMEE_CONFIG[ 
     | 
| 
      
 21 
     | 
    
         
            +
                      if $AMEE_CONFIG['timeout']
         
     | 
| 
      
 22 
     | 
    
         
            +
                        options.merge! :timeout => $AMEE_CONFIG['timeout'].to_i
         
     | 
| 
       23 
23 
     | 
    
         
             
                      end
         
     | 
| 
       24 
     | 
    
         
            -
                      if $AMEE_CONFIG[ 
     | 
| 
      
 24 
     | 
    
         
            +
                      if $AMEE_CONFIG['cache'] == 'rails'
         
     | 
| 
       25 
25 
     | 
    
         
             
                        # Pass in the rails cache store
         
     | 
| 
       26 
26 
     | 
    
         
             
                        options[:cache_store] = ActionController::Base.cache_store
         
     | 
| 
       27 
27 
     | 
    
         
             
                      else
         
     | 
| 
       28 
     | 
    
         
            -
                        options[:cache] ||= $AMEE_CONFIG[ 
     | 
| 
      
 28 
     | 
    
         
            +
                        options[:cache] ||= $AMEE_CONFIG['cache'] if $AMEE_CONFIG['cache'].present?
         
     | 
| 
       29 
29 
     | 
    
         
             
                      end
         
     | 
| 
       30 
     | 
    
         
            -
                      options[:enable_debug]   ||= $AMEE_CONFIG[ 
     | 
| 
       31 
     | 
    
         
            -
                      @connection = self.connect($AMEE_CONFIG[ 
     | 
| 
      
 30 
     | 
    
         
            +
                      options[:enable_debug]   ||= $AMEE_CONFIG['debug'] if $AMEE_CONFIG['debug'].present?
         
     | 
| 
      
 31 
     | 
    
         
            +
                      @connection = self.connect($AMEE_CONFIG['server'], $AMEE_CONFIG['username'], $AMEE_CONFIG['password'], options)
         
     | 
| 
       32 
32 
     | 
    
         
             
                      # Also store as $amee for backwards compatibility, though this is now deprecated
         
     | 
| 
       33 
33 
     | 
    
         
             
                      $amee = @connection
         
     | 
| 
       34 
34 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -52,20 +52,16 @@ module AMEE 
     | 
|
| 
       52 
52 
     | 
    
         
             
                    # Include the instance methods for creation and desctruction
         
     | 
| 
       53 
53 
     | 
    
         
             
                    include InstanceMethods
         
     | 
| 
       54 
54 
     | 
    
         
             
                    # Install callbacks
         
     | 
| 
       55 
     | 
    
         
            -
                     
     | 
| 
       56 
     | 
    
         
            -
                     
     | 
| 
      
 55 
     | 
    
         
            +
                    before_validation :amee_create, :on => :create
         
     | 
| 
      
 56 
     | 
    
         
            +
                    after_save :amee_save
         
     | 
| 
       57 
57 
     | 
    
         
             
                    before_destroy :amee_destroy
         
     | 
| 
       58 
58 
     | 
    
         
             
                    # Check that this object has an AMEE profile UID when saving
         
     | 
| 
       59 
     | 
    
         
            -
                     
     | 
| 
      
 59 
     | 
    
         
            +
                    validates :amee_profile, :presence => true
         
     | 
| 
       60 
60 
     | 
    
         
             
                  end
         
     | 
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
                module InstanceMethods
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
     | 
    
         
            -
                  def save_with_amee
         
     | 
| 
       66 
     | 
    
         
            -
                    save_without_amee && amee_save
         
     | 
| 
       67 
     | 
    
         
            -
                  end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
65 
     | 
    
         
             
                  def amee_create
         
     | 
| 
       70 
66 
     | 
    
         
             
                    # Create profile
         
     | 
| 
       71 
67 
     | 
    
         
             
                    profile = AMEE::Profile::Profile.create(amee_connection)
         
     | 
    
        data/lib/amee/v3.rb
    CHANGED
    
    | 
         @@ -1,6 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
      
 4 
     | 
    
         
            +
            AMEE_API_VERSION = '3.3'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       4 
6 
     | 
    
         
             
            require 'amee/v3/meta_helper'
         
     | 
| 
       5 
7 
     | 
    
         
             
            require 'amee/v3/collection'
         
     | 
| 
       6 
8 
     | 
    
         
             
            require 'amee/v3/connection'
         
     | 
    
        data/lib/amee/v3/collection.rb
    CHANGED
    
    | 
         @@ -8,7 +8,8 @@ module AMEE 
     | 
|
| 
       8 
8 
     | 
    
         
             
                  collectionpath=~/^\/3/
         
     | 
| 
       9 
9 
     | 
    
         
             
                end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
      
 11 
     | 
    
         
            +
                alias_method :fetch_without_v3, :fetch
         
     | 
| 
      
 12 
     | 
    
         
            +
                def fetch
         
     | 
| 
       12 
13 
     | 
    
         
             
                  @options.merge! @pager.options if @pager
         
     | 
| 
       13 
14 
     | 
    
         
             
                  retries = [1] * connection.retries
         
     | 
| 
       14 
15 
     | 
    
         
             
                  begin
         
     | 
| 
         @@ -33,9 +34,9 @@ module AMEE 
     | 
|
| 
       33 
34 
     | 
    
         
             
                    end
         
     | 
| 
       34 
35 
     | 
    
         
             
                  end
         
     | 
| 
       35 
36 
     | 
    
         
             
                end
         
     | 
| 
       36 
     | 
    
         
            -
                alias_method_chain :fetch, :v3
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
                 
     | 
| 
      
 38 
     | 
    
         
            +
                alias_method :each_page_without_v3, :each_page
         
     | 
| 
      
 39 
     | 
    
         
            +
                def each_page
         
     | 
| 
       39 
40 
     | 
    
         
             
                  @pager=AMEE::Limiter.new(@options) if v3
         
     | 
| 
       40 
41 
     | 
    
         
             
                  # in v3 need to specify limit to start with, not in v2
         
     | 
| 
       41 
42 
     | 
    
         
             
                  begin           
         
     | 
| 
         @@ -54,8 +55,5 @@ module AMEE 
     | 
|
| 
       54 
55 
     | 
    
         
             
                  end while @pager && @pager.next! #pager is nil if no pager in response,
         
     | 
| 
       55 
56 
     | 
    
         
             
                  # pager.next! is false if @pager said current=last.
         
     | 
| 
       56 
57 
     | 
    
         
             
                end
         
     | 
| 
       57 
     | 
    
         
            -
                alias_method_chain :each_page, :v3
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
58 
     | 
    
         
             
              end
         
     | 
| 
       60 
59 
     | 
    
         
             
            end
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
    
        data/lib/amee/v3/connection.rb
    CHANGED
    
    
| 
         @@ -7,14 +7,13 @@ module AMEE 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                  include ParseHelper
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  alias_method :initialize_without_v3, :initialize
         
     | 
| 
      
 11 
     | 
    
         
            +
                  def initialize(data = {})
         
     | 
| 
       11 
12 
     | 
    
         
             
                    @usages = data[:usages] || []
         
     | 
| 
       12 
     | 
    
         
            -
                    @algorithms = data[:algorithms] || {}
         
     | 
| 
       13 
13 
     | 
    
         
             
                    initialize_without_v3(data)
         
     | 
| 
       14 
14 
     | 
    
         
             
                  end
         
     | 
| 
       15 
     | 
    
         
            -
                  alias_method_chain :initialize, :v3
         
     | 
| 
       16 
15 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                  attr_accessor :usages 
     | 
| 
      
 16 
     | 
    
         
            +
                  attr_accessor :usages
         
     | 
| 
       18 
17 
     | 
    
         | 
| 
       19 
18 
     | 
    
         
             
                  def self.metaxmlpathpreamble
         
     | 
| 
       20 
19 
     | 
    
         
             
                    '/Representation/ItemDefinition/'
         
     | 
| 
         @@ -26,7 +25,7 @@ module AMEE 
     | 
|
| 
       26 
25 
     | 
    
         | 
| 
       27 
26 
     | 
    
         
             
                  def self.v3_get(connection, uid, options={})
         
     | 
| 
       28 
27 
     | 
    
         
             
                    # Load data from path
         
     | 
| 
       29 
     | 
    
         
            -
                    response = connection.v3_get("/#{ 
     | 
| 
      
 28 
     | 
    
         
            +
                    response = connection.v3_get("/#{AMEE_API_VERSION}/definitions/#{uid};full", options)
         
     | 
| 
       30 
29 
     | 
    
         
             
                    # Parse response
         
     | 
| 
       31 
30 
     | 
    
         
             
                    item_definition = ItemDefinition.parse(connection, response, false)
         
     | 
| 
       32 
31 
     | 
    
         
             
                    # Done
         
     | 
| 
         @@ -35,7 +34,10 @@ module AMEE 
     | 
|
| 
       35 
34 
     | 
    
         
             
                    raise AMEE::BadData.new("Couldn't load ItemDefinition. Check that your URL is correct.\n#{$!}\n#{response}")
         
     | 
| 
       36 
35 
     | 
    
         
             
                  end
         
     | 
| 
       37 
36 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
                   
     | 
| 
      
 37 
     | 
    
         
            +
                  class << self
         
     | 
| 
      
 38 
     | 
    
         
            +
                    alias_method :from_xml_without_v3, :from_xml
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
                  def self.from_xml(xml, is_list = true)
         
     | 
| 
       39 
41 
     | 
    
         
             
                    return self.from_xml_without_v3(xml, is_list) if xml.include?('<Resources>')
         
     | 
| 
       40 
42 
     | 
    
         
             
                    # Parse data from response into hash
         
     | 
| 
       41 
43 
     | 
    
         
             
                    doc = load_xml_doc(xml)
         
     | 
| 
         @@ -46,34 +48,25 @@ module AMEE 
     | 
|
| 
       46 
48 
     | 
    
         
             
                    data[:name] = x 'Name', :doc => doc, :meta => true
         
     | 
| 
       47 
49 
     | 
    
         
             
                    data[:drillDown] = x('DrillDown', :doc => doc, :meta => true).split(",") rescue nil
         
     | 
| 
       48 
50 
     | 
    
         
             
                    data[:usages] = [(x 'Usages/Usage/Name', :doc => doc, :meta => true)].flatten.delete_if{|x| x.nil?}
         
     | 
| 
       49 
     | 
    
         
            -
                    data[:algorithms] = begin
         
     | 
| 
       50 
     | 
    
         
            -
                      names = [(x 'Algorithms/Algorithm/Name', :doc => doc, :meta => true)].flatten.delete_if{|x| x.nil?}
         
     | 
| 
       51 
     | 
    
         
            -
                      uids = [(x 'Algorithms/Algorithm/@uid', :doc => doc, :meta => true)].flatten.delete_if{|x| x.nil?}
         
     | 
| 
       52 
     | 
    
         
            -
                      Hash[names.zip(uids)]
         
     | 
| 
       53 
     | 
    
         
            -
                    end
         
     | 
| 
       54 
51 
     | 
    
         
             
                    # Create object
         
     | 
| 
       55 
52 
     | 
    
         
             
                    ItemDefinition.new(data)
         
     | 
| 
       56 
53 
     | 
    
         
             
                  rescue
         
     | 
| 
       57 
54 
     | 
    
         
             
                    raise AMEE::BadData.new("Couldn't load ItemDefinition from XML. Check that your URL is correct.\n#{$!}\n#{xml}")
         
     | 
| 
       58 
55 
     | 
    
         
             
                  end
         
     | 
| 
       59 
     | 
    
         
            -
                  class << self
         
     | 
| 
       60 
     | 
    
         
            -
                    alias_method_chain :from_xml, :v3
         
     | 
| 
       61 
     | 
    
         
            -
                  end
         
     | 
| 
       62 
56 
     | 
    
         | 
| 
       63 
57 
     | 
    
         
             
                  def save!
         
     | 
| 
       64 
58 
     | 
    
         
             
                    save_options = {
         
     | 
| 
       65 
59 
     | 
    
         
             
                      :usages => @usages.join(','),
         
     | 
| 
       66 
60 
     | 
    
         
             
                      :name => @name
         
     | 
| 
       67 
61 
     | 
    
         
             
                    }
         
     | 
| 
       68 
     | 
    
         
            -
                    @connection.v3_put("/#{ 
     | 
| 
      
 62 
     | 
    
         
            +
                    @connection.v3_put("/#{AMEE_API_VERSION}/definitions/#{@uid}",save_options)
         
     | 
| 
       69 
63 
     | 
    
         
             
                  end
         
     | 
| 
       70 
64 
     | 
    
         | 
| 
       71 
     | 
    
         
            -
                   
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
      
 65 
     | 
    
         
            +
                  alias_method :expire_cache_without_v3, :expire_cache
         
     | 
| 
      
 66 
     | 
    
         
            +
                  def expire_cache
         
     | 
| 
      
 67 
     | 
    
         
            +
                    @connection.expire_matching("/#{AMEE_API_VERSION}/definitions/#{@uid}.*")
         
     | 
| 
       73 
68 
     | 
    
         
             
                    expire_cache_without_v3
         
     | 
| 
       74 
69 
     | 
    
         
             
                  end
         
     | 
| 
       75 
     | 
    
         
            -
                  alias_method_chain :expire_cache, :v3
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
70 
     | 
    
         
             
                end
         
     | 
| 
       78 
71 
     | 
    
         
             
              end
         
     | 
| 
       79 
72 
     | 
    
         
             
            end
         
     | 
| 
         @@ -6,14 +6,14 @@ module AMEE 
     | 
|
| 
       6 
6 
     | 
    
         
             
                class ItemValueDefinition
         
     | 
| 
       7 
7 
     | 
    
         
             
                  include MetaHelper
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                   
     | 
| 
      
 9 
     | 
    
         
            +
                  alias_method :initialize_without_v3, :initialize
         
     | 
| 
      
 10 
     | 
    
         
            +
                  def initialize(data = {})
         
     | 
| 
       10 
11 
     | 
    
         
             
                    storemeta(data[:meta]) if data[:meta]
         
     | 
| 
       11 
12 
     | 
    
         
             
                    initialize_without_v3(data)
         
     | 
| 
       12 
13 
     | 
    
         
             
                  end
         
     | 
| 
       13 
     | 
    
         
            -
                  alias_method_chain :initialize, :v3
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                  def metapath
         
     | 
| 
       16 
     | 
    
         
            -
                    "/#{ 
     | 
| 
      
 16 
     | 
    
         
            +
                    "/#{AMEE_API_VERSION}/definitions/#{itemdefuid}/values/#{uid};wikiDoc;usages"
         
     | 
| 
       17 
17 
     | 
    
         
             
                  end
         
     | 
| 
       18 
18 
     | 
    
         
             
                  def metaxmlpathpreamble
         
     | 
| 
       19 
19 
     | 
    
         
             
                    '/Representation/ItemValueDefinition/'
         
     | 
| 
         @@ -88,12 +88,11 @@ EOF 
     | 
|
| 
       88 
88 
     | 
    
         
             
                    end
         
     | 
| 
       89 
89 
     | 
    
         
             
                  end
         
     | 
| 
       90 
90 
     | 
    
         | 
| 
       91 
     | 
    
         
            -
                   
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
      
 91 
     | 
    
         
            +
                  alias_method :expire_cache_without_v3, :expire_cache
         
     | 
| 
      
 92 
     | 
    
         
            +
                  def expire_cache
         
     | 
| 
      
 93 
     | 
    
         
            +
                      @connection.expire_matching("/#{AMEE_API_VERSION}/definitions/#{itemdefuid}/values/#{uid}.*")
         
     | 
| 
       93 
94 
     | 
    
         
             
                    expire_cache_without_v3
         
     | 
| 
       94 
95 
     | 
    
         
             
                  end
         
     | 
| 
       95 
     | 
    
         
            -
                  alias_method_chain :expire_cache, :v3
         
     | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
       97 
96 
     | 
    
         
             
                end
         
     | 
| 
       98 
97 
     | 
    
         
             
              end
         
     | 
| 
       99 
98 
     | 
    
         
             
            end
         
     | 
| 
         @@ -6,14 +6,14 @@ module AMEE 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
                class ItemValueDefinitionList < AMEE::Collection
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                   
     | 
| 
      
 9 
     | 
    
         
            +
                  alias_method :initialize_without_v3, :initialize
         
     | 
| 
      
 10 
     | 
    
         
            +
                  def initialize(connection,uid,options={}, &block)
         
     | 
| 
       10 
11 
     | 
    
         
             
                    @use_v3_connection = true
         
     | 
| 
       11 
12 
     | 
    
         
             
                    initialize_without_v3(connection, uid, options, &block)
         
     | 
| 
       12 
13 
     | 
    
         
             
                  end
         
     | 
| 
       13 
     | 
    
         
            -
                  alias_method_chain :initialize, :v3
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                  def collectionpath
         
     | 
| 
       16 
     | 
    
         
            -
                    "/#{ 
     | 
| 
      
 16 
     | 
    
         
            +
                    "/#{AMEE_API_VERSION}/definitions/#{@uid}/values;full"
         
     | 
| 
       17 
17 
     | 
    
         
             
                  end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                  def xmlcollectorpath
         
     | 
| 
         @@ -15,7 +15,7 @@ module AMEE 
     | 
|
| 
       15 
15 
     | 
    
         
             
                    ReturnValueDefinition
         
     | 
| 
       16 
16 
     | 
    
         
             
                  end
         
     | 
| 
       17 
17 
     | 
    
         
             
                  def collectionpath
         
     | 
| 
       18 
     | 
    
         
            -
                    "/#{ 
     | 
| 
      
 18 
     | 
    
         
            +
                    "/#{AMEE_API_VERSION}/definitions/#{@uid}/returnvalues;full"
         
     | 
| 
       19 
19 
     | 
    
         
             
                  end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                  def jsoncollector
         
     | 
| 
         @@ -138,7 +138,7 @@ module AMEE 
     | 
|
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         | 
| 
       140 
140 
     | 
    
         
             
                  def self.load(connection,itemdefuid,ivduid,options={})
         
     | 
| 
       141 
     | 
    
         
            -
                    ReturnValueDefinition.get(connection,"/#{ 
     | 
| 
      
 141 
     | 
    
         
            +
                    ReturnValueDefinition.get(connection,"/#{AMEE_API_VERSION}/definitions/#{itemdefuid}/returnvalues/#{ivduid};full",options)
         
     | 
| 
       142 
142 
     | 
    
         
             
                  end
         
     | 
| 
       143 
143 
     | 
    
         | 
| 
       144 
144 
     | 
    
         
             
                  def reload(connection)
         
     | 
| 
         @@ -178,7 +178,7 @@ module AMEE 
     | 
|
| 
       178 
178 
     | 
    
         
             
                    end
         
     | 
| 
       179 
179 
     | 
    
         | 
| 
       180 
180 
     | 
    
         
             
                    options.merge!(:returnobj=>true)
         
     | 
| 
       181 
     | 
    
         
            -
                    response = connection.v3_post("/#{ 
     | 
| 
      
 181 
     | 
    
         
            +
                    response = connection.v3_post("/#{AMEE_API_VERSION}/definitions/#{itemdefuid}/returnvalues", options)
         
     | 
| 
       182 
182 
     | 
    
         
             
                    return ReturnValueDefinition.load(connection,itemdefuid , response['Location'].split('/')[7])
         
     | 
| 
       183 
183 
     | 
    
         
             
                  rescue
         
     | 
| 
       184 
184 
     | 
    
         
             
                    raise AMEE::BadData.new("Couldn't create ReturnValueDefinition. Check that your information is correct.\n#{response}")
         
     | 
| 
         @@ -189,7 +189,7 @@ module AMEE 
     | 
|
| 
       189 
189 
     | 
    
         
             
                    # Deleting takes a while... up the timeout to 120 seconds temporarily
         
     | 
| 
       190 
190 
     | 
    
         
             
                    t = connection.timeout
         
     | 
| 
       191 
191 
     | 
    
         
             
                    connection.timeout = 120
         
     | 
| 
       192 
     | 
    
         
            -
                    connection.v3_delete("/#{ 
     | 
| 
      
 192 
     | 
    
         
            +
                    connection.v3_delete("/#{AMEE_API_VERSION}/definitions/#{itemdefuid}/returnvalues/" + return_value_definition.uid)
         
     | 
| 
       193 
193 
     | 
    
         
             
                    connection.timeout = t
         
     | 
| 
       194 
194 
     | 
    
         
             
                  rescue
         
     | 
| 
       195 
195 
     | 
    
         
             
                    raise AMEE::BadData.new("Couldn't delete ReturnValueDefinition. Check that your information is correct.")
         
     | 
    
        data/spec/amee_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            describe "AMEE module" do
         
     | 
| 
       7 
7 
     | 
    
         | 
    
        data/spec/cache_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'ostruct'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            describe AMEE::Connection do
         
     | 
    
        data/spec/connection_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            describe AMEE::Connection do
         
     | 
| 
       7 
7 
     | 
    
         | 
    
        data/spec/data_category_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            describe AMEE::Data::Category do
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
         @@ -127,7 +127,7 @@ describe AMEE::Data::Category, "with an authenticated XML connection" do 
     | 
|
| 
       127 
127 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       128 
128 
     | 
    
         
             
                connection.should_receive(:retries).and_return(0)
         
     | 
| 
       129 
129 
     | 
    
         
             
                connection.should_receive(:get).with("/data/transport/plane/generic", {:itemsPerPage => 10}).and_return(flexmock(:body => '<?xml version="1.0" encoding="UTF-8"?><Resources><DataCategoryResource><Path>/transport/plane/generic</Path><DataCategory created="2007-08-01 09:00:23.0" modified="2007-08-01 09:00:23.0" uid="FBA97B70DBDF"><Name>Generic</Name><Path>generic</Path><Environment uid="5F5887BCF726"/><DataCategory uid="6F3692D81CD9"><Name>Plane</Name><Path>plane</Path></DataCategory><ItemDefinition uid="441BF4BEA15B"/></DataCategory><Children><DataCategories/><DataItems><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="AD63A83B4D41"><kgCO2PerPassengerJourney>0</kgCO2PerPassengerJourney><type>domestic</type><label>domestic</label><size>-</size><path>AD63A83B4D41</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0.158</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="FFC7A05D54AD"><kgCO2PerPassengerJourney>73</kgCO2PerPassengerJourney><type>domestic</type><label>domestic, one way</label><size>one way</size><path>FFC7A05D54AD</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="F5498AD6FC75"><kgCO2PerPassengerJourney>146</kgCO2PerPassengerJourney><type>domestic</type><label>domestic, return</label><size>return</size><path>F5498AD6FC75</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="7D4220DF72F9"><kgCO2PerPassengerJourney>0</kgCO2PerPassengerJourney><type>long haul</type><label>long haul</label><size>-</size><path>7D4220DF72F9</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0.105</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="46117F6C0B7E"><kgCO2PerPassengerJourney>801</kgCO2PerPassengerJourney><type>long haul</type><label>long haul, one way</label><size>one way</size><path>46117F6C0B7E</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="96D538B1B246"><kgCO2PerPassengerJourney>1602</kgCO2PerPassengerJourney><type>long haul</type><label>long haul, return</label><size>return</size><path>96D538B1B246</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="9DA419052FDF"><kgCO2PerPassengerJourney>0</kgCO2PerPassengerJourney><type>short haul</type><label>short haul</label><size>-</size><path>9DA419052FDF</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0.13</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="84B4A14C7424"><kgCO2PerPassengerJourney>170</kgCO2PerPassengerJourney><type>short haul</type><label>short haul, one way</label><size>one way</size><path>84B4A14C7424</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0</kgCO2PerPassengerKm></DataItem><DataItem created="2007-08-01 09:00:41.0" modified="2007-08-01 09:00:41.0" uid="8DA1BEAA1013"><kgCO2PerPassengerJourney>340</kgCO2PerPassengerJourney><type>short haul</type><label>short haul, return</label><size>return</size><path>8DA1BEAA1013</path><source>DfT INAS Division, 29 March 2007</source><kgCO2PerPassengerKm>0</kgCO2PerPassengerKm></DataItem></DataItems><Pager><Start>0</Start><From>1</From><To>9</To><Items>9</Items><CurrentPage>1</CurrentPage><RequestedPage>1</RequestedPage><NextPage>-1</NextPage><PreviousPage>-1</PreviousPage><LastPage>1</LastPage><ItemsPerPage>10</ItemsPerPage><ItemsFound>9</ItemsFound></Pager></Children></DataCategoryResource></Resources>'))
         
     | 
| 
       130 
     | 
    
         
            -
                connection.should_receive(:v3_get).with(" 
     | 
| 
      
 130 
     | 
    
         
            +
                connection.should_receive(:v3_get).with("/3.3/definitions/441BF4BEA15B;full",{}).and_return(fixture('itemdef_441BF4BEA15B.xml')).once
         
     | 
| 
       131 
131 
     | 
    
         
             
                @data = AMEE::Data::Category.get(connection, "/data/transport/plane/generic")
         
     | 
| 
       132 
132 
     | 
    
         
             
                @data.uid.should == "FBA97B70DBDF"
         
     | 
| 
       133 
133 
     | 
    
         
             
                @data.itemdef.should == "441BF4BEA15B"
         
     | 
| 
         @@ -138,7 +138,7 @@ describe AMEE::Data::Category, "with an authenticated XML connection" do 
     | 
|
| 
       138 
138 
     | 
    
         
             
              it "should fail gracefully with bad XML" do
         
     | 
| 
       139 
139 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       140 
140 
     | 
    
         
             
                connection.should_receive(:retries).and_return(0)
         
     | 
| 
       141 
     | 
    
         
            -
                connection.should_receive(:get).with("/data", {:itemsPerPage => 10}).and_return(flexmock(:body => fixture('data.xml') 
     | 
| 
      
 141 
     | 
    
         
            +
                connection.should_receive(:get).with("/data", {:itemsPerPage => 10}).and_return(flexmock(:body => fixture('data.xml')[0,12]))
         
     | 
| 
       142 
142 
     | 
    
         
             
                connection.should_receive(:expire).with("/data").once
         
     | 
| 
       143 
143 
     | 
    
         
             
                lambda{AMEE::Data::Category.get(connection, "/data")}.should raise_error(REXML::ParseException)
         
     | 
| 
       144 
144 
     | 
    
         
             
              end
         
     | 
| 
         @@ -146,7 +146,7 @@ describe AMEE::Data::Category, "with an authenticated XML connection" do 
     | 
|
| 
       146 
146 
     | 
    
         
             
              it "should retry if bad XML is received first time" do
         
     | 
| 
       147 
147 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       148 
148 
     | 
    
         
             
                connection.should_receive(:retries).and_return(2)
         
     | 
| 
       149 
     | 
    
         
            -
                connection.should_receive(:get).with("/data", {:itemsPerPage => 10}).and_return(flexmock(:body => fixture('data.xml') 
     | 
| 
      
 149 
     | 
    
         
            +
                connection.should_receive(:get).with("/data", {:itemsPerPage => 10}).and_return(flexmock(:body => fixture('data.xml')[0,12])).twice
         
     | 
| 
       150 
150 
     | 
    
         
             
                connection.should_receive(:expire).with("/data").twice
         
     | 
| 
       151 
151 
     | 
    
         
             
                connection.should_receive(:get).with("/data", {:itemsPerPage => 10}).and_return(flexmock(:body => fixture('data.xml'))).once
         
     | 
| 
       152 
152 
     | 
    
         
             
                lambda{AMEE::Data::Category.get(connection, "/data")}.should_not raise_error
         
     | 
    
        data/spec/data_item_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            describe AMEE::Data::Item do
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
         @@ -127,7 +127,7 @@ describe AMEE::Data::Item, "with an authenticated connection" do 
     | 
|
| 
       127 
127 
     | 
    
         
             
              it "should fail gracefully with bad XML" do
         
     | 
| 
       128 
128 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       129 
129 
     | 
    
         
             
                connection.should_receive(:retries).and_return(0)
         
     | 
| 
       130 
     | 
    
         
            -
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.xml') 
     | 
| 
      
 130 
     | 
    
         
            +
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.xml')[0,12]))
         
     | 
| 
       131 
131 
     | 
    
         
             
                connection.should_receive(:expire).with("/data/transport/plane/generic/AD63A83B4D41").once
         
     | 
| 
       132 
132 
     | 
    
         
             
                lambda{AMEE::Data::Item.get(connection, "/data/transport/plane/generic/AD63A83B4D41")}.should raise_error(REXML::ParseException)
         
     | 
| 
       133 
133 
     | 
    
         
             
              end
         
     | 
| 
         @@ -135,7 +135,7 @@ describe AMEE::Data::Item, "with an authenticated connection" do 
     | 
|
| 
       135 
135 
     | 
    
         
             
              it "should retry if bad XML is received first time" do
         
     | 
| 
       136 
136 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       137 
137 
     | 
    
         
             
                connection.should_receive(:retries).and_return(2)
         
     | 
| 
       138 
     | 
    
         
            -
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.xml') 
     | 
| 
      
 138 
     | 
    
         
            +
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.xml')[0,12])).twice
         
     | 
| 
       139 
139 
     | 
    
         
             
                connection.should_receive(:expire).with("/data/transport/plane/generic/AD63A83B4D41").twice
         
     | 
| 
       140 
140 
     | 
    
         
             
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.xml'))).once
         
     | 
| 
       141 
141 
     | 
    
         
             
                lambda{AMEE::Data::Item.get(connection, "/data/transport/plane/generic/AD63A83B4D41")}.should_not raise_error
         
     | 
| 
         @@ -152,7 +152,7 @@ describe AMEE::Data::Item, "with an authenticated connection" do 
     | 
|
| 
       152 
152 
     | 
    
         
             
              it "should fail gracefully with bad JSON" do
         
     | 
| 
       153 
153 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       154 
154 
     | 
    
         
             
                connection.should_receive(:retries).and_return(0)
         
     | 
| 
       155 
     | 
    
         
            -
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.json') 
     | 
| 
      
 155 
     | 
    
         
            +
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.json')[0,12]))
         
     | 
| 
       156 
156 
     | 
    
         
             
                connection.should_receive(:expire).with("/data/transport/plane/generic/AD63A83B4D41").once
         
     | 
| 
       157 
157 
     | 
    
         
             
                lambda{AMEE::Data::Item.get(connection, "/data/transport/plane/generic/AD63A83B4D41")}.should raise_error(JSON::ParserError)
         
     | 
| 
       158 
158 
     | 
    
         
             
              end
         
     | 
| 
         @@ -160,7 +160,7 @@ describe AMEE::Data::Item, "with an authenticated connection" do 
     | 
|
| 
       160 
160 
     | 
    
         
             
              it "should retry if bad JSON is received first time" do
         
     | 
| 
       161 
161 
     | 
    
         
             
                connection = flexmock "connection"
         
     | 
| 
       162 
162 
     | 
    
         
             
                connection.should_receive(:retries).and_return(2)
         
     | 
| 
       163 
     | 
    
         
            -
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.json') 
     | 
| 
      
 163 
     | 
    
         
            +
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.json')[0,12])).twice
         
     | 
| 
       164 
164 
     | 
    
         
             
                connection.should_receive(:expire).with("/data/transport/plane/generic/AD63A83B4D41").twice
         
     | 
| 
       165 
165 
     | 
    
         
             
                connection.should_receive(:get).with("/data/transport/plane/generic/AD63A83B4D41", {}).and_return(flexmock(:body => fixture('AD63A83B4D41.json'))).once
         
     | 
| 
       166 
166 
     | 
    
         
             
                lambda{AMEE::Data::Item.get(connection, "/data/transport/plane/generic/AD63A83B4D41")}.should_not raise_error
         
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            TestSeriesOne=[[AMEE::Epoch,1],[AMEE::Epoch+1,2],[AMEE::Epoch+3,4]]
         
     | 
| 
       7 
7 
     | 
    
         
             
            TestSeriesTwo=[[AMEE::Epoch,2],[AMEE::Epoch+1,6],[AMEE::Epoch+5,7],[AMEE::Epoch+9,11]]
         
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            MockResourceShortPath="/transport/plane/generic/AD63A83B4D41/kgCO2PerPassengerJourney"
         
     | 
    
        data/spec/data_object_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            describe AMEE::Data::Object do
         
     | 
| 
       7 
7 
     | 
    
         | 
    
        data/spec/drill_down_spec.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (C) 2008-2011 AMEE UK Ltd. - http://www.amee.com
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Released as Open Source Software under the BSD 3-Clause license. See LICENSE.txt for details.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'spec_helper.rb'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            describe AMEE::Data::DrillDown do
         
     | 
| 
       7 
7 
     | 
    
         | 
    
        data/spec/fixtures/itemdef.xml
    CHANGED
    
    | 
         @@ -14,12 +14,7 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
                            <Name>usageOther</Name>
         
     | 
| 
       15 
15 
     | 
    
         
             
                        </Usage>
         
     | 
| 
       16 
16 
     | 
    
         
             
                    </Usages>
         
     | 
| 
       17 
     | 
    
         
            -
                    <Algorithms>
         
     | 
| 
       18 
     | 
    
         
            -
                        <Algorithm uid="D4E4779CA7AB">
         
     | 
| 
       19 
     | 
    
         
            -
                            <Name>default</Name>
         
     | 
| 
       20 
     | 
    
         
            -
                        </Algorithm>
         
     | 
| 
       21 
     | 
    
         
            -
                    </Algorithms>
         
     | 
| 
       22 
17 
     | 
    
         
             
                </ItemDefinition>
         
     | 
| 
       23 
18 
     | 
    
         
             
                <Status>OK</Status>
         
     | 
| 
       24 
     | 
    
         
            -
                <Version>3. 
     | 
| 
      
 19 
     | 
    
         
            +
                <Version>3.1.0</Version>
         
     | 
| 
       25 
20 
     | 
    
         
             
            </Representation>
         
     | 
| 
         @@ -1,22 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
         
     | 
| 
       2 
2 
     | 
    
         
             
            <Representation>
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  <Algorithm uid="595AF9E4E1E5">
         
     | 
| 
       16 
     | 
    
         
            -
                    <Name>perMonth</Name>
         
     | 
| 
       17 
     | 
    
         
            -
                  </Algorithm>
         
     | 
| 
       18 
     | 
    
         
            -
                </Algorithms>
         
     | 
| 
       19 
     | 
    
         
            -
              </ItemDefinition>
         
     | 
| 
       20 
     | 
    
         
            -
              <Status>OK</Status>
         
     | 
| 
       21 
     | 
    
         
            -
              <Version>3.6.0</Version>
         
     | 
| 
       22 
     | 
    
         
            -
            </Representation>
         
     | 
| 
      
 3 
     | 
    
         
            +
                <ItemDefinition created="2007-07-27T07:30:44Z" modified="2010-08-24T17:17:01Z" status="ACTIVE" uid="441BF4BEA15B">
         
     | 
| 
      
 4 
     | 
    
         
            +
                    <Name>Plane Generic</Name>
         
     | 
| 
      
 5 
     | 
    
         
            +
                    <DrillDown>type,size</DrillDown>
         
     | 
| 
      
 6 
     | 
    
         
            +
                    <Usages>
         
     | 
| 
      
 7 
     | 
    
         
            +
                        <Usage present="true">
         
     | 
| 
      
 8 
     | 
    
         
            +
                            <Name>default</Name>
         
     | 
| 
      
 9 
     | 
    
         
            +
                        </Usage>
         
     | 
| 
      
 10 
     | 
    
         
            +
                    </Usages>
         
     | 
| 
      
 11 
     | 
    
         
            +
                </ItemDefinition>
         
     | 
| 
      
 12 
     | 
    
         
            +
                <Status>OK</Status>
         
     | 
| 
      
 13 
     | 
    
         
            +
                <Version>3.1.0</Version>
         
     | 
| 
      
 14 
     | 
    
         
            +
            </Representation>
         
     |