rails_admin_comments 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +12 -2
- data/app/assets/javascripts/rails_admin/rails_admin_comments.coffee +6 -0
- data/app/assets/stylesheets/rails_admin/rails_admin_comments.sass +3 -0
- data/app/models/concerns/rails_admin_comments/model_commentable.rb +12 -0
- data/app/models/rails_admin_comments/comment.rb +2 -2
- data/app/models/rails_admin_comments/model_comment.rb +20 -0
- data/app/views/rails_admin/main/comments.html.slim +15 -3
- data/app/views/rails_admin/main/model_comments.html.slim +54 -0
- data/config/initializers/rails_admin.rb +2 -1
- data/config/locales/ru.rails_admin_comments.yml +11 -3
- data/lib/rails_admin_comments/action.rb +88 -4
- data/lib/rails_admin_comments/models/mongoid/comments.rb +29 -0
- data/lib/rails_admin_comments/models/mongoid/model_comments.rb +29 -0
- data/lib/rails_admin_comments/version.rb +1 -1
- data/lib/rails_admin_comments.rb +13 -9
- data/rails_admin_comments.gemspec +2 -2
- metadata +8 -4
- data/lib/rails_admin_comments/mongoid.rb +0 -24
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 94998642dc3466c7483b166998e21c4a297ed5af
         | 
| 4 | 
            +
              data.tar.gz: b1ec593416764e283ef3f631088e645da13a9849
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7241a5c99a57620fed57585af142c05d2ef615ea16931c5a21e5aca888a849d4f0ed223a6da177871b1802e74cd0f1c44293890da63d41eb5cb415fcfa465ad8
         | 
| 7 | 
            +
              data.tar.gz: dd14b0b239baf29ea56f459f06a00dd40ba28248f952a55359be6fe0776f1ca846d48342f0227c313a4a5cd58ce7ae01d869e2c0452da83a249afb1f4a135879
         | 
    
        data/README.md
    CHANGED
    
    | @@ -25,7 +25,8 @@ Or install it yourself as: | |
| 25 25 | 
             
            Add in model what you need to be commentable
         | 
| 26 26 |  | 
| 27 27 | 
             
            ```ruby
         | 
| 28 | 
            -
              include RailsAdminComments::Commentable
         | 
| 28 | 
            +
              include RailsAdminComments::Commentable # comments for objects
         | 
| 29 | 
            +
              include RailsAdminComments::ModelCommentable # comments for model (from v.0.2.0)
         | 
| 29 30 | 
             
            ```
         | 
| 30 31 |  | 
| 31 32 | 
             
            And add action available for this model_name
         | 
| @@ -38,9 +39,18 @@ And add action available for this model_name | |
| 38 39 | 
             
                  ].include? bindings[:abstract_model].model_name
         | 
| 39 40 | 
             
                end
         | 
| 40 41 | 
             
              end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              # from v.0.2.0
         | 
| 44 | 
            +
              model_comments do
         | 
| 45 | 
            +
                visible do
         | 
| 46 | 
            +
                  [
         | 
| 47 | 
            +
                    "SomeModel"
         | 
| 48 | 
            +
                  ].include? bindings[:abstract_model].model_name
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
              end
         | 
| 41 51 | 
             
            ```
         | 
| 42 52 |  | 
| 43 | 
            -
            Also you need to add method name_for_rails_admin_comments for user model_name | 
| 53 | 
            +
            Also you need to add method name_for_rails_admin_comments for user model_name
         | 
| 44 54 |  | 
| 45 55 | 
             
            ```ruby
         | 
| 46 56 | 
             
              def name_for_rails_admin_comments
         | 
| @@ -4,3 +4,9 @@ $(document).delegate ".comment_edit_form_link", 'click', (e)-> | |
| 4 4 | 
             
              target = $(link.attr('href'))
         | 
| 5 5 | 
             
              $('.comment_edit_form').addClass('hidden').closest('.comment_block').find(".content_block").removeClass('hidden')
         | 
| 6 6 | 
             
              target.removeClass('hidden').closest('.comment_block').find(".content_block").addClass('hidden')
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            $(document).delegate ".comment_delete_form_link", 'click', (e)->
         | 
| 9 | 
            +
              e.preventDefault()
         | 
| 10 | 
            +
              link = $(e.currentTarget)
         | 
| 11 | 
            +
              target = $(link.attr('href'))
         | 
