Sha256: 8e8fa96220edbc18e47a43c71d405f23191acf3fdc88eece792f7827ef164174

Contents?: true

Size: 772 Bytes

Versions: 17

Compression:

Stored size: 772 Bytes

Contents

module KepplerFrontend
  class ViewCallback < ApplicationRecord
    belongs_to :view
    before_destroy :delete_callback_line
    validate :uniqueness_callback

    def set_function_types
      [:before_action, :before_filter, :after_action, :after_filter]
    end

    def set_callbacks
      callbacks = KepplerFrontend::CallbackFunction.all.map
      callbacks.map { |v| [v.name, v.name] }
    end

    def callback_exists?
      callback = ViewCallback.where(
        function_type: self.function_type,
        name: self.name)
      callback.count == 0 ? false : true
    end

    private

    def delete_callback_line
      self.view.delete_callback(self.view, self)
    end

    def uniqueness_callback
      errors.add(:name) if callback_exists?
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
keppler-2.1.15 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.14 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.13 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.12 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.11 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.10 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.9 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.8 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.7 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.6 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.5 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.4 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.3 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.2 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.1 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1.pre.p1 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb
keppler-2.1 installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb