dm-sanitizer 0.1.4 → 0.2.0
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/History.txt +7 -0
- data/README.rdoc +4 -3
- data/Rakefile +3 -2
- data/VERSION +1 -1
- data/dm-sanitizer.gemspec +11 -8
- data/lib/dm-sanitizer.rb +6 -6
- data/spec/spec_helper.rb +2 -1
- metadata +25 -12
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -10,9 +10,9 @@ This package lets DataMapper properties be easily sanitized using Sanitize.
|
|
10
10
|
|
11
11
|
=== Features
|
12
12
|
|
13
|
-
* Sanitize String
|
14
|
-
*
|
15
|
-
*
|
13
|
+
* Sanitize String and Text properties by default (configurable)
|
14
|
+
* Per property sanitization modes
|
15
|
+
* User defined sanitization modes
|
16
16
|
|
17
17
|
=== problems
|
18
18
|
|
@@ -22,6 +22,7 @@ This package lets DataMapper properties be easily sanitized using Sanitize.
|
|
22
22
|
|
23
23
|
require 'rubygems'
|
24
24
|
require 'dm-core'
|
25
|
+
require 'dm-migrations'
|
25
26
|
require 'dm-sanitizer'
|
26
27
|
|
27
28
|
DataMapper.setup(:default, 'sqlite3::memory:')
|
data/Rakefile
CHANGED
@@ -17,11 +17,12 @@ begin
|
|
17
17
|
|
18
18
|
gem.rubyforge_project = 'dm-sanitizer'
|
19
19
|
|
20
|
-
gem.add_dependency 'dm-core', '>= 0
|
21
|
-
gem.add_dependency 'sanitize', '>= 1.0
|
20
|
+
gem.add_dependency 'dm-core', '>= 1.0'
|
21
|
+
gem.add_dependency 'sanitize', '>= 1.0'
|
22
22
|
|
23
23
|
gem.add_development_dependency 'rspec', '~> 1.3'
|
24
24
|
gem.add_development_dependency 'jeweler', '~> 1.4'
|
25
|
+
gem.add_development_dependency 'dm-migrations', '>= 1.0'
|
25
26
|
end
|
26
27
|
|
27
28
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/dm-sanitizer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{dm-sanitizer}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Sergei Zimakov"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-06}
|
13
13
|
s.description = %q{DataMapper plugin for automated/configurable user input sanitization.}
|
14
14
|
s.email = %q{zimakov@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -47,21 +47,24 @@ Gem::Specification.new do |s|
|
|
47
47
|
s.specification_version = 3
|
48
48
|
|
49
49
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
-
s.add_runtime_dependency(%q<dm-core>, [">= 0
|
51
|
-
s.add_runtime_dependency(%q<sanitize>, [">= 1.0
|
50
|
+
s.add_runtime_dependency(%q<dm-core>, [">= 1.0"])
|
51
|
+
s.add_runtime_dependency(%q<sanitize>, [">= 1.0"])
|
52
52
|
s.add_development_dependency(%q<rspec>, ["~> 1.3"])
|
53
53
|
s.add_development_dependency(%q<jeweler>, ["~> 1.4"])
|
54
|
+
s.add_development_dependency(%q<dm-migrations>, [">= 1.0"])
|
54
55
|
else
|
55
|
-
s.add_dependency(%q<dm-core>, [">= 0
|
56
|
-
s.add_dependency(%q<sanitize>, [">= 1.0
|
56
|
+
s.add_dependency(%q<dm-core>, [">= 1.0"])
|
57
|
+
s.add_dependency(%q<sanitize>, [">= 1.0"])
|
57
58
|
s.add_dependency(%q<rspec>, ["~> 1.3"])
|
58
59
|
s.add_dependency(%q<jeweler>, ["~> 1.4"])
|
60
|
+
s.add_dependency(%q<dm-migrations>, [">= 1.0"])
|
59
61
|
end
|
60
62
|
else
|
61
|
-
s.add_dependency(%q<dm-core>, [">= 0
|
62
|
-
s.add_dependency(%q<sanitize>, [">= 1.0
|
63
|
+
s.add_dependency(%q<dm-core>, [">= 1.0"])
|
64
|
+
s.add_dependency(%q<sanitize>, [">= 1.0"])
|
63
65
|
s.add_dependency(%q<rspec>, ["~> 1.3"])
|
64
66
|
s.add_dependency(%q<jeweler>, ["~> 1.4"])
|
67
|
+
s.add_dependency(%q<dm-migrations>, [">= 1.0"])
|
65
68
|
end
|
66
69
|
end
|
67
70
|
|
data/lib/dm-sanitizer.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
|
3
|
-
gem 'dm-core', '>= 0
|
3
|
+
gem 'dm-core', '>= 1.0'
|
4
4
|
require 'dm-core'
|
5
5
|
|
6
6
|
gem 'sanitize', '>= 1.0.0'
|
@@ -17,7 +17,8 @@ module DataMapper
|
|
17
17
|
:relaxed => Sanitize::Config::RELAXED
|
18
18
|
},
|
19
19
|
:default_mode => :default,
|
20
|
-
:with_dirty => false
|
20
|
+
:with_dirty => false,
|
21
|
+
:property_types => [DataMapper::Property::String, DataMapper::Property::Text]
|
21
22
|
}
|
22
23
|
end
|
23
24
|
module_function :default_options
|
@@ -38,11 +39,10 @@ module DataMapper
|
|
38
39
|
end
|
39
40
|
RUBY
|
40
41
|
|
42
|
+
before :save, :sanitize! unless self.sanitization_options
|
41
43
|
self.sanitization_options = DataMapper::Sanitizer.default_options.merge(options)
|
42
44
|
remap_sanitization_modes!
|
43
45
|
check_sanitization_modes
|
44
|
-
|
45
|
-
before :save, :sanitize! unless hooks_with_scope(:instance)[:update_hook][:before].include?({:name => :sanitize!, :from => self})
|
46
46
|
end
|
47
47
|
|
48
48
|
def disable_sanitization
|
@@ -79,7 +79,7 @@ module DataMapper
|
|
79
79
|
self.class.properties.each do |property|
|
80
80
|
property_name = property.name.to_sym
|
81
81
|
|
82
|
-
next unless
|
82
|
+
next unless options[:property_types].include?(property.class)
|
83
83
|
next if !new? && !options[:with_dirty] && !attribute_dirty?(property.name.to_sym)
|
84
84
|
next if options[:exclude] && options[:exclude].include?(property_name)
|
85
85
|
|
@@ -106,4 +106,4 @@ module DataMapper
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
-
DataMapper::Model.append_inclusions DataMapper::Sanitizer
|
109
|
+
DataMapper::Model.append_inclusions DataMapper::Sanitizer
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-sanitizer
|
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
|
- Sergei Zimakov
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-06 00:00:00 +04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +26,11 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 15
|
30
30
|
segments:
|
31
|
-
- 0
|
32
|
-
- 10
|
33
31
|
- 1
|
34
|
-
|
32
|
+
- 0
|
33
|
+
version: "1.0"
|
35
34
|
type: :runtime
|
36
35
|
version_requirements: *id001
|
37
36
|
- !ruby/object:Gem::Dependency
|
@@ -42,12 +41,11 @@ dependencies:
|
|
42
41
|
requirements:
|
43
42
|
- - ">="
|
44
43
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
44
|
+
hash: 15
|
46
45
|
segments:
|
47
46
|
- 1
|
48
47
|
- 0
|
49
|
-
|
50
|
-
version: 1.0.0
|
48
|
+
version: "1.0"
|
51
49
|
type: :runtime
|
52
50
|
version_requirements: *id002
|
53
51
|
- !ruby/object:Gem::Dependency
|
@@ -80,6 +78,21 @@ dependencies:
|
|
80
78
|
version: "1.4"
|
81
79
|
type: :development
|
82
80
|
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: dm-migrations
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 15
|
90
|
+
segments:
|
91
|
+
- 1
|
92
|
+
- 0
|
93
|
+
version: "1.0"
|
94
|
+
type: :development
|
95
|
+
version_requirements: *id005
|
83
96
|
description: DataMapper plugin for automated/configurable user input sanitization.
|
84
97
|
email: zimakov@gmail.com
|
85
98
|
executables: []
|