| 12 | 
            +
              target.find('form').prepend("<input type='hidden' name='_method' value='delete'></input>").submit()
         | 
| @@ -9,12 +9,12 @@ module RailsAdminComments | |
| 9 9 | 
             
              class Comment
         | 
| 10 10 | 
             
                #binding.pry
         | 
| 11 11 | 
             
                if RailsAdminComments.mongoid?
         | 
| 12 | 
            -
                  include RailsAdminComments::Mongoid
         | 
| 12 | 
            +
                  include RailsAdminComments::Comments::Mongoid
         | 
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                if RailsAdminComments.active_record?
         | 
| 16 16 | 
             
                  self.table_name = "rails_admin_comments"
         | 
| 17 17 | 
             
                end
         | 
| 18 | 
            -
             | 
| 18 | 
            +
             | 
| 19 19 | 
             
              end
         | 
| 20 20 | 
             
            end
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            if RailsAdminComments.active_record?
         | 
| 2 | 
            +
              module RailsAdminComments
         | 
| 3 | 
            +
                class ModelComment < ActiveRecord::Base
         | 
| 4 | 
            +
                end
         | 
| 5 | 
            +
              end
         | 
| 6 | 
            +
            end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            module RailsAdminComments
         | 
| 9 | 
            +
              class ModelComment
         | 
| 10 | 
            +
                #binding.pry
         | 
| 11 | 
            +
                if RailsAdminComments.mongoid?
         | 
| 12 | 
            +
                  include RailsAdminComments::ModelComments::Mongoid
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                if RailsAdminComments.active_record?
         | 
| 16 | 
            +
                  self.table_name = "rails_admin_model_comments"
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
            end
         | 
| @@ -1,3 +1,6 @@ | |
| 1 | 
            +
            - available_users = User.admins.to_a + User.managers.to_a
         | 
| 2 | 
            +
            - available_users.uniq!
         | 
| 3 | 
            +
             | 
| 1 4 | 
             
            #rails_admin_comments_wrapper
         | 
| 2 5 | 
             
              = stylesheet_link_tag 'rails_admin/rails_admin_comments'
         | 
| 3 6 | 
             
              = javascript_include_tag 'rails_admin/rails_admin_comments'
         | 
| @@ -16,7 +19,10 @@ | |
| 16 19 | 
             
                          = link_to creator.name_for_rails_admin_comments, show_path(model_name: model_name, id: creator._id), class: "creator_link"
         | 
| 17 20 | 
             
                        span.created_at= Russian::strftime c.c_at, "%d.%m.%Y в %H:%M:%S"
         | 
| 18 21 | 
             
                        span.updated_at= " (изм. #{Russian::strftime c.u_at, "%d.%m.%Y в %H:%M:%S"})" if Russian::strftime c.u_at
         | 
| 19 | 
            -
                         | 
| 22 | 
            +
                        - if creator == current_user or (current_user.respond_to?(:admin?) and current_user.admin?)
         | 
| 23 | 
            +
                          = link_to 'изменить', "##{edit_form_id}", class: 'comment_edit_form_link'  
         | 
| 24 | 
            +
                          = " | " 
         | 
| 25 | 
            +
                          = link_to 'удалить', "##{edit_form_id}",  class: 'comment_delete_form_link'
         | 
| 20 26 | 
             
                        p.content_block= c.content
         | 
| 21 27 | 
             
                      p
         | 
| 22 28 | 
             
                        .comment_edit_form.hidden{id="#{edit_form_id}"}
         | 
| @@ -27,6 +33,8 @@ | |
| 27 33 | 
             
                              - @comment = @message = nil
         | 
| 28 34 |  | 
| 29 35 | 
             
                          = form_for c, url: url, method: :post do |f|
         | 
| 36 | 
            +
                            - if current_user.admin?
         | 
| 37 | 
            +
                              p= f.collection_check_boxes :visible_for_user_ids, available_users, :id, :name_for_rails_admin_comments
         | 
| 30 38 | 
             
                            p= f.hidden_field :id
         | 
| 31 39 | 
             
                            p= f.text_area :content
         | 
| 32 40 | 
             
                            p= f.submit
         | 
| @@ -35,8 +43,12 @@ | |
| 35 43 | 
             
                hr
         | 
| 36 44 | 
             
                - @comment ||= RailsAdminComments::Comment.new
         | 
| 37 45 | 
             
                p
         | 
