best_in_place 1.0.5 → 1.0.6

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.
data/Gemfile CHANGED
@@ -3,6 +3,6 @@ source "http://rubygems.org"
3
3
  # Specify your gem's dependencies in best_in_place.gemspec
4
4
  gemspec
5
5
 
6
- gem 'sqlite3-ruby', :require => 'sqlite3'
6
+ gem 'sqlite3'
7
7
  gem 'jquery-rails'
8
8
  gem 'rdiscount'
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency "rails", "~> 3.1"
23
23
  s.add_dependency "jquery-rails"
24
24
 
25
- s.add_development_dependency "rspec-rails", "~> 2.7.0"
25
+ s.add_development_dependency "rspec-rails", "~> 2.8.0"
26
26
  s.add_development_dependency "nokogiri", ">= 1.5.0"
27
27
  s.add_development_dependency "capybara", ">= 1.0.1"
28
28
  end
@@ -43,7 +43,7 @@ module BestInPlace
43
43
  out << " data-type='#{opts[:type]}'"
44
44
  out << " data-inner-class='#{opts[:inner_class]}'" if opts[:inner_class]
45
45
  out << " data-html-attrs='#{opts[:html_attrs].to_json}'" unless opts[:html_attrs].blank?
46
- out << " data-original-content='#{object.send(field)}'" if opts[:display_as] || opts[:display_with]
46
+ out << " data-original-content='#{attribute_escape(object.send(field))}'" if opts[:display_as] || opts[:display_with]
47
47
  if !opts[:sanitize].nil? && !opts[:sanitize]
48
48
  out << " data-sanitize='false'>"
49
49
  out << sanitize(value, :tags => %w(b i u s a strong em p h1 h2 h3 h4 h5 ul li ol hr pre span img br), :attributes => %w(id class href))
@@ -80,6 +80,10 @@ module BestInPlace
80
80
  object.send(field).to_s.presence || ""
81
81
  end
82
82
  end
83
+
84
+ def attribute_escape(data)
85
+ data.to_s.gsub("&", "&amp;").gsub("'", "&apos;") unless data.nil?
86
+ end
83
87
  end
84
88
  end
85
89
 
@@ -1,3 +1,3 @@
1
1
  module BestInPlace
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
@@ -368,36 +368,6 @@ describe "JS behaviour", :js => true do
368
368
  end
369
369
  end
370
370
 
371
- it "should show validation errors using respond_with in the controller" do
372
- @user.save!
373
- visit user_path(@user)
374
-
375
- bip_text @user, :last_name, "a"
376
- page.should have_content("last_name has invalid length")
377
- end
378
-
379
- it "should be able to update a field after an error using respond_with in the controller" do
380
- @user.save!
381
- visit user_path(@user)
382
-
383
- bip_text @user, :last_name, "a"
384
-
385
- within("#last_name") do
386
- page.should have_content("Napoli")
387
- end
388
-
389
- bip_text @user, :last_name, "Another"
390
-
391
- within("#last_name") do
392
- page.should have_content("Another")
393
- end
394
-
395
- visit user_path(@user)
396
- within("#last_name") do
397
- page.should have_content("Another")
398
- end
399
- end
400
-
401
371
  it "should fire off a callback when updating a field" do
402
372
  @user.save!
403
373
  visit user_path(@user)
@@ -466,15 +436,32 @@ describe "JS behaviour", :js => true do
466
436
 
467
437
  bip_text @user, :address, "New address"
468
438
 
439
+ sleep 1
440
+
469
441
  id = BestInPlace::Utils.build_best_in_place_id @user, :address
470
442
  page.execute_script <<-JS
471
443
  $("##{id}").click();
472
444
  JS
473
445
 
446
+ sleep 1
447
+
474
448
  text = page.find("##{id} input").value
475
449
  text.should == "New address"
476
450
  end
477
451
  end
452
+
453
+ it "should quote properly the data-original-content attribute" do
454
+ @user.address = "A's & B's"
455
+ @user.save!
456
+ retry_on_timeout do
457
+ visit user_path(@user)
458
+
459
+ id = BestInPlace::Utils.build_best_in_place_id @user, :address
460
+
461
+ text = page.find("##{id}")["data-original-content"]
462
+ text.should == "A's & B's"
463
+ end
464
+ end
478
465
  end
479
466
 
480
467
  describe "display_with" do
