Sha256: 4e1b9b32d19e22ba429047d116168df45527f1b0475b0bdffdf569c9f3de7530

Contents?: true

Size: 673 Bytes

Versions: 7

Compression:

Stored size: 673 Bytes

Contents

module Character::ModelClassConcern
  extend ActiveSupport::Concern

  def model_slug
    @model_slug ||= begin
      params[:model_slug]
    end
  end


  # model class to be used in actions, class name is defined
  # in URL with a slag where - replaced by ::
  # e.g. Character::BlogPost would be /api/Character-BlogPost/new
  def model_class
    @model_class ||= begin
      model_slug.gsub('-', '::').constantize
    end
  end


  # form_attributes_namespace is used while form processing
  # in update and create methods
  def form_attributes_namespace
    @form_attributes_namespace ||= begin
      model_class.name.underscore.gsub('/', '_').to_sym
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
character-1.0.6 app/controllers/concerns/character/model_class_concern.rb
character-1.0.5 app/controllers/concerns/character/model_class_concern.rb
character-1.0.4 app/controllers/concerns/character/model_class_concern.rb
character-1.0.3 app/controllers/concerns/character/model_class_concern.rb
character-1.0.2 app/controllers/concerns/character/model_class_concern.rb
character-1.0.1 app/controllers/concerns/character/model_class_concern.rb
character-1.0.0 app/controllers/concerns/character/model_class_concern.rb