| 46 | 
            +
                  - unless @message.blank?
         | 
| 47 | 
            +
                    p== @message
         | 
| 38 48 | 
             
                  = form_for @comment, url: url, method: :post do |f|
         | 
| 39 | 
            -
                    -  | 
| 40 | 
            -
                       | 
| 49 | 
            +
                    - if current_user.admin?
         | 
| 50 | 
            +
                      - if @comment.visible_for_users.blank?
         | 
| 51 | 
            +
                        - @comment.visible_for_users << available_users.select { |u| u.roles.include?("admin")}
         | 
| 52 | 
            +
                      p= f.collection_check_boxes :visible_for_user_ids, available_users, :id, :email
         | 
| 41 53 | 
             
                    p= f.text_area :content
         | 
| 42 54 | 
             
                    p= f.submit
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            - available_users = User.admins.to_a + User.managers.to_a
         | 
| 2 | 
            +
            - available_users.uniq!
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            #rails_admin_comments_wrapper
         | 
| 5 | 
            +
              = stylesheet_link_tag 'rails_admin/rails_admin_comments'
         | 
| 6 | 
            +
              = javascript_include_tag 'rails_admin/rails_admin_comments'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              #rails_admin_comments
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                - url = model_comments_path(model_name: @abstract_model)
         | 
| 11 | 
            +
                .controls
         | 
| 12 | 
            +
                  - @comments.each do |c|
         | 
| 13 | 
            +
                    .comment_block
         | 
| 14 | 
            +
                      - edit_form_id = "comment_#{c.id}_edit" 
         | 
| 15 | 
            +
                      p
         | 
| 16 | 
            +
                        - creator = c.creator
         | 
| 17 | 
            +
                        - if creator
         | 
| 18 | 
            +
                          - model_name = creator.class.to_param.gsub("::", "~").underscore
         | 
| 19 | 
            +
                          = link_to creator.name_for_rails_admin_comments, show_path(model_name: model_name, id: creator._id), class: "creator_link"
         | 
| 20 | 
            +
                        span.created_at= Russian::strftime c.c_at, "%d.%m.%Y в %H:%M:%S"
         | 
| 21 | 
            +
                        span.updated_at= " (изм. #{Russian::strftime c.u_at, "%d.%m.%Y в %H:%M:%S"})" if Russian::strftime c.u_at
         | 
| 22 | 
            +
                        - if creator == current_user or (current_user.respond_to?(:admin?) and current_user.admin?)
         | 
| 23 | 
            +
                          = link_to 'изменить', "##{edit_form_id}", class: 'comment_edit_form_link'  
         | 
| 24 | 
            +
                          = " | " 
         | 
| 25 | 
            +
                          = link_to 'удалить', "##{edit_form_id}",  class: 'comment_delete_form_link'
         | 
| 26 | 
            +
                        p.content_block= c.content
         | 
| 27 | 
            +
                      p
         | 
| 28 | 
            +
                        .comment_edit_form.hidden{id="#{edit_form_id}"}
         | 
| 29 | 
            +
                          - if @comment and @comment._id == c._id
         | 
| 30 | 
            +
                            - c = @comment
         | 
| 31 | 
            +
                            - unless @message.blank?
         | 
| 32 | 
            +
                              p== @message
         | 
| 33 | 
            +
                              - @comment = @message = nil
         | 
| 34 | 
            +
                            
         | 
| 35 | 
            +
                          = form_for c, url: url, method: :post do |f|
         | 
| 36 | 
            +
                            - if current_user.admin?
         | 
| 37 | 
            +
                              p= f.collection_check_boxes :visible_for_user_ids, available_users, :id, :name_for_rails_admin_comments
         | 
| 38 | 
            +
                            p= f.hidden_field :id
         | 
| 39 | 
            +
                            p= f.text_area :content
         | 
| 40 | 
            +
                            p= f.submit
         | 
| 41 | 
            +
                      br
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                hr
         | 
| 44 | 
            +
                - @comment ||= RailsAdminComments::ModelComment.new
         | 
| 45 | 
            +
                p
         | 
| 46 | 
            +
                  - unless @message.blank?
         | 
| 47 | 
            +
                    p== @message
         | 
| 48 | 
            +
                  = form_for @comment, url: url, method: :post do |f|
         | 
| 49 | 
            +
                    - if current_user.admin?
         | 
| 50 | 
            +
                      - if @comment.visible_for_users.blank?
         | 
