assigns_has_many_through_relations 0.0.11 → 0.0.13
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 +6 -1
- data/app/assets/javascripts/assigns_has_many_through_relations.js +1 -0
- data/app/views/_assigns_has_many_through_relations.html.erb +2 -2
- data/assigns_has_many_through_relations.gemspec +1 -1
- data/lib/assigns_has_many_through_relations.rb +1 -1
- data/lib/assigns_has_many_through_relations/controller_concern.rb +1 -1
- data/lib/assigns_has_many_through_relations/model_concern.rb +5 -2
- data/lib/assigns_has_many_through_relations/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a9fc7fc5fc04b4256df6bcf9937de2af13bc69c
|
4
|
+
data.tar.gz: 7c23464499a37789d47ada70d9c604ef2f574995
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8d088693c91dd55f7abed097debf09ff6f493531bc670f642d1a2698b60c904e148a176dd68d1826b23bd1c46becfdb12714a50428298e62f1704fee46c5570
|
7
|
+
data.tar.gz: fa2d1bb2a49ab638732571769cbc28d25716fc04c57b37c525ef1278e9deab66283c33ebebb76a3f91bd4e07c3679a363969ea63b0462345bc48aaa33b705006
|
data/README.md
CHANGED
@@ -79,6 +79,11 @@ You'll have to provide the user with a link to `locations_users_path`. And that'
|
|
79
79
|
|
80
80
|
**Note:** _currently the left side model has to respond_to `name` for a nice display name, and the right side model has to respond to `full_name`. This will be configurable soon._
|
81
81
|
|
82
|
+
## JavaScript
|
83
|
+
Require assigns_has_many_through_relations in your application.js
|
84
|
+
```js
|
85
|
+
//= require 'assigns_has_many_through_relations'
|
86
|
+
```
|
82
87
|
## Configuration
|
83
88
|
|
84
89
|
You can configure the engine in an initializer. The given examples are the defaults except for `auth_filter`. That won't run if you don't set it.
|
@@ -128,7 +133,7 @@ end
|
|
128
133
|
|
129
134
|
## Contributing
|
130
135
|
|
131
|
-
1. Fork it ( https://github.com/
|
136
|
+
1. Fork it ( https://github.com/DiegoSalazar/assigns_has_many_through_relations/fork )
|
132
137
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
133
138
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
134
139
|
4. Push to the branch (`git push origin my-new-feature`)
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require_tree './assigns_has_many_through_relations'
|
@@ -92,8 +92,8 @@
|
|
92
92
|
<% @available_right_side_models.each do |model| %>
|
93
93
|
<li>
|
94
94
|
<%= f.fields_for join_name, model.send(join_name).build do |ruf| %>
|
95
|
-
<%= ruf.check_box "#{model.class.name.
|
96
|
-
<%= ruf.label "#{model.class.name.
|
95
|
+
<%= ruf.check_box "#{model.class.base_class.name.underscore}_id", { checked: false }, model.id, nil %>
|
96
|
+
<%= ruf.label "#{model.class.base_class.name.underscore}_id", model.full_name %>
|
97
97
|
<% end %>
|
98
98
|
</li>
|
99
99
|
<% end %>
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency 'rails', '
|
21
|
+
spec.add_dependency 'rails', '>= 3'
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.7"
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
@@ -33,7 +33,7 @@ module AssignsHasManyThroughRelations
|
|
33
33
|
right_name = right_relation.to_s.pluralize
|
34
34
|
|
35
35
|
routes.get "/#{left_name}/#{right_name}/:id", to: "#{name}#index", as: name
|
36
|
-
routes.put "/#{left_name}/#{right_name}/:id", to: "#{name}#update", as: "assign_#{name}"
|
36
|
+
Rails.version.to_i >= 4 ? (routes.patch "/#{left_name}/#{right_name}/:id", to: "#{name}#update", as: "assign_#{name}") : (routes.put "/#{left_name}/#{right_name}/:id", to: "#{name}#update", as: "assign_#{name}")
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -45,7 +45,7 @@ module AssignsHasManyThroughRelations
|
|
45
45
|
def update
|
46
46
|
left_side_model = self.class.left_relation_class.find params[:id]
|
47
47
|
|
48
|
-
if left_side_model.update_attributes params[self.class.left_relation_param_name]
|
48
|
+
if left_side_model.update_attributes defined?(ActionController::StrongParameters) == nil ? params[self.class.left_relation_param_name] : params[self.class.left_relation_param_name].permit!
|
49
49
|
flash[:notice] = "Successfully set #{self.class.left_relation_param_name} assignments"
|
50
50
|
else
|
51
51
|
flash[:error] = left_side_model.errors.full_messages.to_sentence
|
@@ -6,7 +6,10 @@ module AssignsHasManyThroughRelations
|
|
6
6
|
has_many @join_name.to_sym, dependent: :delete_all
|
7
7
|
has_many right_relation.to_s.pluralize.to_sym, through: @join_name.to_sym
|
8
8
|
accepts_nested_attributes_for @join_name.to_sym, allow_destroy: true
|
9
|
-
|
9
|
+
|
10
|
+
unless defined? ActionController::StrongParameters
|
11
|
+
attr_accessible "#{@join_name}_attributes"
|
12
|
+
end
|
10
13
|
|
11
14
|
include AssignsHasManyThroughRelations::ModelInstanceMethods
|
12
15
|
end
|
@@ -16,7 +19,7 @@ module AssignsHasManyThroughRelations
|
|
16
19
|
|
17
20
|
module ModelInstanceMethods
|
18
21
|
def get_join_model_for(relation)
|
19
|
-
send(self.class.join_name).where("#{relation.class.name.underscore}_id" => relation.id).first
|
22
|
+
send(self.class.join_name).where("#{relation.class.base_class.name.underscore}_id" => relation.id).first
|
20
23
|
end
|
21
24
|
end
|
22
25
|
end
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assigns_has_many_through_relations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Diego Salazar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- README.md
|
66
66
|
- Rakefile
|
67
67
|
- app/assets/.DS_Store
|
68
|
+
- app/assets/javascripts/assigns_has_many_through_relations.js
|
68
69
|
- app/assets/javascripts/assigns_has_many_through_relations/plugins.js
|
69
70
|
- app/assets/stylesheets/.DS_Store
|
70
71
|
- app/assets/stylesheets/assigns_has_many_through_relations/application.css.scss
|
@@ -98,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
99
|
version: '0'
|
99
100
|
requirements: []
|
100
101
|
rubyforge_project:
|
101
|
-
rubygems_version: 2.4.
|
102
|
+
rubygems_version: 2.4.6
|
102
103
|
signing_key:
|
103
104
|
specification_version: 4
|
104
105
|
summary: Rails Engine that provides a management UI to assign models to each other
|