delayed_form_observer 0.2.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.specification +4 -4
- data/README.rdoc +2 -2
- data/VERSION +1 -1
- data/delayed_form_observer.gemspec +2 -1
- data/test/delayed_form_observer/helpers_test.rb +2 -1
- metadata +3 -3
data/.specification
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: delayed_form_observer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Coroutine
|
data/README.rdoc
CHANGED
@@ -5,12 +5,12 @@ Delayed Form Observer eliminates a race condition in a common Rails search imple
|
|
5
5
|
Large lists are often made more manageable by positioning a search textbox above the list
|
6
6
|
and attaching a Prototype timed observer to the textbox. A javascript object is checking
|
7
7
|
the textbox for changes and remotely submitting the search form every so many milliseconds.
|
8
|
-
The user experiences this as a list whose items change with every
|
8
|
+
The user experiences this as a list whose items change with every few keystrokes.
|
9
9
|
|
10
10
|
The pattern works fine as long as the search query is working against a simple dataset. The
|
11
11
|
asynchronous requests come back in the same order they are sent.
|
12
12
|
|
13
|
-
But if the dataset is not simple, search #1 might return
|
13
|
+
But if the dataset is not simple, search #1 might return after search #2. A user who types
|
14
14
|
in "J" then "o" initiates two searches against a list of contacts. "J" matches both Jim and
|
15
15
|
John; "Jo" only matches John. But since it is easier for the database to return fewer records,
|
16
16
|
what if we get [John] before we get [Jim,John]? The textbox will show "Jo" but the list will
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{delayed_form_observer}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "1.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Coroutine", "Tim Lowrimore", "John Dugan"]
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
".gitignore",
|
20
20
|
".specification",
|
21
21
|
"MIT-LICENSE",
|
22
|
+
"README.rdoc",
|
22
23
|
"Rakefile",
|
23
24
|
"VERSION",
|
24
25
|
"delayed_form_observer.gemspec",
|
metadata
CHANGED
@@ -4,10 +4,10 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
- 2
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 1.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Coroutine
|
@@ -64,6 +64,7 @@ files:
|
|
64
64
|
- .gitignore
|
65
65
|
- .specification
|
66
66
|
- MIT-LICENSE
|
67
|
+
- README.rdoc
|
67
68
|
- Rakefile
|
68
69
|
- VERSION
|
69
70
|
- delayed_form_observer.gemspec
|
@@ -77,7 +78,6 @@ files:
|
|
77
78
|
- rails/init.rb
|
78
79
|
- test/delayed_form_observer/helpers_test.rb
|
79
80
|
- test/test_helper.rb
|
80
|
-
- README.rdoc
|
81
81
|
has_rdoc: true
|
82
82
|
homepage: http://github.com/coroutine/delayed_form_observer
|
83
83
|
licenses: []
|