| 51 | 
            +
                        - @comment.visible_for_users << available_users.select { |u| u.roles.include?("admin")}
         | 
| 52 | 
            +
                      p= f.collection_check_boxes :visible_for_user_ids, available_users, :id, :email
         | 
| 53 | 
            +
                    p= f.text_area :content
         | 
| 54 | 
            +
                    p= f.submit
         | 
| @@ -2,9 +2,17 @@ ru: | |
| 2 2 | 
             
              admin:
         | 
| 3 3 | 
             
                actions:
         | 
| 4 4 | 
             
                  comments:
         | 
| 5 | 
            -
                    menu:           " | 
| 6 | 
            -
                    breadcrumb:     " | 
| 5 | 
            +
                    menu:           "Комментарии"
         | 
| 6 | 
            +
                    breadcrumb:     "Комментарии"
         | 
| 7 7 | 
             
                    error:          "Ошибка"
         | 
| 8 8 | 
             
                    error_no_data:  "Нет данных"
         | 
| 9 9 | 
             
                    success:        "Успешно"
         | 
| 10 | 
            -
                    title:          " | 
| 10 | 
            +
                    title:          "Комментарии"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  model_comments:
         | 
| 13 | 
            +
                    menu:           "Комментарии"
         | 
| 14 | 
            +
                    breadcrumb:     "Комментарии"
         | 
| 15 | 
            +
                    error:          "Ошибка"
         | 
| 16 | 
            +
                    error_no_data:  "Нет данных"
         | 
| 17 | 
            +
                    success:        "Успешно"
         | 
| 18 | 
            +
                    title:          "Комментарии"
         | 
| @@ -24,11 +24,10 @@ module RailsAdmin | |
| 24 24 |  | 
| 25 25 | 
             
                    register_instance_option :controller do
         | 
| 26 26 | 
             
                      Proc.new do |klass|
         | 
| 27 | 
            -
                        @config = ::RailsAdminComments::Configuration.new @abstract_model
         | 
| 28 | 
            -
             | 
| 29 27 | 
             
                        if params['id'].present?
         | 
| 30 | 
            -
                          @ | 
| 28 | 
            +
                          @config = ::RailsAdminComments::Configuration.new @abstract_model
         | 
| 31 29 | 
             
                          if request.get?
         | 
| 30 | 
            +
                            @comments = @object.rails_admin_comments.by_date.enabled.for_user(current_user) || []
         | 
| 32 31 | 
             
                            render action: @action.template_name
         | 
| 33 32 |  | 
| 34 33 | 
             
                          elsif request.post?
         | 
| @@ -40,6 +39,7 @@ module RailsAdmin | |
| 40 39 | 
             
                                @comment = @object.rails_admin_comments.new if @comment.nil?
         | 
| 41 40 |  | 
| 42 41 | 
             
                                @comment.content = params['rails_admin_comments_comment']['content']
         | 
| 42 | 
            +
                                @comment.visible_for_user_ids = params['rails_admin_comments_comment']['visible_for_user_ids']
         | 
| 43 43 |  | 
| 44 44 | 
             
                                if @comment.save
         | 
| 45 45 | 
             
                                  @comment = nil
         | 
| @@ -72,7 +72,91 @@ module RailsAdmin | |
| 72 72 | 
             
                    end
         | 
| 73 73 |  | 
| 74 74 | 
             
                    register_instance_option :http_methods do
         | 
| 75 | 
            -
                      [:get, :post]
         | 
| 75 | 
            +
                      [:get, :post, :delete]
         | 
| 76 | 
            +
                    end
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
                end
         | 
| 79 | 
            +
              end
         | 
| 80 | 
            +
            end
         | 
| 81 | 
            +
             | 
| 82 | 
            +
             | 
| 83 | 
            +
             | 
| 84 | 
            +
            module RailsAdmin
         | 
| 85 | 
            +
              module Config
         | 
| 86 | 
            +
                module Actions
         | 
| 87 | 
            +
                  class ModelComments < Comments
         | 
| 88 | 
            +
                    RailsAdmin::Config::Actions.register(self)
         | 
| 89 | 
            +
             | 
| 90 | 
            +
                    register_instance_option :collection? do
         | 
| 91 | 
            +
                      true
         | 
| 92 | 
            +
                    end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                    register_instance_option :member? do
         | 
| 95 | 
            +
                      false
         | 
