Sha256: 14884b2bcadad189ac6f7b8a90c2b90b06eeef196ae3a9425d487d88a278ab53

Contents?: true

Size: 1.39 KB

Versions: 11

Compression:

Stored size: 1.39 KB

Contents

# Copyright (c) 2008-2013 Michael Dvorkin and contributors.
#
# Fat Free CRM is freely distributable under the terms of MIT license.
# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php
#------------------------------------------------------------------------------
module FatFreeCRM
  module Exportable

    def self.included(base)
      base.extend(ClassMethods)
    end

    module ClassMethods
      def exportable(options = {})
        unless included_modules.include?(InstanceMethods)
          include InstanceMethods
          extend SingletonMethods
        end
      end
    end

    module InstanceMethods
      def user_id_full_name
        user = self.user
        user ? user.full_name : ''
      end

      def self.included(base)
        if base.instance_methods.include?(:assignee) or base.instance_methods.include?('assignee')
          define_method :assigned_to_full_name do
            user = self.assignee
            user ? user.full_name : ''
          end
        end

        if base.instance_methods.include?(:completor) or base.instance_methods.include?('completor')
          define_method :completed_by_full_name do
            user = self.completor
            user ? user.full_name : ''
          end
        end
      end
    end

    module SingletonMethods
    end

  end # Exportable
end # FatFreeCRM

ActiveRecord::Base.send(:include, FatFreeCRM::Exportable)

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
fat_free_crm-0.13.6 lib/fat_free_crm/exportable.rb
fat_free_crm-0.13.5 lib/fat_free_crm/exportable.rb
fat_free_crm-0.13.4 lib/fat_free_crm/exportable.rb
fat_free_crm-0.13.3 lib/fat_free_crm/exportable.rb
fat_free_crm-0.13.2 lib/fat_free_crm/exportable.rb
fat_free_crm-0.12.3 lib/fat_free_crm/exportable.rb
fat_free_crm-0.12.2 lib/fat_free_crm/exportable.rb
fat_free_crm-0.13.1 lib/fat_free_crm/exportable.rb
fat_free_crm-0.12.1 lib/fat_free_crm/exportable.rb
fat_free_crm-0.13.0 lib/fat_free_crm/exportable.rb
fat_free_crm-0.12.0 lib/fat_free_crm/exportable.rb