@@ -534,11 +521,15 @@ describe "JS behaviour", :js => true do
534
521
 
535
522
  bip_text @user, :money, "40"
536
523
 
524
+ sleep 1
525
+
537
526
  id = BestInPlace::Utils.build_best_in_place_id @user, :money
538
527
  page.execute_script <<-JS
539
528
  $("##{id}").click();
540
529
  JS
541
530
 
531
+ sleep 1
532
+
542
533
  text = page.find("##{id} input").value
543
534
  text.should == "40"
544
535
  end
@@ -1,6 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '~> 3.1.0'
3
+ gem 'rails', '3.2'
4
4
  gem 'sqlite3'
5
5
 
6
6
  gem 'best_in_place', :path => ".."
@@ -10,7 +10,7 @@ gem 'jquery-rails'
10
10
  gem 'rdiscount'
11
11
 
12
12
  group :assets do
13
- gem 'sass-rails', '~> 3.1.4'
14
- gem 'coffee-rails', '~> 3.1.1'
13
+ gem 'sass-rails', '~> 3.2.3'
14
+ gem 'coffee-rails', '~> 3.2.1'
15
15
  gem 'uglifier', '>= 1.0.3'
16
16
  end
@@ -1,6 +1,4 @@
1
1
  class UsersController < ApplicationController
2
- respond_to :html, :json
3
-
4
2
  # GET /users
5
3
  # GET /users.xml
6
4
  def index
@@ -88,11 +86,4 @@ class UsersController < ApplicationController
88
86
  format.xml { head :ok }
89
87
  end
90
88
  end
91
-
92
- def test_respond_with
93
- @user = User.find(params[:id])
94
-
95
- @user.update_attributes(params[:user])
96
- respond_with(@user)
97
- end
98
89
  end
@@ -13,7 +13,7 @@
13
13
  <tr>
14
14
  <td>Last Name</td>
15
15
  <td id="last_name">
16
- <%= best_in_place @user, :last_name, :nil => "Nothing to show", :path => test_respond_with_user_path(@user) %>
16
+ <%= best_in_place @user, :last_name, :nil => "Nothing to show" %>
17
17
  </td>
18
18
  </tr>
19
19
  <tr>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: best_in_place
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-23 00:00:00.000000000 Z
12
+ date: 2012-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &83572300 !ruby/object:Gem::Requirement
16
+ requirement: &83802130 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *83572300
24
+ version_requirements: *83802130
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jquery-rails
27
- requirement: &83572040 !ruby/object:Gem::Requirement
27
+ requirement: &83801750 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,21 +32,21 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *83572040
35
+ version_requirements: *83801750
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec-rails
38
- requirement: &83571670 !ruby/object:Gem::Requirement
38
+ requirement: &83800970 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: 2.7.0
43
+ version: 2.8.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *83571670
46
+ version_requirements: *83800970
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: nokogiri
49
- requirement: &83571350 !ruby/object:Gem::Requirement
49
+ requirement: &83800320 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.5.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *83571350
57
+ version_requirements: *83800320
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: capybara
60
- requirement: &83571040 !ruby/object:Gem::Requirement
60
+ requirement: &83819560 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 1.0.1
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *83571040
68
+ version_requirements: *83819560
69
69
  description: BestInPlace is a jQuery script and a Rails 3 helper that provide the
70
70
  method best_in_place to display any object field easily editable for the user by
71
71
  just clicking on it. It supports input data, text data, boolean data and custom
@@ -102,7 +102,6 @@ files:
102
102
  - spec/spec_helper.rb
103
103
  - spec/support/retry_on_timeout.rb
104
104
  - test_app/Gemfile
105
- - test_app/Gemfile.lock
106
105
  - test_app/README
107
106
  - test_app/Rakefile
108
107
  - test_app/app/assets/images/red_pen.png
@@ -192,7 +191,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
192
191
  version: '0'
193
192
  segments:
194
193
  - 0
195
- hash: -572262513
194
+ hash: -802068595
196
195
  required_rubygems_version: !ruby/object:Gem::Requirement
197
196
  none: false
198
197
  requirements:
@@ -201,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
200
  version: '0'
202
201
  segments:
203
202
  - 0
204
- hash: -572262513
203
+ hash: -802068595
205
204
  requirements: []
206
205
  rubyforge_project: best_in_place
207
206
  rubygems_version: 1.8.10