| 96 | 
            +
                    end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                    register_instance_option :route_fragment do
         | 
| 99 | 
            +
                      'model_comments'
         | 
| 100 | 
            +
                    end
         | 
| 101 | 
            +
             | 
| 102 | 
            +
                    register_instance_option :controller do
         | 
| 103 | 
            +
                      Proc.new do |klass|
         | 
| 104 | 
            +
                        @config = ::RailsAdminComments::Configuration.new @abstract_model
         | 
| 105 | 
            +
                        @model = @abstract_model.model
         | 
| 106 | 
            +
                        if request.get?
         | 
| 107 | 
            +
                          @comments = @model.rails_admin_model_comments.by_date.enabled.for_user(current_user) || []
         | 
| 108 | 
            +
                          render action: @action.template_name
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                        elsif request.post?
         | 
| 111 | 
            +
                          begin
         | 
| 112 | 
            +
                            if params['rails_admin_comments_model_comment'].present?
         | 
| 113 | 
            +
                              if params['rails_admin_comments_model_comment']['id'].present?
         | 
| 114 | 
            +
                                @comment = @model.rails_admin_model_comments.find(params['rails_admin_comments_model_comment']['id'])
         | 
| 115 | 
            +
                              end
         | 
| 116 | 
            +
                              @comment ||= @model.rails_admin_model_comments.new
         | 
| 117 | 
            +
             | 
| 118 | 
            +
                              @comment.content = params['rails_admin_comments_model_comment']['content']
         | 
| 119 | 
            +
                              @comment.visible_for_user_ids = params['rails_admin_comments_model_comment']['visible_for_user_ids']
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                              if @comment.save
         | 
| 122 | 
            +
                                @comment = nil
         | 
| 123 | 
            +
                                @message = "<strong class='success'>#{I18n.t('admin.actions.model_comments.success')}!</strong>"
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                              else
         | 
| 126 | 
            +
                                @message = []
         | 
| 127 | 
            +
                                @message << "<strong class='error'>#{I18n.t('admin.actions.model_comments.error')}!</strong>"
         | 
| 128 | 
            +
                                @comment.errors.each do |e|
         | 
| 129 | 
            +
                                  @message << "<p>#{e.message}</p>"
         | 
| 130 | 
            +
                                end
         | 
| 131 | 
            +
                                @message = @message.join
         | 
| 132 | 
            +
                              end
         | 
| 133 | 
            +
                            else
         | 
| 134 | 
            +
                              @message = "<strong class='error'>#{I18n.t('admin.actions.model_comments.error')}</strong>:<p>#{I18n.t('admin.actions.model_comments.error_no_data')}</p>"
         | 
| 135 | 
            +
                            end
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                          rescue Exception => e
         | 
| 138 | 
            +
                            @message = "<strong class='error'>#{I18n.t('admin.actions.comments.error')}</strong>: #{e}"
         | 
| 139 | 
            +
                          end
         | 
| 140 | 
            +
             | 
| 141 | 
            +
                          render action: @action.template_name
         | 
| 142 | 
            +
             | 
| 143 | 
            +
                        elsif request.delete?
         | 
| 144 | 
            +
                          if params['rails_admin_comments_model_comment']['id'].present?
         | 
| 145 | 
            +
                            @comment = @model.rails_admin_model_comments.find(params['rails_admin_comments_model_comment']['id'])
         | 
| 146 | 
            +
                          end
         | 
| 147 | 
            +
                          if @comment and @comment.destroy
         | 
| 148 | 
            +
                            @comment = nil
         | 
| 149 | 
            +
                            @message = "Удалено"
         | 
| 150 | 
            +
                          else
         | 
| 151 | 
            +
                            @message = "Удаление не удалось"
         | 
| 152 | 
            +
                          end
         | 
| 153 | 
            +
                          render action: @action.template_name
         | 
| 154 | 
            +
                        end
         | 
| 155 | 
            +
                      end
         | 
| 156 | 
            +
                    end
         | 
| 157 | 
            +
             | 
| 158 | 
            +
                    register_instance_option :link_icon do
         | 
| 159 | 
            +
                      'icon-comment'
         | 
| 76 160 | 
             
                    end
         | 
| 77 161 | 
             
                  end
         | 
| 78 162 | 
             
                end
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            module RailsAdminComments
         | 
| 2 | 
            +
              module Comments
         | 
| 3 | 
            +
                module Mongoid
         | 
