lib/common/base.rb in inkwell-1.0.5 vs lib/common/base.rb in inkwell-1.1.1
- old
+ new
@@ -1,26 +1,50 @@
module Inkwell
module Common
- def is_comment(obj)
+ def get_item_type(obj)
post_class = Object.const_get ::Inkwell::Engine::config.post_table.to_s.singularize.capitalize
case obj
when ::Inkwell::Comment
- is_comment = true
+ result = ::Inkwell::Constants::ItemTypes::COMMENT
when post_class
- is_comment = false
+ result = ::Inkwell::Constants::ItemTypes::POST
else
raise "obj should be Comment or #{post_class.class}"
end
- is_comment
+ result
end
+ def get_class_for_item_type(type)
+ post_class = Object.const_get ::Inkwell::Engine::config.post_table.to_s.singularize.capitalize
+ case type
+ when ::Inkwell::Constants::ItemTypes::COMMENT
+ result = ::Inkwell::Comment
+ when ::Inkwell::Constants::ItemTypes::POST
+ result = post_class
+ else raise "obj type #{type} is unknown"
+ end
+ result
+ end
+
def check_user(obj)
user_class = Object.const_get ::Inkwell::Engine::config.user_table.to_s.singularize.capitalize
raise "user should be a #{user_class.to_s}" unless obj.is_a? user_class
end
def check_post(obj)
post_class = Object.const_get ::Inkwell::Engine::config.post_table.to_s.singularize.capitalize
raise "post should be a #{user_class.to_s}" unless obj.is_a? post_class
+ end
+ end
+
+ module Constants
+ module ItemTypes
+ POST = 'p'
+ COMMENT = 'c'
+ end
+
+ module OwnerTypes
+ USER = 'u'
+ COMMUNITY = 'c'
end
end
end
\ No newline at end of file