cocoon 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZWZmZDlkNWRhMjUyZWUyN2Q1YzM4NDk5YzM3NGE4OWQ5NzYxYjYyNQ==
4
+ M2MwYmFkNzAwZjhhYjA2NmEwMjMxMzMwY2Q0ZjNiNzU5YzFkZWE4YQ==
5
5
  data.tar.gz: !binary |-
6
- ODkwOWM3OGYyZWIwZGM2Y2ZkMjBlZDhkOTE2NTE1ZjdkODQ1NDExOA==
6
+ NmE1YTIwY2YzOTVkOTI1NzkzNGE4ZjIyZmUyZGI4ZTA0OTRkMmVhNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmJkMWQzYjVjYjA0ZThiMTgwN2FiZTliMmU0MmY3YmYyMTdkZDVlNzhjNmFj
10
- MTc1MTFlYTYwODRhYjI1MzczOTZlMTI2MmQ4MTY2M2JjOGYxMGFkYzE1ZjY3
11
- NzE1YjliY2MyMmZjZjYyYzhhYjU3NzVhMzFlYmQ1YWRiNWYwZDE=
9
+ ZGZhNGU1N2FlNGZlOTFjYjVlZmNjZTFkMDIzYzE2OGNjMDJmZDljMTMxYTFh
10
+ MTIzYzkyNzExOWNlODljYzk0ZTQ2NmM3NzY2MDUyMmJiZjhmMGUzOWQ5Mzdh
11
+ YWRlNmM4NDZiMjdmZDdmNGEyYjVjOWYxYTc4ZjJkM2JhMWI0Yzg=
12
12
  data.tar.gz: !binary |-
13
- M2Q5NmQzNjc1OGRkOTgxZTQ1MGNkN2ZhZjk2OGI1ODcwMWM0YTQ5OTRjNTM0
14
- ZjMxYTk4YjhiOWU2ZjkyNTJkMzc4YTU2MWMwMDEzMjA0NTY4M2VhMWM4MWE1
15
- NzRiNDczYWM3NjBiMTI5OGIyMTJmZjQxZTEyMzA1YjU3M2RjMTA=
13
+ YzUxMTgzY2VlOWRiNzgyMDlhMWRmYTU5ZmJjNjI4YjBlYzAwYmRmZTRkMzM4
14
+ MDNlOGFiNDAyMTM5ZWJlZjkxMDc3ZWEwZGRiNmNkZTI3Njk1NWRkNjQzMjhj
15
+ MzkxODI0NDkyMmU1NjU0NDkwYTQwNzQzNzE5NzQwODMyM2JlNjY=
data/History.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change History / Release Notes
2
2
 
3
+ ## Version 1.2.6
4
+
5
+ * added some explicit documentation we use haml. Fixed the formtastic example.
6
+ * "unfreeze" frozen objects. Fixes #193.
7
+ * IE8 jquery fix (thanks @niuage).
8
+ * merged #191 which fixes an issue with a monkeypatched CGI. For more info, see
9
+ ticket #191. Thanks gsmendoza.
10
+
3
11
  ## Version 1.2.5
4
12
 
5
13
  * fix gem dependencies: we added gems to allow building for rubinius, but those are only
@@ -101,22 +101,25 @@ E.g. in your `ProjectsController`:
101
101
  Cocoon's default configuration requires `link_to_add_association` and associated partials to
102
102
  be properly wrapped with elements. The examples below illustrate simple layouts.
103
103
 
104
+ Please note these examples rely on the `haml` gem (instead of the default `erb` views).
105
+
104
106
  ### Formtastic
105
107
 
106
108
  In our `projects/_form` partial we'd write:
107
109
 
108
110
  ```haml
109
- = f.inputs do
110
- = f.input :name
111
- = f.input :description
112
- %h3 Tasks
113
- #tasks
114
- = f.semantic_fields_for :tasks do |task|
115
- = render 'task_fields', :f => task
116
- .links
117
- = link_to_add_association 'add task', f, :tasks
118
- = f.actions do
119
- = f.action :submit
111
+ = semantic_form_for @project do |f|
112
+ = f.inputs do
113
+ = f.input :name
114
+ = f.input :description
115
+ %h3 Tasks
116
+ #tasks
117
+ = f.semantic_fields_for :tasks do |task|
118
+ = render 'task_fields', :f => task
119
+ .links
120
+ = link_to_add_association 'add task', f, :tasks
121
+ = f.actions do
122
+ = f.action :submit
120
123
  ```
121
124
 
122
125
  And in our `_task_fields` partial we'd write:
data/Rakefile CHANGED
@@ -33,7 +33,6 @@ begin
33
33
  gem.email = "nathan@dixis.com"