| 4 | 
            +
                  extend ActiveSupport::Concern
         | 
| 5 | 
            +
                  included do
         | 
| 6 | 
            +
                    include ::Mongoid::Document
         | 
| 7 | 
            +
                    include ::Mongoid::Timestamps::Short
         | 
| 8 | 
            +
                    include ::Mongoid::Userstamp
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    belongs_to :rails_admin_commentable, polymorphic: true
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    store_in collection: "rails_admin_comments"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    field :enabled, type: ::Mongoid::VERSION.to_i < 4 ? Boolean : ::Mongoid::Boolean, default: true
         | 
| 15 | 
            +
                    scope :enabled, -> { where(enabled: true) }
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                    scope :by_date, -> { order([:c_at, :asc]) }
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                    field :content
         | 
| 20 | 
            +
                    validates_presence_of :content
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                    has_and_belongs_to_many :visible_for_users, class_name: "User", inverse_of: nil
         | 
| 23 | 
            +
                    scope :for_user, ->(user) {
         | 
| 24 | 
            +
                      any_of({visible_for_user_ids: user}, {visible_for_user_ids: nil})
         | 
| 25 | 
            +
                    }
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            module RailsAdminComments
         | 
| 2 | 
            +
              module ModelComments
         | 
| 3 | 
            +
                module Mongoid
         | 
| 4 | 
            +
                  extend ActiveSupport::Concern
         | 
| 5 | 
            +
                  included do
         | 
| 6 | 
            +
                    include ::Mongoid::Document
         | 
| 7 | 
            +
                    include ::Mongoid::Timestamps::Short
         | 
| 8 | 
            +
                    include ::Mongoid::Userstamp
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    field :model_name, type: String
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    store_in collection: "rails_admin_model_comments"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    field :enabled, type: ::Mongoid::VERSION.to_i < 4 ? Boolean : ::Mongoid::Boolean, default: true
         | 
| 15 | 
            +
                    scope :enabled, -> { where(enabled: true) }
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                    scope :by_date, -> { order([:c_at, :asc]) }
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                    field :content
         | 
| 20 | 
            +
                    validates_presence_of :content
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                    has_and_belongs_to_many :visible_for_users, class_name: "User", inverse_of: nil
         | 
| 23 | 
            +
                    scope :for_user, ->(user) {
         | 
| 24 | 
            +
                      any_of({visible_for_user_ids: user}, {visible_for_user_ids: nil})
         | 
| 25 | 
            +
                    }
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
    
        data/lib/rails_admin_comments.rb
    CHANGED
    
    | @@ -4,8 +4,15 @@ require "rails_admin_comments/version" | |
| 4 4 | 
             
            require 'mongoid'
         | 
| 5 5 | 
             
            require 'mongoid_userstamp'
         | 
| 6 6 |  | 
| 7 | 
            +
            require "rails_admin_comments/engine"
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            require 'rails_admin_comments/configuration'
         | 
| 10 | 
            +
             | 
| 7 11 | 
             
            require 'rails_admin/config/actions'
         | 
| 8 12 | 
             
            require 'rails_admin/config/model'
         | 
| 13 | 
            +
            require 'rails_admin_comments/action'
         | 
| 14 | 
            +
            # require 'rails_admin_comments/model'
         | 
| 15 | 
            +
            require 'rails_admin_comments/helper'
         | 
| 9 16 |  | 
| 10 17 | 
             
            module RailsAdminComments
         | 
| 11 18 | 
             
              class << self
         | 
| @@ -27,14 +34,11 @@ module RailsAdminComments | |
| 27 34 | 
             
                end
         | 
| 28 35 | 
             
              end
         | 
| 29 36 |  | 
| 30 | 
            -
               | 
| 37 | 
            +
              module Comments
         | 
| 38 | 
            +
                autoload :Mongoid,           "rails_admin_comments/models/mongoid/comments"
         | 
| 39 | 
            +
              end
         | 
| 40 | 
            +
              module ModelComments
         | 
| 41 | 
            +
                autoload :Mongoid,           "rails_admin_comments/models/mongoid/model_comments"
         | 
| 42 | 
            +
              end
         | 
| 31 43 | 
             
              # autoload :RailsAdminConfig,  "rails_admin_comments/rails_admin_config"
         | 
| 32 44 | 
             
            end
         | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
            require "rails_admin_comments/engine"
         | 
| 36 | 
            -
             | 
