Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
j_platform / app / models / concerns / j_platform / client_concern.rb
Size: Mime:
module JPlatform
  module ClientConcern
    extend ActiveSupport::Concern
    include PlatformConcern

    included do
      schema do
        string :name, :status, :organization_id, :description, :admin_ids, :member_ids
      end

      has_many :social_accounts

      def twitter_accounts; social_accounts.select { |sa| sa.class.name =~ /Twitter/ } end
      def google_accounts; social_accounts.select { |sa| sa.class.name =~ /Google/ } end
      def facebook_accounts; social_accounts.select { |sa| sa.class.name =~ /Facebook$/ } end
      def facebook_personal_accounts; social_accounts.select { |sa| sa.class.name =~ /Facebook::Personal/ } end
      def facebook_business_accounts; social_accounts.select { |sa| sa.class.name =~ /Facebook::Business/ } end
      def facebook_pages; social_accounts.select { |sa| sa.class.name =~ /Facebook::Page/ } end
      def buffer_accounts; social_accounts.select { |sa| sa.class.name =~ /Buffer/ } end
      def linkedin_accounts; social_accounts.select { |sa| sa.class.name =~ /Linkedin/ } end

      belongs_to :organization, class_name: "#{@module_name}::Organization"
      has_many :client_memberships, class_name: "#{@module_name}::ClientMembership"
      has_many :members, class_name: "#{@module_name}::User"
      has_many :admin_client_memberships, class_name: "#{@module_name}::ClientMembership"
      has_many :admins, class_name: "#{@module_name}::User"

      has_many :projects, class_name: "#{@module_name}::Project"

      validates :name, presence: { message: I18n.t('client._errors.name') }
      validates :admin_ids, presence: { message: I18n.t('client._errors.admin_ids') }

      def to_s; name end
    end

  end
end