34
34
  gem.homepage = "http://github.com/nathanvda/cocoon"
35
35
  gem.authors = ["Nathan Van der Auwera"]
36
- gem.add_development_dependency "rspec", ">= 2.0.0"
37
36
  gem.licenses = ["MIT"]
38
37
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
39
38
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.5
1
+ 1.2.6
@@ -5,11 +5,11 @@
5
5
  var create_new_id = function() {
6
6
  return (new Date().getTime() + cocoon_element_counter++);
7
7
  }
8
-
8
+
9
9
  var newcontent_braced = function(id) {
10
10
  return '[' + id + ']$1';
11
11
  }
12
-
12
+
13
13
  var newcontent_underscord = function(id) {
14
14
  return '_' + id + '_$1';
15
15
  }
@@ -30,7 +30,7 @@
30
30
  new_content = content.replace(regexp_braced, newcontent_braced(new_id)),
31
31
  new_contents = [];
32
32
 
33
-
33
+
34
34
  if (new_content == content) {
35
35
  regexp_braced = new RegExp('\\[new_' + assocs + '\\](.*?\\s)', 'g');
36
36
  regexp_underscord = new RegExp('_new_' + assocs + '_(\\w*)', 'g');
@@ -42,16 +42,16 @@
42
42
 
43
43
  count = (isNaN(count) ? 1 : Math.max(count, 1));
44
44
  count -= 1;
45
-
45
+
46
46
  while (count) {
47
47
  new_id = create_new_id();
48
48
  new_content = content.replace(regexp_braced, newcontent_braced(new_id));
49
49
  new_content = new_content.replace(regexp_underscord, newcontent_underscord(new_id));
50
50
  new_contents.push(new_content);
51
-
51
+
52
52
  count -= 1;
53
53
  }
54
-
54
+
55
55
  if (insertionNode){
56
56
  if (insertionTraversal){
57
57
  insertionNode = $this[insertionTraversal](insertionNode);
@@ -62,8 +62,8 @@
62
62
  insertionNode = $this.parent();
63
63
  }
64
64
 
65
- for (var i in new_contents) {
66
- var contentNode = $(new_contents[i]);
65
+ $.each(new_contents, function(i, node) {
66
+ var contentNode = $(node);
67
67
 
68
68
  insertionNode.trigger('cocoon:before-insert', [contentNode]);
69
69
 
@@ -73,7 +73,7 @@
73
73
  var addedContent = insertionNode[insertionMethod](contentNode);
74
74
 
75
75
  insertionNode.trigger('cocoon:after-insert', [contentNode]);
76
- }
76
+ });
77
77
  });
78
78
 
