autocomplete-off 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
2
+ gem "actionpack", ">= 3.0.0"
3
+ gem "activesupport", ">= 3.0.0"
5
4
 
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
5
  group :development do
9
6
  gem "bundler", "~> 1.0.0"
10
7
  gem "jeweler", "~> 1.6.2"
8
+ gem 'simplecov', '>= 0.3.8', :require => false
9
+ gem "rspec", "~> 2.6.0"
10
+ gem "yard", "~> 0.6.0"
11
11
  end
data/Gemfile.lock CHANGED
@@ -1,16 +1,60 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ abstract (1.0.0)
5
+ actionpack (3.0.8)
6
+ activemodel (= 3.0.8)
7
+ activesupport (= 3.0.8)
8
+ builder (~> 2.1.2)
9
+ erubis (~> 2.6.6)
10
+ i18n (~> 0.5.0)
11
+ rack (~> 1.2.1)
12
+ rack-mount (~> 0.6.14)
13
+ rack-test (~> 0.5.7)
14
+ tzinfo (~> 0.3.23)
15
+ activemodel (3.0.8)
16
+ activesupport (= 3.0.8)
17
+ builder (~> 2.1.2)
18
+ i18n (~> 0.5.0)
19
+ activesupport (3.0.8)
20
+ builder (2.1.2)
21
+ diff-lcs (1.1.2)
22
+ erubis (2.6.6)
23
+ abstract (>= 1.0.0)
4
24
  git (1.2.5)
25
+ i18n (0.5.0)
5
26
  jeweler (1.6.2)
6
27
  bundler (~> 1.0)
7
28
  git (>= 1.2.5)
8
29
  rake
9
- rake (0.9.1)
30
+ rack (1.2.3)
31
+ rack-mount (0.6.14)
32
+ rack (>= 1.0.0)
33
+ rack-test (0.5.7)
34
+ rack (>= 1.0)
35
+ rake (0.9.2)
36
+ rspec (2.6.0)
37
+ rspec-core (~> 2.6.0)
38
+ rspec-expectations (~> 2.6.0)
39
+ rspec-mocks (~> 2.6.0)
40
+ rspec-core (2.6.4)
41
+ rspec-expectations (2.6.0)
42
+ diff-lcs (~> 1.1.2)
43
+ rspec-mocks (2.6.0)
44
+ simplecov (0.4.2)
45
+ simplecov-html (~> 0.4.4)
46
+ simplecov-html (0.4.5)
47
+ tzinfo (0.3.27)
48
+ yard (0.6.8)
10
49
 
11
50
  PLATFORMS
12
51
  ruby
13
52
 
14
53
  DEPENDENCIES
54
+ actionpack (>= 3.0.0)
55
+ activesupport (>= 3.0.0)
15
56
  bundler (~> 1.0.0)
16
57
  jeweler (~> 1.6.2)
58
+ rspec (~> 2.6.0)
59
+ simplecov (>= 0.3.8)
60
+ yard (~> 0.6.0)
data/README.rdoc CHANGED
@@ -21,7 +21,8 @@ Or if you want to use it as plugin
21
21
  It works right out of the box. Just install, restart your server and see it working.
22
22
 
23
23
  == Features
24
- TODO
24
+
25
+ * Handle input tag with type text or password or email and add default autocomplete=off for default
25
26
 
26
27
  == Maintainers
27
28
 
data/Rakefile CHANGED
@@ -25,21 +25,13 @@ Jeweler::Tasks.new do |gem|
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
27
27
 
28
- require 'rake/testtask'
29
- Rake::TestTask.new(:test) do |test|
30
- test.libs << 'lib' << 'test'
31
- test.pattern = 'test/**/test_*.rb'
32
- test.verbose = true
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
33
32
  end
34
33
 
35
- task :default => :test
34
+ task :default => :spec
36
35
 
37
- require 'rake/rdoctask'
38
- Rake::RDocTask.new do |rdoc|
39
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
-
41
- rdoc.rdoc_dir = 'rdoc'
42
- rdoc.title = "autocomplete-off #{version}"
43
- rdoc.rdoc_files.include('README*')
44
- rdoc.rdoc_files.include('lib/**/*.rb')
45
- end
36
+ require 'yard'
37
+ YARD::Rake::YardocTask.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.1.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{autocomplete-off}
8
- s.version = "0.0.1"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alexander Dreher"]
12
- s.date = %q{2011-06-07}
12
+ s.date = %q{2011-06-08}
13
13
  s.description = %q{Adds `autocomplete="off"` html attribute to FormHelper generated input tags by default.}
