Module: AssignsHasManyThroughRelations

Defined in:
lib/assigns_has_many_through_relations.rb,
lib/assigns_has_many_through_relations/engine.rb,
lib/assigns_has_many_through_relations/version.rb,
lib/assigns_has_many_through_relations/configuration.rb,
lib/assigns_has_many_through_relations/model_concern.rb,
lib/assigns_has_many_through_relations/controller_concern.rb

Defined Under Namespace

Modules: ControllerConcern, ControllerInstanceMethods, ModelConcern, ModelInstanceMethods Classes: Configuration, Engine

Constant Summary collapse

BOOTSTRAP_FLASH_MAP =
{
  notice: 'success',
  error: 'danger'
}
VERSION =
"0.0.3"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject (readonly)

Returns the value of attribute config.



16
17
18
# File 'lib/assigns_has_many_through_relations.rb', line 16

def config
  @config
end

Class Method Details

.configure(&block) ⇒ Object



19
20
21
22
# File 'lib/assigns_has_many_through_relations.rb', line 19

def configure(&block)
  @config ||= Configuration.new
  @config.instance_exec &block
end

.join_name_for(left_relation, right_relation) ⇒ Object



27
28
29
# File 'lib/assigns_has_many_through_relations.rb', line 27

def join_name_for(left_relation, right_relation)
  "#{left_relation.to_s.pluralize}_#{right_relation.to_s.pluralize}"
end

.routes_for(left_relation, right_relation, routes) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/assigns_has_many_through_relations.rb', line 31

def routes_for(left_relation, right_relation, routes)
  name = join_name_for left_relation, right_relation
  left_name = left_relation.to_s.pluralize
  right_name = right_relation.to_s.pluralize

  routes.get "/#{left_name}/#{right_name}/:id", to: "#{name}#index", as: name
  routes.put "/#{left_name}/#{right_name}/:id", to: "#{name}#update", as: "assign_#{name}"
end