79
79
  $(document).on('click', '.remove_fields.dynamic, .remove_fields.existing', function(e) {
@@ -2,15 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: cocoon 1.2.5 ruby lib
5
+ # stub: cocoon 1.2.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "cocoon"
9
- s.version = "1.2.5"
9
+ s.version = "1.2.6"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
12
13
  s.authors = ["Nathan Van der Auwera"]
13
- s.date = "2013-12-05"
14
+ s.date = "2014-03-18"
14
15
  s.description = "Unobtrusive nested forms handling, using jQuery. Use this and discover cocoon-heaven."
15
16
  s.email = "nathan@dixis.com"
16
17
  s.extra_rdoc_files = [
@@ -79,8 +80,7 @@ Gem::Specification.new do |s|
79
80
  ]
80
81
  s.homepage = "http://github.com/nathanvda/cocoon"
81
82
  s.licenses = ["MIT"]
82
- s.require_paths = ["lib"]
83
- s.rubygems_version = "2.1.11"
83
+ s.rubygems_version = "2.2.1"
84
84
  s.summary = "gem that enables easier nested forms with standard forms, formtastic and simple-form"
85
85
 
86
86
  if s.respond_to? :specification_version then
@@ -102,7 +102,6 @@ Gem::Specification.new do |s|
102
102
  s.add_development_dependency(%q<psych>, [">= 0"])
103
103
  s.add_development_dependency(%q<racc>, [">= 0"])
104
104
  s.add_development_dependency(%q<rubinius-developer_tools>, [">= 0"])
105
- s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
106
105
  else
107
106
  s.add_dependency(%q<rails>, [">= 4.0.0"])
108
107
  s.add_dependency(%q<sqlite3>, [">= 0"])
@@ -119,7 +118,6 @@ Gem::Specification.new do |s|
119
118
  s.add_dependency(%q<psych>, [">= 0"])
120
119
  s.add_dependency(%q<racc>, [">= 0"])
121
120
  s.add_dependency(%q<rubinius-developer_tools>, [">= 0"])
122
- s.add_dependency(%q<rspec>, [">= 2.0.0"])
123
121
  end
124
122
  else
125
123
  s.add_dependency(%q<rails>, [">= 4.0.0"])
@@ -137,7 +135,6 @@ Gem::Specification.new do |s|
137
135
  s.add_dependency(%q<psych>, [">= 0"])
138
136
  s.add_dependency(%q<racc>, [">= 0"])
139
137
  s.add_dependency(%q<rubinius-developer_tools>, [">= 0"])
140
- s.add_dependency(%q<rspec>, [">= 2.0.0"])
141
138
  end
142
139
  end
143
140
 
@@ -12,7 +12,7 @@ module Cocoon
12
12
  # - *f* : the form this link should be placed in
13
13
  # - *html_options*: html options to be passed to link_to (see <tt>link_to</tt>)
14
14
  # - *&block*: the output of the block will be show in the link, see <tt>link_to</tt>
15
-
15
+
16
16
  def link_to_remove_association(*args, &block)
17
17
  if block_given?
18
18
  f = args.first
@@ -60,7 +60,7 @@ module Cocoon
60
60
  # - *:locals* : the locals hash in the :render_options is handed to the partial
61
61
  # - *:partial* : explicitly override the default partial name
62
62
  # - *:wrap_object* : a proc that will allow to wrap your object, especially suited when using
63
- # decorators, or if you want special initialisation
63
+ # decorators, or if you want special initialisation
64
64
  # - *:form_name* : the parameter for the form in the nested form partial. Default `f`.
65
65
  # - *:count* : Count of how many objects will be added on a single click. Default `1`.
66
66
  # - *&block*: see <tt>link_to</tt>
@@ -92,8 +92,8 @@ module Cocoon
92
92
  new_object = create_object(f, association, force_non_association_create)
93
93
  new_object = wrap_object.call(new_object) if wrap_object.respond_to?(:call)
94
94
 
95
- html_options[:'data-association-insertion-template'] = CGI.escapeHTML(render_association(association, f, new_object, form_parameter_name, render_options, override_partial)).html_safe
96
-
95
+ html_options[:'data-association-insertion-template'] = CGI.escapeHTML(render_association(association, f, new_object, form_parameter_name, render_options, override_partial).to_str).html_safe
96
+
97
97
  html_options[:'data-count'] = count if count > 0
98
98
 
99
99
  link_to(name, '#', html_options)
@@ -137,6 +137,8 @@ module Cocoon
137
137
  f.object.send(association).delete
138
138
  end
139
139
 
140
+ assoc_obj = assoc_obj.dup if assoc_obj.frozen?
141
+
140
142
  assoc_obj
141
143
  end
142
144
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Van der Auwera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-05 00:00:00.000000000 Z
11
+ date: 2014-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -72,28 +72,32 @@ dependencies:
72
72
  requirements:
73
73
  - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
- version: 2.8.0
75
+ version: !binary |-
76
+ Mi44LjA=
76
77
  type: :development
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
81
  - - ! '>='
81
82
  - !ruby/object:Gem::Version
82
- version: 2.8.0
83
+ version: !binary |-
84
+ Mi44LjA=
83
85
  - !ruby/object:Gem::Dependency
84
86
  name: rspec
85
87
  requirement: !ruby/object:Gem::Requirement
86
88
  requirements:
87
89
  - - ! '>='
88
90
  - !ruby/object:Gem::Version
89
- version: 2.8.0
91
+ version: !binary |-
92
+ Mi44LjA=
90
93
  type: :development
91
94
  prerelease: false
92
95
  version_requirements: !ruby/object:Gem::Requirement
93
96
  requirements:
94
97
  - - ! '>='
95
98
  - !ruby/object:Gem::Version
96
- version: 2.8.0
99
+ version: !binary |-
100
+ Mi44LjA=
97
101
  - !ruby/object:Gem::Dependency
98
102
  name: actionpack
99
103
  requirement: !ruby/object:Gem::Requirement
@@ -220,20 +224,6 @@ dependencies:
220
224
  - - ! '>='
221
225
  - !ruby/object:Gem::Version
222
226
  version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: rspec
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ! '>='
228
- - !ruby/object:Gem::Version
229
- version: 2.0.0
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ! '>='
235
- - !ruby/object:Gem::Version
236
- version: 2.0.0
237
227
  description: Unobtrusive nested forms handling, using jQuery. Use this and discover
238
228
  cocoon-heaven.
239
229
  email: nathan@dixis.com
@@ -321,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
321
311
  version: '0'
322
312
  requirements: []
323
313
  rubyforge_project:
324
- rubygems_version: 2.1.11
314
+ rubygems_version: 2.2.1
325
315
  signing_key:
326
316
  specification_version: 4
327
317
  summary: gem that enables easier nested forms with standard forms, formtastic and