best_in_place 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +0 -1
- data/README.md +54 -46
- data/lib/assets/javascripts/best_in_place.js +42 -0
- data/lib/best_in_place.rb +4 -0
- data/lib/best_in_place/controller_extensions.rb +1 -1
- data/lib/best_in_place/display_methods.rb +24 -2
- data/lib/best_in_place/helper.rb +26 -9
- data/lib/best_in_place/utils.rb +1 -1
- data/lib/best_in_place/version.rb +1 -1
- data/spec/helpers/best_in_place_spec.rb +46 -1
- data/spec/integration/double_init_spec.rb +2 -1
- data/spec/integration/js_spec.rb +178 -8
- data/spec/support/retry_on_timeout.rb +10 -0
- data/test_app/app/assets/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/test_app/app/assets/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/test_app/app/assets/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/test_app/app/assets/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/test_app/app/assets/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/test_app/app/assets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test_app/app/assets/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/test_app/app/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/test_app/app/assets/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/test_app/app/assets/images/ui-icons_222222_256x240.png +0 -0
- data/test_app/app/assets/images/ui-icons_228ef1_256x240.png +0 -0
- data/test_app/app/assets/images/ui-icons_ef8c08_256x240.png +0 -0
- data/test_app/app/assets/images/ui-icons_ffd27a_256x240.png +0 -0
- data/test_app/app/assets/images/ui-icons_ffffff_256x240.png +0 -0
- data/test_app/app/assets/javascripts/application.js +25 -55
- data/test_app/app/assets/stylesheets/jquery-ui-1.8.16.custom.css.erb +357 -0
- data/test_app/app/assets/stylesheets/{style.css → style.css.erb} +1 -1
- data/test_app/app/models/user.rb +1 -0
- data/test_app/app/views/layouts/application.html.erb +1 -1
- data/test_app/app/views/users/double_init.html.erb +7 -0
- data/test_app/app/views/users/show.html.erb +13 -0
- data/test_app/config/initializers/default_date_format.rb +2 -0
- data/test_app/db/migrate/20111217215935_add_birth_date_to_users.rb +5 -0
- data/test_app/db/migrate/20111224181356_add_money_to_user.rb +5 -0
- data/test_app/db/schema.rb +3 -1
- data/test_app/db/seeds.rb +4 -4
- metadata +34 -15
@@ -40,7 +40,7 @@ textarea {
|
|
40
40
|
}
|
41
41
|
.best_in_place:hover, #user_account .do_hover {
|
42
42
|
padding-right: 1.5em;
|
43
|
-
background: url("
|
43
|
+
background: url(<%= asset_path "red_pen.png" %>) no-repeat right;
|
44
44
|
background-color: #CCC;
|
45
45
|
}
|
46
46
|
.info_edit {
|
data/test_app/app/models/user.rb
CHANGED
@@ -12,6 +12,7 @@ class User < ActiveRecord::Base
|
|
12
12
|
:presence => {:message => "can't be blank"},
|
13
13
|
:format => {:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message => "has wrong email format"}
|
14
14
|
validates :zip, :numericality => true, :length => { :minimum => 5 }
|
15
|
+
validates_numericality_of :money, :allow_blank => true
|
15
16
|
|
16
17
|
def address_format
|
17
18
|
"<b>addr => [#{address}]</b>".html_safe
|
@@ -51,6 +51,13 @@
|
|
51
51
|
<td id="description">
|
52
52
|
<%= best_in_place @user, :description, :type => :textarea, :sanitize => false %>
|
53
53
|
</td>
|
54
|
+
</tr>
|
55
|
+
<tr>
|
56
|
+
<td>Alternative Money</td>
|
57
|
+
<td id="alt_money">
|
58
|
+
<%= best_in_place @user, :money, :display_with => :number_to_currency, :helper_options => {:unit => "€"} %>
|
59
|
+
</td>
|
60
|
+
</tr>
|
54
61
|
</table>
|
55
62
|
<br />
|
56
63
|
<hr />
|
@@ -22,6 +22,12 @@
|
|
22
22
|
<%= best_in_place @user, :email %>
|
23
23
|
</td>
|
24
24
|
</tr>
|
25
|
+
<tr>
|
26
|
+
<td>Birth date</td>
|
27
|
+
<td id="birth_date">
|
28
|
+
<%= best_in_place @user, :birth_date, :type => :date %>
|
29
|
+
</td>
|
30
|
+
</tr>
|
25
31
|
<tr>
|
26
32
|
<td>Address</td>
|
27
33
|
<td id="address">
|
@@ -51,6 +57,13 @@
|
|
51
57
|
<td id="description">
|
52
58
|
<%= best_in_place @user, :description, :display_as => :markdown_desc, :type => :textarea, :sanitize => false %>
|
53
59
|
</td>
|
60
|
+
</tr>
|
61
|
+
<tr>
|
62
|
+
<td>Money</td>
|
63
|
+
<td id="money">
|
64
|
+
<%= best_in_place @user, :money, :display_with => :number_to_currency %>
|
65
|
+
</td>
|
66
|
+
</tr>
|
54
67
|
</table>
|
55
68
|
<br />
|
56
69
|
<hr />
|
data/test_app/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20111224181356) do
|
15
15
|
|
16
16
|
create_table "users", :force => true do |t|
|
17
17
|
t.string "name"
|
@@ -24,6 +24,8 @@ ActiveRecord::Schema.define(:version => 20110115204441) do
|
|
24
24
|
t.datetime "updated_at"
|
25
25
|
t.boolean "receive_email"
|
26
26
|
t.text "description"
|
27
|
+
t.datetime "birth_date"
|
28
|
+
t.float "money"
|
27
29
|
end
|
28
30
|
|
29
31
|
end
|
data/test_app/db/seeds.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
User.delete_all
|
11
11
|
|
12
|
-
User.create!(:name => "Lucia", :last_name => "Napoli", :email => "lucianapoli@gmail.com", :address => "Via Roma 99", :zip => "25123", :country => "1", :receive_email => false, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
13
|
-
User.create!(:name => "Carmen", :last_name => "Luciago", :email => "carmen@luciago.com", :address => "c/Ambrosio 10", :zip => "21333", :country => "2", :receive_email => true, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
14
|
-
User.create!(:name => "Angels", :last_name => "Domènech", :email => "angels@gmail.com", :address => "Avinguda Sant Andreu 1", :zip => "08033", :country => "3", :receive_email => false, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
15
|
-
User.create!(:name => "Dominic", :last_name => "Lepoin", :email => "dominiclepoin@gmail.com", :address => "Rue Tour Eiffel 4993", :zip => "11192", :country => "4", :receive_email => true, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
12
|
+
User.create!(:name => "Lucia", :last_name => "Napoli", :email => "lucianapoli@gmail.com", :address => "Via Roma 99", :zip => "25123", :country => "1", :receive_email => false, :birth_date => Date.today - 21.years, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
13
|
+
User.create!(:name => "Carmen", :last_name => "Luciago", :email => "carmen@luciago.com", :address => "c/Ambrosio 10", :zip => "21333", :country => "2", :receive_email => true, :birth_date => Date.today - 18.years, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
14
|
+
User.create!(:name => "Angels", :last_name => "Domènech", :email => "angels@gmail.com", :address => "Avinguda Sant Andreu 1", :zip => "08033", :country => "3", :receive_email => false, :birth_date => Date.today - 65.years, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
15
|
+
User.create!(:name => "Dominic", :last_name => "Lepoin", :email => "dominiclepoin@gmail.com", :address => "Rue Tour Eiffel 4993", :zip => "11192", :country => "4", :receive_email => true, :birth_date => Date.today - 40.years, :description => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a lectus et lacus ultrices auctor. Morbi aliquet convallis tincidunt. Praesent enim libero, iaculis at commodo nec, fermentum a dolor. Quisque eget eros id felis lacinia faucibus feugiat et ante. Aenean justo nisi, aliquam vel egestas vel, porta in ligula. Etiam molestie, lacus eget tincidunt accumsan, elit justo rhoncus urna, nec pretium neque mi et lorem. Aliquam posuere, dolor quis pulvinar luctus, felis dolor tincidunt leo, eget pretium orci purus ac nibh. Ut enim sem, suscipit ac elementum vitae, sodales vel sem.")
|
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.
|
4
|
+
version: 1.0.4
|
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:
|
12
|
+
date: 2012-01-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &69170780 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *69170780
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: jquery-rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &69170510 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *69170510
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec-rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &69170120 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.7.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *69170120
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: nokogiri
|
49
|
-
requirement: &
|
49
|
+
requirement: &69169800 !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: *
|
57
|
+
version_requirements: *69169800
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: capybara
|
60
|
-
requirement: &
|
60
|
+
requirement: &69169540 !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: *
|
68
|
+
version_requirements: *69169540
|
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
|
@@ -98,15 +98,31 @@ files:
|
|
98
98
|
- spec/integration/js_spec.rb
|
99
99
|
- spec/integration/text_area_spec.rb
|
100
100
|
- spec/spec_helper.rb
|
101
|
+
- spec/support/retry_on_timeout.rb
|
101
102
|
- test_app/Gemfile
|
102
103
|
- test_app/Gemfile.lock
|
103
104
|
- test_app/README
|
104
105
|
- test_app/Rakefile
|
105
106
|
- test_app/app/assets/images/red_pen.png
|
107
|
+
- test_app/app/assets/images/ui-bg_diagonals-thick_18_b81900_40x40.png
|
108
|
+
- test_app/app/assets/images/ui-bg_diagonals-thick_20_666666_40x40.png
|
109
|
+
- test_app/app/assets/images/ui-bg_flat_10_000000_40x100.png
|
110
|
+
- test_app/app/assets/images/ui-bg_glass_100_f6f6f6_1x400.png
|
111
|
+
- test_app/app/assets/images/ui-bg_glass_100_fdf5ce_1x400.png
|
112
|
+
- test_app/app/assets/images/ui-bg_glass_65_ffffff_1x400.png
|
113
|
+
- test_app/app/assets/images/ui-bg_gloss-wave_35_f6a828_500x100.png
|
114
|
+
- test_app/app/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
|
115
|
+
- test_app/app/assets/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
|
116
|
+
- test_app/app/assets/images/ui-icons_222222_256x240.png
|
117
|
+
- test_app/app/assets/images/ui-icons_228ef1_256x240.png
|
118
|
+
- test_app/app/assets/images/ui-icons_ef8c08_256x240.png
|
119
|
+
- test_app/app/assets/images/ui-icons_ffd27a_256x240.png
|
120
|
+
- test_app/app/assets/images/ui-icons_ffffff_256x240.png
|
106
121
|
- test_app/app/assets/javascripts/application.js
|
107
122
|
- test_app/app/assets/stylesheets/.gitkeep
|
123
|
+
- test_app/app/assets/stylesheets/jquery-ui-1.8.16.custom.css.erb
|
108
124
|
- test_app/app/assets/stylesheets/scaffold.css
|
109
|
-
- test_app/app/assets/stylesheets/style.css
|
125
|
+
- test_app/app/assets/stylesheets/style.css.erb
|
110
126
|
- test_app/app/controllers/application_controller.rb
|
111
127
|
- test_app/app/controllers/users_controller.rb
|
112
128
|
- test_app/app/helpers/application_helper.rb
|
@@ -128,6 +144,7 @@ files:
|
|
128
144
|
- test_app/config/environments/test.rb
|
129
145
|
- test_app/config/initializers/backtrace_silencers.rb
|
130
146
|
- test_app/config/initializers/countries.rb
|
147
|
+
- test_app/config/initializers/default_date_format.rb
|
131
148
|
- test_app/config/initializers/inflections.rb
|
132
149
|
- test_app/config/initializers/mime_types.rb
|
133
150
|
- test_app/config/initializers/secret_token.rb
|
@@ -137,6 +154,8 @@ files:
|
|
137
154
|
- test_app/db/migrate/20101206205922_create_users.rb
|
138
155
|
- test_app/db/migrate/20101212170114_add_receive_email_to_user.rb
|
139
156
|
- test_app/db/migrate/20110115204441_add_description_to_user.rb
|
157
|
+
- test_app/db/migrate/20111217215935_add_birth_date_to_users.rb
|
158
|
+
- test_app/db/migrate/20111224181356_add_money_to_user.rb
|
140
159
|
- test_app/db/schema.rb
|
141
160
|
- test_app/db/seeds.rb
|
142
161
|
- test_app/doc/README_FOR_APP
|
@@ -169,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
169
188
|
version: '0'
|
170
189
|
segments:
|
171
190
|
- 0
|
172
|
-
hash:
|
191
|
+
hash: -35281219
|
173
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
193
|
none: false
|
175
194
|
requirements:
|
@@ -178,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
178
197
|
version: '0'
|
179
198
|
segments:
|
180
199
|
- 0
|
181
|
-
hash:
|
200
|
+
hash: -35281219
|
182
201
|
requirements: []
|
183
202
|
rubyforge_project: best_in_place
|
184
203
|
rubygems_version: 1.8.10
|