Skip to main content
added 1712 characters in body
Source Link
Antarr Byrd
  • 693
  • 2
  • 5
  • 16

manage.html.slim

.modal.binder-modal.fade data-selected-ids=[] [id="edit-files-modal"]
  .modal-dialog
    .modal-content
      .modal-header
        button.close aria-label="Close" data-dismiss="modal" type="button"
          span aria-hidden="true"  ×
        h4.modal-title Edit Files
      .modal-body
        .container-fluid
          .row-fluid
            .credentials
              = select_tag 'credentials', options_from_collection_for_select(credentials_for_current_user_and_account(current_user, @account), :first, :last)
              .selectors
                .file-box-select-all
                  = link_to 'Select All', '#'
                .file-box-deselect-all
                  = link_to 'Deselect All', '#'
          .row-fluid
            .list-group[class="binder-#{decorator.id}"]
              = render partial: 'file_binders/filebox', locals: { file_items: decorator.file_items, binder: decorator.binder, credential: decorator.credential }
          .row-fluid
            .text-center
              .pagerx[class="pager-#{decorator.id}"]
                = render partial: 'file_binders/pager', locals: { file_items: decorator.file_items, binder: decorator.binder, credential: decorator.credential }
      .modal-footer
        button.add-selected.btn.btn-primary class="add-selected-#{decorator.id}" data-dismiss='modal' data-count=0 data-file-items=[]
          | Remove Selected
        button.btn.btn-cancel aria-label="Close" id="modalCloseButton#{decorator.id}" data-dismiss="modal" type="button" aria-hidden="true" Cancel

manage.html.slim

.modal.binder-modal.fade data-selected-ids=[] [id="edit-files-modal"]
  .modal-dialog
    .modal-content
      .modal-header
        button.close aria-label="Close" data-dismiss="modal" type="button"
          span aria-hidden="true"  ×
        h4.modal-title Edit Files
      .modal-body
        .container-fluid
          .row-fluid
            .credentials
              = select_tag 'credentials', options_from_collection_for_select(credentials_for_current_user_and_account(current_user, @account), :first, :last)
              .selectors
                .file-box-select-all
                  = link_to 'Select All', '#'
                .file-box-deselect-all
                  = link_to 'Deselect All', '#'
          .row-fluid
            .list-group[class="binder-#{decorator.id}"]
              = render partial: 'file_binders/filebox', locals: { file_items: decorator.file_items, binder: decorator.binder, credential: decorator.credential }
          .row-fluid
            .text-center
              .pagerx[class="pager-#{decorator.id}"]
                = render partial: 'file_binders/pager', locals: { file_items: decorator.file_items, binder: decorator.binder, credential: decorator.credential }
      .modal-footer
        button.add-selected.btn.btn-primary class="add-selected-#{decorator.id}" data-dismiss='modal' data-count=0 data-file-items=[]
          | Remove Selected
        button.btn.btn-cancel aria-label="Close" id="modalCloseButton#{decorator.id}" data-dismiss="modal" type="button" aria-hidden="true" Cancel
deleted 25 characters in body; edited tags; edited title
Source Link
Jamal
  • 34.9k
  • 13
  • 133
  • 237

Valid implementation of rails decorator Decorator pattern? for an application

I've created a decorator in my railsRails application. However, the initializer has 3 params. Is this generally acceptable in decorator or should I refactor this or try a different pattern?

###FileBinderDecorator

class FileBinderDecorator
  attr_reader :binder, :credential, :page

  def initialize(binder, credential, page = 1)
    @binder = binder
    @credential = credential
    @page = page
  end

  def file_items
    file_items = credential.file_item_list(excluded_ids: binder.file_items.pluck(:id))
    file_items.page(page).per(7)
  end

  def method_missing(method_name, *args, &block)
    @binder.send(method_name, *args, &block)
  end

  def missing_responds_to?(method_name, include_private = false)
    @binder.respond_to?(method_name, include_private) || super
  end
end

Valid implementation of rails decorator pattern?

I've created a decorator in my rails application. However the initializer has 3 params. Is this generally acceptable in decorator or should I refactor this or try a different pattern?

###FileBinderDecorator

class FileBinderDecorator
  attr_reader :binder, :credential, :page

  def initialize(binder, credential, page = 1)
    @binder = binder
    @credential = credential
    @page = page
  end

  def file_items
    file_items = credential.file_item_list(excluded_ids: binder.file_items.pluck(:id))
    file_items.page(page).per(7)
  end

  def method_missing(method_name, *args, &block)
    @binder.send(method_name, *args, &block)
  end

  def missing_responds_to?(method_name, include_private = false)
    @binder.respond_to?(method_name, include_private) || super
  end
end

Decorator pattern for an application

I've created a decorator in my Rails application. However, the initializer has 3 params. Is this generally acceptable in decorator or should I refactor this or try a different pattern?

class FileBinderDecorator
  attr_reader :binder, :credential, :page

  def initialize(binder, credential, page = 1)
    @binder = binder
    @credential = credential
    @page = page
  end

  def file_items
    file_items = credential.file_item_list(excluded_ids: binder.file_items.pluck(:id))
    file_items.page(page).per(7)
  end

  def method_missing(method_name, *args, &block)
    @binder.send(method_name, *args, &block)
  end

  def missing_responds_to?(method_name, include_private = false)
    @binder.respond_to?(method_name, include_private) || super
  end
end
Source Link
Antarr Byrd
  • 693
  • 2
  • 5
  • 16

Valid implementation of rails decorator pattern?

I've created a decorator in my rails application. However the initializer has 3 params. Is this generally acceptable in decorator or should I refactor this or try a different pattern?

###FileBinderDecorator

class FileBinderDecorator
  attr_reader :binder, :credential, :page

  def initialize(binder, credential, page = 1)
    @binder = binder
    @credential = credential
    @page = page
  end

  def file_items
    file_items = credential.file_item_list(excluded_ids: binder.file_items.pluck(:id))
    file_items.page(page).per(7)
  end

  def method_missing(method_name, *args, &block)
    @binder.send(method_name, *args, &block)
  end

  def missing_responds_to?(method_name, include_private = false)
    @binder.respond_to?(method_name, include_private) || super
  end
end