14
14
  s.email = %q{alexdreher@lxmedia.net}
15
15
  s.extra_rdoc_files = [
@@ -27,8 +27,8 @@ Gem::Specification.new do |s|
27
27
  "autocomplete-off.gemspec",
28
28
  "init.rb",
29
29
  "lib/autocomplete-off.rb",
30
- "test/helper.rb",
31
- "test/test_autocomplete-off.rb"
30
+ "spec/autocomplete-off_spec.rb",
31
+ "spec/spec_helper.rb"
32
32
  ]
33
33
  s.homepage = %q{http://github.com/phatworx/autocomplete-off}
34
34
  s.licenses = ["MIT"]
@@ -40,15 +40,30 @@ Gem::Specification.new do |s|
40
40
  s.specification_version = 3
41
41
 
42
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_runtime_dependency(%q<actionpack>, [">= 3.0.0"])
44
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0"])
43
45
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
44
46
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
47
+ s.add_development_dependency(%q<simplecov>, [">= 0.3.8"])
48
+ s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
49
+ s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
45
50
  else
51
+ s.add_dependency(%q<actionpack>, [">= 3.0.0"])
52
+ s.add_dependency(%q<activesupport>, [">= 3.0.0"])
46
53
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
47
54
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
55
+ s.add_dependency(%q<simplecov>, [">= 0.3.8"])
56
+ s.add_dependency(%q<rspec>, ["~> 2.6.0"])
57
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
48
58
  end
49
59
  else
60
+ s.add_dependency(%q<actionpack>, [">= 3.0.0"])
61
+ s.add_dependency(%q<activesupport>, [">= 3.0.0"])
50
62
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
51
63
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
64
+ s.add_dependency(%q<simplecov>, [">= 0.3.8"])
65
+ s.add_dependency(%q<rspec>, ["~> 2.6.0"])
66
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
52
67
  end
53
68
  end
54
69
 
@@ -1,13 +1,22 @@
1
+ require 'erb'
2
+ require 'active_support/concern'
3
+ require 'action_view/helpers/capture_helper'
4
+ require 'action_view/helpers/tag_helper'
5
+
1
6
  module ActionView
2
7
  module Helpers
3
8
  module TagHelper
9
+
10
+ # rename original method for extending
11
+ alias_method :tag_without_autocomplete_off, :tag
12
+
4
13
  # This re-opens the tag method which is used by every form builder helper
5
14
  # to disable browsers autocomplete by default.
6
15
  #
7
16
  # Fields can use the browsers autocomplete by explicitly setting ":autocomplete => 'on'"
8
17
  def tag(name, options = nil, open = false, escape = true)
9
- options['autocomplete'] ||= 'off' if name == 'input'
10
- "<#{name}#{tag_options(options, escape) if options}#{open ? ">" : " />"}".html_safe
18
+ options['autocomplete'] ||= 'off' if options.is_a?(Hash) and name.to_s == 'input' and ['password', 'text', 'email'].include?(options['type'].to_s)
19
+ tag_without_autocomplete_off(name, options, open, escape)
11
20
  end
12
21
  end
13
22
  end
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
+
4
+ describe ActionView::Helpers::TagHelper do
5
+ describe "#tag" do
6
+ include ActionView::Helpers::TagHelper
7
+
8
+ it "should have autocomplete off on input type text" do
9
+ tag('input', { 'type' => 'text' }).should include('autocomplete="off"')
10
+ end
11
+
12
+ it "should have autocomplete off on input type password" do
13
+ tag('input', { 'type' => 'password' }).should include('autocomplete="off"')
14
+ end
15
+
16
+ it "should have autocomplete off on input type email" do
17
+ tag('input', { 'type' => 'email' }).should include('autocomplete="off"')
18
+ end
19
+
20
+ it "should not have autocomplete off on a" do
21
+ tag('a').should_not include('autocomplete="off"')
22
+ end
23
+
24
+ it "should not have autocomplete off on a with href attribute" do
25
+ tag('a', { 'href' => 'about:blank' }).should_not include('autocomplete="off"')
26
+ end
27
+
28
+ it "should not have autocomplete off on input type radio" do
29
+ tag('input', { 'type' => 'radio' }).should_not include('autocomplete="off"')
30
+ end
31
+
32
+ it "should not have autocomplete off on input type text if manual disabled" do
33
+ tag('input', { 'type' => 'text', 'autocomplete' => 'on' }).should_not include('autocomplete="off"')
34
+ tag('input', { 'type' => 'text', 'autocomplete' => 'on' }).should include('autocomplete="on"')
35
+ end
36
+
37
+ it "should not have autocomplete off on input type password if manual disabled" do
38
+ tag('input', { 'type' => 'password', 'autocomplete' => 'on' }).should_not include('autocomplete="off"')
39
+ tag('input', { 'type' => 'password', 'autocomplete' => 'on' }).should include('autocomplete="on"')
40
+ end
41
+
42
+ it "should not have autocomplete off on input type email if manual disabled" do
43
+ tag('input', { 'type' => 'email', 'autocomplete' => 'on' }).should_not include('autocomplete="off"')
44
+ tag('input', { 'type' => 'email', 'autocomplete' => 'on' }).should include('autocomplete="on"')
45
+ end
46
+
47
+ end
48
+
49
+ end
50
+
@@ -0,0 +1,19 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ require 'erb'
5
+ require 'active_support/concern'
6
+ require 'action_view/helpers/capture_helper'
7
+ require 'action_view/helpers/tag_helper'
8
+ require 'rspec'
9
+ require 'simplecov'
10
+ SimpleCov.start
11
+ require 'autocomplete-off'
12
+
13
+ # Requires supporting files with custom matchers and macros, etc,
14
+ # in ./support/ and its subdirectories.
15
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
16
+
17
+ RSpec.configure do |config|
18
+
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autocomplete-off
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,34 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-07 00:00:00.000000000 +02:00
12
+ date: 2011-06-08 00:00:00.000000000 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: actionpack
17
+ requirement: &24047340 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 3.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *24047340
26
+ - !ruby/object:Gem::Dependency
27
+ name: activesupport
28
+ requirement: &24046640 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 3.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *24046640
15
37
  - !ruby/object:Gem::Dependency
16
38
  name: bundler
17
- requirement: &20122960 !ruby/object:Gem::Requirement
39
+ requirement: &24045780 !ruby/object:Gem::Requirement
18
40
  none: false
19
41
  requirements:
20
42
  - - ~>
@@ -22,10 +44,10 @@ dependencies:
22
44
  version: 1.0.0
23
45
  type: :development
24
46
  prerelease: false
25
- version_requirements: *20122960
47
+ version_requirements: *24045780
26
48
  - !ruby/object:Gem::Dependency
27
49
  name: jeweler
28
- requirement: &20122480 !ruby/object:Gem::Requirement
50
+ requirement: &24044860 !ruby/object:Gem::Requirement
29
51
  none: false
30
52
  requirements:
31
53
  - - ~>
@@ -33,7 +55,40 @@ dependencies:
33
55
  version: 1.6.2
34
56
  type: :development
35
57
  prerelease: false
36
- version_requirements: *20122480
58
+ version_requirements: *24044860
59
+ - !ruby/object:Gem::Dependency
60
+ name: simplecov
61
+ requirement: &24006420 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: 0.3.8
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *24006420
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: &24004420 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.6.0
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *24004420
81
+ - !ruby/object:Gem::Dependency
82
+ name: yard
83
+ requirement: &24003620 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ version: 0.6.0
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: *24003620
37
92
  description: Adds `autocomplete="off"` html attribute to FormHelper generated input
38
93
  tags by default.
39
94
  email: alexdreher@lxmedia.net
@@ -53,8 +108,8 @@ files:
53
108
  - autocomplete-off.gemspec
54
109
  - init.rb
55
110
  - lib/autocomplete-off.rb
56
- - test/helper.rb
57
- - test/test_autocomplete-off.rb
111
+ - spec/autocomplete-off_spec.rb
112
+ - spec/spec_helper.rb
58
113
  has_rdoc: true
59
114
  homepage: http://github.com/phatworx/autocomplete-off
60
115
  licenses:
@@ -71,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
71
126
  version: '0'
72
127
  segments:
73
128
  - 0
74
- hash: -3088871125341252101
129
+ hash: 4285089215067781878
75
130
  required_rubygems_version: !ruby/object:Gem::Requirement
76
131
  none: false
77
132
  requirements:
data/test/helper.rb DELETED
@@ -1,17 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
-
12
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
- $LOAD_PATH.unshift(File.dirname(__FILE__))
14
- require 'autocomplete-off'
15
-
16
- class Test::Unit::TestCase
17
- end
@@ -1,5 +0,0 @@
1
- require 'helper'
2
-
3
- class TestAutocompleteOff < Test::Unit::TestCase
4
-
5
- end