Sha256: c6968151bb9f78e0c1780ebc65c2ec770b46f314a39f37fdfe0df6970e5a92e9

Contents?: true

Size: 1.41 KB

Versions: 4

Compression:

Stored size: 1.41 KB

Contents

require "amee/profile_api/profile_category"
require "amee/profile_api/profile_item"
module Amee
  module ProfileApi
    class Profile
      include ::Amee::Model
      self.path_prefix = "/profiles"
      
      attr_accessor :total_amount
      list_populators :profile_categories => {:class => Amee::ProfileApi::ProfileCategory}
      item_populators :data_category => {:class => Amee::DataApi::DataCategory}
         
      def self.create(session)
         self.from_hash(session.new_profile, session)
       end
      
      def create_profile_item(path_or_category, data_item_uid, params = {})
        path = full_path + (path_or_category.is_a?(String) ? "#{path_or_category}" : "#{path_or_category.full_path}")
        Amee::ProfileApi::ProfileItem.create(session, path, data_item_uid, params)
      end
      
      def get_profile_item(path, options = {})
        session.get_profile_item((full_path + path), options)
      end
      
      def get_profile_category(path, options = {})
        session.get_profile_category((full_path + path), options)
      end
      
      def update_profile_item(path, fields)
        session.update_profile_item((full_path + path), :fields => fields)
      end
 
      def destroy
        session.delete_profile(self.uid)
      end
      
      def full_path
        "#{self.class.path_prefix}/#{self.uid}"
      end
      
      def lazy_loaded
        true
      end
      
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hookercookerman-amee-0.1.4 lib/amee/profile_api/profile.rb
hookercookerman-amee-0.1.5 lib/amee/profile_api/profile.rb
hookercookerman-amee-0.1.6 lib/amee/profile_api/profile.rb
hookercookerman-amee-0.1.8 lib/amee/profile_api/profile.rb