diff --git a/Todo.txt b/Todo.txt index 118a137..b669737 100644 --- a/Todo.txt +++ b/Todo.txt @@ -1,13 +1,3 @@ -*) move all model related tests to model_spec.rb *) handle picture attributes -*) allow embedding into other classes, example: -class User < ActiveRecord::Base - acts_as_ogli :id=>:facebook_id,:class=>Ogli::User -end - -allows user.facebook.activities -or user.facebook_unpopulated.activities - -2) Start working on update handling \ No newline at end of file diff --git a/lib/mogli.rb b/lib/mogli.rb index e3d84ed..64041f8 100644 --- a/lib/mogli.rb +++ b/lib/mogli.rb @@ -14,12 +14,16 @@ module Mogli require "mogli/activity" require "mogli/address" require "mogli/album" +require "mogli/application" +require "mogli/app_request" require "mogli/book" require "mogli/checkin" require "mogli/comment" require "mogli/education" require "mogli/event" require "mogli/group" +require "mogli/insight" +require "mogli/insight_value" require "mogli/interest" require "mogli/link" require "mogli/location" @@ -36,4 +40,3 @@ module Mogli require "mogli/user" require "mogli/client" require "mogli/app_client" -require "mogli/apprequest" \ No newline at end of file diff --git a/lib/mogli/app_request.rb b/lib/mogli/app_request.rb new file mode 100644 index 0000000..f26c10b --- /dev/null +++ b/lib/mogli/app_request.rb @@ -0,0 +1,10 @@ +module Mogli + class AppRequest < Model + + define_properties :id, :data, :message, :created_time + hash_populating_accessor :application, "Application" + hash_populating_accessor :from, "Profile" + hash_populating_accessor :to, "Profile" + + end +end \ No newline at end of file diff --git a/lib/mogli/apprequest.rb b/lib/mogli/apprequest.rb deleted file mode 100644 index c08a63d..0000000 --- a/lib/mogli/apprequest.rb +++ /dev/null @@ -1,7 +0,0 @@ -module Mogli - class Apprequest < Model - - define_properties :id, :data, :message, :created_time, :application, :from, :to - - end -end \ No newline at end of file diff --git a/lib/mogli/client.rb b/lib/mogli/client.rb index c455f3d..5a02873 100644 --- a/lib/mogli/client.rb +++ b/lib/mogli/client.rb @@ -167,9 +167,13 @@ def create_instance(klass,data) end klass_to_create.new(data,self) end + + def capitalize_if_required(string) + string.downcase == string ? string.capitalize : string + end def constantize_string(klass) - klass.is_a?(String) ? Mogli.const_get(klass.capitalize) : klass + klass.is_a?(String) ? Mogli.const_get(capitalize_if_required(klass)) : klass end def determine_class(klass_or_klasses,data) diff --git a/lib/mogli/insight.rb b/lib/mogli/insight.rb index 7a89c17..6b2e0a5 100644 --- a/lib/mogli/insight.rb +++ b/lib/mogli/insight.rb @@ -1,6 +1,6 @@ module Mogli class Insight < Model - define_properties :id, :name - + define_properties :id, :name, :period + hash_populating_accessor :values, "InsightValue" end end \ No newline at end of file diff --git a/lib/mogli/insight_value.rb b/lib/mogli/insight_value.rb new file mode 100644 index 0000000..aa011b9 --- /dev/null +++ b/lib/mogli/insight_value.rb @@ -0,0 +1,5 @@ +module Mogli + class InsightValue < Model + define_properties :value, :end_time + end +end \ No newline at end of file diff --git a/lib/mogli/user.rb b/lib/mogli/user.rb index 250c0f8..463b7e4 100644 --- a/lib/mogli/user.rb +++ b/lib/mogli/user.rb @@ -26,7 +26,7 @@ def self.recognize?(hash) has_association :likes, "Page" has_association :home, "Post" has_association :accounts, "Page" - has_association :apprequests, "Apprequest" + has_association :apprequests, "AppRequest" attr_reader :extended_permissions