| 37 | 
            -
            require 'rails_admin_comments/configuration'
         | 
| 38 | 
            -
            require 'rails_admin_comments/action'
         | 
| 39 | 
            -
            # require 'rails_admin_comments/model'
         | 
| 40 | 
            -
            require 'rails_admin_comments/helper'
         | 
| @@ -29,8 +29,8 @@ Gem::Specification.new do |spec| | |
| 29 29 |  | 
| 30 30 | 
             
              spec.add_development_dependency "bundler", "~> 1.10"
         | 
| 31 31 | 
             
              spec.add_development_dependency "rake", "~> 10.0"
         | 
| 32 | 
            -
             | 
| 33 | 
            -
              spec.add_dependency " | 
| 32 | 
            +
              
         | 
| 33 | 
            +
              spec.add_dependency "rails_admin"
         | 
| 34 34 | 
             
              spec.add_dependency "mongoid", [">= 5.0", "< 6.0"]
         | 
| 35 35 | 
             
              spec.add_dependency "glebtv_mongoid_userstamp"
         | 
| 36 36 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rails_admin_comments
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alexander Kiseliev
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-05-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -39,7 +39,7 @@ dependencies: | |
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: '10.0'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            -
              name:  | 
| 42 | 
            +
              name: rails_admin
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - ">="
         | 
| @@ -104,8 +104,11 @@ files: | |
| 104 104 | 
             
            - app/assets/javascripts/rails_admin/rails_admin_comments.coffee
         | 
| 105 105 | 
             
            - app/assets/stylesheets/rails_admin/rails_admin_comments.sass
         | 
| 106 106 | 
             
            - app/models/concerns/rails_admin_comments/commentable.rb
         | 
| 107 | 
            +
            - app/models/concerns/rails_admin_comments/model_commentable.rb
         | 
| 107 108 | 
             
            - app/models/rails_admin_comments/comment.rb
         | 
| 109 | 
            +
            - app/models/rails_admin_comments/model_comment.rb
         | 
| 108 110 | 
             
            - app/views/rails_admin/main/comments.html.slim
         | 
| 111 | 
            +
            - app/views/rails_admin/main/model_comments.html.slim
         | 
| 109 112 | 
             
            - bin/console
         | 
| 110 113 | 
             
            - bin/setup
         | 
| 111 114 | 
             
            - config/initializers/rails_admin.rb
         | 
| @@ -115,7 +118,8 @@ files: | |
| 115 118 | 
             
            - lib/rails_admin_comments/configuration.rb
         | 
| 116 119 | 
             
            - lib/rails_admin_comments/engine.rb
         | 
| 117 120 | 
             
            - lib/rails_admin_comments/helper.rb
         | 
| 118 | 
            -
            - lib/rails_admin_comments/mongoid.rb
         | 
| 121 | 
            +
            - lib/rails_admin_comments/models/mongoid/comments.rb
         | 
| 122 | 
            +
            - lib/rails_admin_comments/models/mongoid/model_comments.rb
         | 
| 119 123 | 
             
            - lib/rails_admin_comments/version.rb
         | 
| 120 124 | 
             
            - rails_admin_comments.gemspec
         | 
| 121 125 | 
             
            - release.sh
         | 
| @@ -1,24 +0,0 @@ | |
| 1 | 
            -
            module RailsAdminComments
         | 
| 2 | 
            -
              module Mongoid
         | 
| 3 | 
            -
                extend ActiveSupport::Concern
         | 
| 4 | 
            -
                included do
         | 
| 5 | 
            -
                  include ::Mongoid::Document
         | 
| 6 | 
            -
                  include ::Mongoid::Timestamps::Short
         | 
| 7 | 
            -
                  include ::Mongoid::Userstamp
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  belongs_to :rails_admin_commentable, polymorphic: true
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  store_in collection: "rails_admin_comments"
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                  field :enabled, type: ::Mongoid::VERSION.to_i < 4 ? Boolean : ::Mongoid::Boolean, default: true
         | 
| 14 | 
            -
                  scope :enabled, -> { where(enabled: true) }
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                  scope :by_date, -> { order([:c_at, :asc]) }
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                  field :content
         | 
| 19 | 
            -
                  validates_presence_of :content
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                  scope :for_user, ->(user) {}
         | 
| 22 | 
            -
                end
         | 
| 23 | 
            -
              end
         | 
| 24 | 
            -
            end
         |