attribute-filters 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/ChangeLog +36 -0
- data/Gemfile +19 -0
- data/Gemfile.lock +82 -0
- data/README.rdoc +104 -5
- data/Rakefile +0 -4
- data/attribute-filters.gemspec +4 -4
- data/docs/TODO +3 -1
- data/lib/attribute-filters/version.rb +2 -2
- metadata +108 -93
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,3 +1,39 @@
|
|
1
|
+
commit 2b72084f1eef2a7b8dfa632a2fd918eae203f106
|
2
|
+
Author: Paweł Wilk <siefca@gnu.org>
|
3
|
+
Date: Thu Jun 28 11:53:58 2012 +0200
|
4
|
+
|
5
|
+
Ready to release gem
|
6
|
+
|
7
|
+
commit 824ee4189fe9fb5c66c6aebd99aba4a661829260
|
8
|
+
Author: Paweł Wilk <siefca@gnu.org>
|
9
|
+
Date: Thu Jun 28 11:50:22 2012 +0200
|
10
|
+
|
11
|
+
Doco update
|
12
|
+
|
13
|
+
commit 56a9df2c396d406c167d757b157e9d13700d3645
|
14
|
+
Author: Paweł Wilk <siefca@gnu.org>
|
15
|
+
Date: Thu Jun 28 11:39:06 2012 +0200
|
16
|
+
|
17
|
+
Release 1.0.1
|
18
|
+
|
19
|
+
commit 859b490a8ab34720e4395bec6f2f72cb5fab335f
|
20
|
+
Author: Paweł Wilk <siefca@gnu.org>
|
21
|
+
Date: Thu Jun 28 11:38:02 2012 +0200
|
22
|
+
|
23
|
+
Removed syck parser setting from Rakefile
|
24
|
+
|
25
|
+
commit b83271b8317b435db46b4f6622ecd6a796a451cc
|
26
|
+
Author: Paweł Wilk <siefca@gnu.org>
|
27
|
+
Date: Thu Jun 28 11:37:23 2012 +0200
|
28
|
+
|
29
|
+
Documentation updated
|
30
|
+
|
31
|
+
commit 1066e01a859c686c29966ebfe1c5d1b78038ba2d
|
32
|
+
Author: Paweł Wilk <siefca@gnu.org>
|
33
|
+
Date: Thu Jun 28 11:37:06 2012 +0200
|
34
|
+
|
35
|
+
ChangeLog and Manifest.txt updated
|
36
|
+
|
1
37
|
commit 4b39fb3796755869d6ea0321b7d9d55d62d91580
|
2
38
|
Author: Paweł Wilk <siefca@gnu.org>
|
3
39
|
Date: Thu Jun 28 02:00:46 2012 +0200
|
data/Gemfile
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
|
4
|
+
|
5
|
+
source :gemcutter
|
6
|
+
|
7
|
+
gem "railties", "~>3.0"
|
8
|
+
gem "activemodel", "~>3.0"
|
9
|
+
|
10
|
+
gem "hoe-yard", ">=0.1.2", :group => [:development, :test]
|
11
|
+
gem "rspec", ">=2.6.0", :group => [:development, :test]
|
12
|
+
gem "yard", ">=0.7.2", :group => [:development, :test]
|
13
|
+
gem "rdoc", ">=3.8.0", :group => [:development, :test]
|
14
|
+
gem "bundler", ">=1.0.10", :group => [:development, :test]
|
15
|
+
gem "hoe-bundler", ">=1.1.0", :group => [:development, :test]
|
16
|
+
gem "hoe-gemspec", ">=1.0.0", :group => [:development, :test]
|
17
|
+
gem "hoe", "~>2.16", :group => [:development, :test]
|
18
|
+
|
19
|
+
# vim: syntax=ruby
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
actionpack (3.2.6)
|
5
|
+
activemodel (= 3.2.6)
|
6
|
+
activesupport (= 3.2.6)
|
7
|
+
builder (~> 3.0.0)
|
8
|
+
erubis (~> 2.7.0)
|
9
|
+
journey (~> 1.0.1)
|
10
|
+
rack (~> 1.4.0)
|
11
|
+
rack-cache (~> 1.2)
|
12
|
+
rack-test (~> 0.6.1)
|
13
|
+
sprockets (~> 2.1.3)
|
14
|
+
activemodel (3.2.6)
|
15
|
+
activesupport (= 3.2.6)
|
16
|
+
builder (~> 3.0.0)
|
17
|
+
activesupport (3.2.6)
|
18
|
+
i18n (~> 0.6)
|
19
|
+
multi_json (~> 1.0)
|
20
|
+
builder (3.0.0)
|
21
|
+
diff-lcs (1.1.3)
|
22
|
+
erubis (2.7.0)
|
23
|
+
hike (1.2.1)
|
24
|
+
hoe (2.16.1)
|
25
|
+
rake (~> 0.8)
|
26
|
+
hoe-bundler (1.1.0)
|
27
|
+
hoe (>= 2.2.0)
|
28
|
+
hoe-gemspec (1.0.0)
|
29
|
+
hoe (>= 2.2.0)
|
30
|
+
hoe-yard (0.1.2)
|
31
|
+
yard (>= 0.2.3.1)
|
32
|
+
i18n (0.6.0)
|
33
|
+
journey (1.0.4)
|
34
|
+
json (1.7.3)
|
35
|
+
multi_json (1.3.6)
|
36
|
+
rack (1.4.1)
|
37
|
+
rack-cache (1.2)
|
38
|
+
rack (>= 0.4)
|
39
|
+
rack-ssl (1.3.2)
|
40
|
+
rack
|
41
|
+
rack-test (0.6.1)
|
42
|
+
rack (>= 1.0)
|
43
|
+
railties (3.2.6)
|
44
|
+
actionpack (= 3.2.6)
|
45
|
+
activesupport (= 3.2.6)
|
46
|
+
rack-ssl (~> 1.3.2)
|
47
|
+
rake (>= 0.8.7)
|
48
|
+
rdoc (~> 3.4)
|
49
|
+
thor (>= 0.14.6, < 2.0)
|
50
|
+
rake (0.9.2.2)
|
51
|
+
rdoc (3.12)
|
52
|
+
json (~> 1.4)
|
53
|
+
rspec (2.10.0)
|
54
|
+
rspec-core (~> 2.10.0)
|
55
|
+
rspec-expectations (~> 2.10.0)
|
56
|
+
rspec-mocks (~> 2.10.0)
|
57
|
+
rspec-core (2.10.1)
|
58
|
+
rspec-expectations (2.10.0)
|
59
|
+
diff-lcs (~> 1.1.3)
|
60
|
+
rspec-mocks (2.10.1)
|
61
|
+
sprockets (2.1.3)
|
62
|
+
hike (~> 1.2)
|
63
|
+
rack (~> 1.0)
|
64
|
+
tilt (~> 1.1, != 1.3.0)
|
65
|
+
thor (0.15.3)
|
66
|
+
tilt (1.3.3)
|
67
|
+
yard (0.8.2.1)
|
68
|
+
|
69
|
+
PLATFORMS
|
70
|
+
ruby
|
71
|
+
|
72
|
+
DEPENDENCIES
|
73
|
+
activemodel (~> 3.0)
|
74
|
+
bundler (>= 1.0.10)
|
75
|
+
hoe (~> 2.16)
|
76
|
+
hoe-bundler (>= 1.1.0)
|
77
|
+
hoe-gemspec (>= 1.0.0)
|
78
|
+
hoe-yard (>= 0.1.2)
|
79
|
+
railties (~> 3.0)
|
80
|
+
rdoc (>= 3.8.0)
|
81
|
+
rspec (>= 2.6.0)
|
82
|
+
yard (>= 0.7.2)
|
data/README.rdoc
CHANGED
@@ -15,19 +15,117 @@ Attribute Filters adds couple of DSL keywords and some syntactic sugar
|
|
15
15
|
to Rails thereby allowing you to express filtering and groupping
|
16
16
|
model attributes in a concise and clean way.
|
17
17
|
|
18
|
-
==
|
18
|
+
== When?
|
19
|
+
|
20
|
+
If your Rails application often filters the attributes that has changed
|
21
|
+
recently and uses callbacks to achieve that, then you may consider
|
22
|
+
refining that process and write methods for handling common operations
|
23
|
+
not certain attributes. See what I mean below.
|
19
24
|
|
20
25
|
=== Before
|
21
26
|
|
27
|
+
class User < ActiveRecord::Base
|
28
|
+
|
29
|
+
before_validation :strip_and_downcase_username
|
30
|
+
before_validation :strip_and_downcase_email
|
31
|
+
before_validation :strip_and_capitalize_real_name
|
32
|
+
|
33
|
+
def strip_and_downcase_username
|
34
|
+
if username.present?
|
35
|
+
self.username = self.username.strip.mb_chars.downcase.to_s
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def strip_and_downcase_email
|
40
|
+
if email.present?
|
41
|
+
self.email.strip!
|
42
|
+
self.email.downcase!
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def strip_and_capitalize_real_name
|
47
|
+
if real_name.present?
|
48
|
+
self.real_name = self.real_name.strip.mb_chars.split(' ').
|
49
|
+
map { |n| n.capitalize }.join(' ')
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
(The more attributes there is the more messy it becomes and the filtering code is not reusable.)
|
22
56
|
|
23
57
|
=== After
|
24
58
|
|
59
|
+
class User < ActiveRecord::Base
|
60
|
+
|
61
|
+
attributes_that :should_be_downcased => [ :username, :email ]
|
62
|
+
attributes_that :should_be_stripped => [ :username, :email, :real_name ]
|
63
|
+
attributes_that :should_be_capitalized => [ :username, :email ]
|
64
|
+
|
65
|
+
before_validation :strip_names
|
66
|
+
before_validation :downcase_names
|
67
|
+
before_validation :capitalize_names
|
68
|
+
|
69
|
+
def downcase_names
|
70
|
+
filter_attributes_that(:should_be_downcased) do |atr|
|
71
|
+
atr.mb_chars.downcase.to_s
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def capitalize_names
|
76
|
+
filter_attributes_that(:should_be_capitalized) do |atr|
|
77
|
+
atr.mb_chars.split(' ').map { |n| n.capitalize }.join(' ')
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def strip_names
|
82
|
+
for_attributes_that(:should_be_stripped) { |atr| atr.strip! }
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
(Names of new attributes that have to be altered in the same way can just be added to sets
|
88
|
+
and you can use the same altering methods across all models if you wish to.)
|
89
|
+
|
90
|
+
== Usage
|
91
|
+
|
92
|
+
You can use it to do attribute filtering as presented above but you can also
|
93
|
+
try using ActiveModel::AttributeSet directly, which helps to express some logic.
|
94
|
+
For example:
|
95
|
+
|
96
|
+
class User < ActiveRecord::Base
|
97
|
+
|
98
|
+
attributes_that_are :required_to_trade => [ :username, :home_address, :bank_account ]
|
99
|
+
|
100
|
+
def can_trade?
|
101
|
+
are_attributes(:required_to_trade).all.present?
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
* See {USAGE}[http://rubydoc.info/gems/attribute-filters/file/docs/USAGE] for more examples and detailed information about the usage.
|
107
|
+
* See {whole documentation}[http://rubydoc.info/gems/attribute-filters/] to browse all documents.
|
25
108
|
|
109
|
+
== How it works?
|
26
110
|
|
27
|
-
|
111
|
+
It creates a new Active Model module called ActiveModel::AttributeFilters. That module
|
112
|
+
contains the needed DSL that goes into your models. It also creates ActiveModel::AttributeSet
|
113
|
+
class which is just a new kind of set, a structure for storing sets of attribute names.
|
28
114
|
|
29
|
-
|
30
|
-
|
115
|
+
Then it forces Rails to include the AttributeFilters in any model that
|
116
|
+
at any time will include ActiveModel::AttributeMethods. The last one is included
|
117
|
+
quite often; e.g. ActiveRecord and other popular ORM-s use it. (I'm calling it
|
118
|
+
"the accompanying module".)
|
119
|
+
|
120
|
+
That's why you can make use of attribute filters without explicitly including
|
121
|
+
the module, as long as your application relies on any popular ORM.
|
122
|
+
|
123
|
+
If something will go wrong however or your application is somehow unusual, you can always
|
124
|
+
include the AttributeFilters module manually in any of your models:
|
125
|
+
|
126
|
+
class ExampleModel
|
127
|
+
include ActiveModel::AttributeFilters
|
128
|
+
end
|
31
129
|
|
32
130
|
== Requirements
|
33
131
|
|
@@ -69,8 +167,9 @@ You can run RSpec examples both with
|
|
69
167
|
|
70
168
|
== Credits
|
71
169
|
|
72
|
-
{iConsulting}[http://www.iconsulting.pl/] supports Free Software and has
|
170
|
+
* {iConsulting}[http://www.iconsulting.pl/] supports Free Software and has
|
73
171
|
contributed to this library by paying for me to eat when I've been coding.
|
172
|
+
* MrZYX (Jonne Haß) contributed by giving me some hints and answering basic questions on IRC – THX!
|
74
173
|
|
75
174
|
== License
|
76
175
|
|
data/Rakefile
CHANGED
data/attribute-filters.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "attribute-filters"
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.1.20120628115122"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Pawe\u{142} Wilk"]
|
9
9
|
s.cert_chain = ["/Users/siefca/.gem/gem-public_cert.pem"]
|
10
|
-
s.date = "2012-06-
|
11
|
-
s.description = "
|
10
|
+
s.date = "2012-06-28"
|
11
|
+
s.description = "Concise way of filtering model attributes in Rails."
|
12
12
|
s.email = ["pw@gnu.org"]
|
13
13
|
s.extra_rdoc_files = ["Manifest.txt", "README.rdoc"]
|
14
|
-
s.files = [".rspec", ".yardopts", "ChangeLog", "LGPL-LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "attribute-filters.gemspec", "docs/COPYING", "docs/HISTORY", "docs/LEGAL", "docs/LGPL-LICENSE", "docs/TODO", "docs/rdoc.css", "init.rb", "lib/attribute-filters.rb", "lib/attribute-filters/attribute_set.rb", "lib/attribute-filters/attribute_set_query.rb", "lib/attribute-filters/common_filters.rb", "lib/attribute-filters/dsl_filters.rb", "lib/attribute-filters/dsl_sets.rb", "lib/attribute-filters/railtie.rb", "lib/attribute-filters/version.rb", "spec/attribute-filters_spec.rb", "spec/spec_helper.rb", ".gemtest"]
|
14
|
+
s.files = [".rspec", ".yardopts", "ChangeLog", "Gemfile", "Gemfile.lock", "LGPL-LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "attribute-filters.gemspec", "docs/COPYING", "docs/HISTORY", "docs/LEGAL", "docs/LGPL-LICENSE", "docs/TODO", "docs/rdoc.css", "init.rb", "lib/attribute-filters.rb", "lib/attribute-filters/attribute_set.rb", "lib/attribute-filters/attribute_set_query.rb", "lib/attribute-filters/common_filters.rb", "lib/attribute-filters/dsl_filters.rb", "lib/attribute-filters/dsl_sets.rb", "lib/attribute-filters/railtie.rb", "lib/attribute-filters/version.rb", "spec/attribute-filters_spec.rb", "spec/spec_helper.rb", ".gemtest"]
|
15
15
|
s.homepage = "https://rubygems.org/gems/attribute-filters/"
|
16
16
|
s.rdoc_options = ["--title", "Attribute::Filters Documentation", "--quiet"]
|
17
17
|
s.require_paths = ["lib"]
|
data/docs/TODO
CHANGED
@@ -12,7 +12,7 @@ module AttributeFilters
|
|
12
12
|
# @private
|
13
13
|
EMAIL = 'pw@gnu.org'
|
14
14
|
# @private
|
15
|
-
VERSION = '1.0.
|
15
|
+
VERSION = '1.0.1'
|
16
16
|
# @private
|
17
17
|
NAME = 'attribute-filters'
|
18
18
|
# @private
|
@@ -20,5 +20,5 @@ module AttributeFilters
|
|
20
20
|
# @private
|
21
21
|
URL = 'https://rubygems.org/gems/attribute-filters/'
|
22
22
|
# @private
|
23
|
-
DESCRIPTION = '
|
23
|
+
DESCRIPTION = 'Concise way of filtering model attributes in Rails.'
|
24
24
|
end
|
metadata
CHANGED
@@ -1,161 +1,179 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: attribute-filters
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
-
|
7
|
+
authors:
|
8
|
+
- Paweł Wilk
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
|
11
|
+
cert_chain:
|
12
|
+
- ! '-----BEGIN CERTIFICATE-----
|
13
|
+
|
14
14
|
MIIDKjCCAhKgAwIBAgIBADANBgkqhkiG9w0BAQUFADA7MQ8wDQYDVQQDDAZzaWVm
|
15
|
+
|
15
16
|
Y2ExEzARBgoJkiaJk/IsZAEZFgNnbnUxEzARBgoJkiaJk/IsZAEZFgNvcmcwHhcN
|
17
|
+
|
16
18
|
MDkwNjA2MDkwODA5WhcNMTAwNjA2MDkwODA5WjA7MQ8wDQYDVQQDDAZzaWVmY2Ex
|
19
|
+
|
17
20
|
EzARBgoJkiaJk/IsZAEZFgNnbnUxEzARBgoJkiaJk/IsZAEZFgNvcmcwggEiMA0G
|
21
|
+
|
18
22
|
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdk4+9ieSx2I2OPslPcj/LjajwtsrH
|
23
|
+
|
19
24
|
mev6Fs3xK9hdDIbbLuQM9AypBS7NeKP/2YToEOGxsvzcpFzL2Ah71cP6Yfn+Z2Yo
|
25
|
+
|
20
26
|
zvqpAx5/nl79PrJKvjlkdzVNOFBp/EOkLK67QK4Pv97ABnG2PkF4FokqOjuNHLM7
|
27
|
+
|
21
28
|
47OkJPvFyfHyMBDZN7EFljBBNm3IuQRTiO48e5Jcp3L761PWOvCpnV8wiga0Wwt3
|
29
|
+
|
22
30
|
98Gmy7c1nWzfbQc1wHwKLPICY/aidKU20KymSHG63BSW5pO2cXZecIeYjw5YNjGA
|
31
|
+
|
23
32
|
M1RZMiwT7QJ9W86VVP+8EqbJKJOS95xlmQTHjPK56yXv8GiuyLQHpPh5AgMBAAGj
|
33
|
+
|
24
34
|
OTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFKOKspZONq4bt5D2DEexB+vsMB2GMAsG
|
35
|
+
|
25
36
|
A1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEAUh0LnB4o5XKpH3yOxavEyp9X
|
37
|
+
|
26
38
|
Nen2e854wsSjAr0waSVzEt3XxY1voyIE6WCGxZJU//40CR0Be7j5CcsJsDU2CZyZ
|
39
|
+
|
27
40
|
8SXN1/mZjMqWvYyEMSfQP4XzkFSOuyDcoDAf43OGhOhdv5Jcs/Et/FH6DgWYwRxq
|
41
|
+
|
28
42
|
RtATRWON5R99ugPeRb7i1nIpnzGEBA9V32r6r959Bp3XjkVEXylbItYMqSARaZlY
|
43
|
+
|
29
44
|
qzKSsIUjh7vDyTNqta0DjSgCk26dhnOwc0hmzhvVZtBwfZritSVhfCLp5uFwqCqY
|
45
|
+
|
30
46
|
NK3TIZaPCh1S2/ES6wXNvjQ+5EnEEL9j/pSEop9DYEBPaM2WDVR5i0jJTAaRWw==
|
47
|
+
|
31
48
|
-----END CERTIFICATE-----
|
32
49
|
|
33
|
-
|
34
|
-
|
35
|
-
|
50
|
+
'
|
51
|
+
date: 2012-06-28 00:00:00.000000000 Z
|
52
|
+
dependencies:
|
53
|
+
- !ruby/object:Gem::Dependency
|
36
54
|
name: railties
|
37
|
-
requirement: &
|
55
|
+
requirement: &2157259360 !ruby/object:Gem::Requirement
|
38
56
|
none: false
|
39
|
-
requirements:
|
57
|
+
requirements:
|
40
58
|
- - ~>
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version:
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.0'
|
43
61
|
type: :runtime
|
44
62
|
prerelease: false
|
45
|
-
version_requirements: *
|
46
|
-
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: *2157259360
|
64
|
+
- !ruby/object:Gem::Dependency
|
47
65
|
name: activemodel
|
48
|
-
requirement: &
|
66
|
+
requirement: &2157258880 !ruby/object:Gem::Requirement
|
49
67
|
none: false
|
50
|
-
requirements:
|
68
|
+
requirements:
|
51
69
|
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version:
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '3.0'
|
54
72
|
type: :runtime
|
55
73
|
prerelease: false
|
56
|
-
version_requirements: *
|
57
|
-
- !ruby/object:Gem::Dependency
|
74
|
+
version_requirements: *2157258880
|
75
|
+
- !ruby/object:Gem::Dependency
|
58
76
|
name: hoe-yard
|
59
|
-
requirement: &
|
77
|
+
requirement: &2157258440 !ruby/object:Gem::Requirement
|
60
78
|
none: false
|
61
|
-
requirements:
|
62
|
-
- -
|
63
|
-
- !ruby/object:Gem::Version
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
64
82
|
version: 0.1.2
|
65
83
|
type: :development
|
66
84
|
prerelease: false
|
67
|
-
version_requirements: *
|
68
|
-
- !ruby/object:Gem::Dependency
|
85
|
+
version_requirements: *2157258440
|
86
|
+
- !ruby/object:Gem::Dependency
|
69
87
|
name: rspec
|
70
|
-
requirement: &
|
88
|
+
requirement: &2157257920 !ruby/object:Gem::Requirement
|
71
89
|
none: false
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
75
93
|
version: 2.6.0
|
76
94
|
type: :development
|
77
95
|
prerelease: false
|
78
|
-
version_requirements: *
|
79
|
-
- !ruby/object:Gem::Dependency
|
96
|
+
version_requirements: *2157257920
|
97
|
+
- !ruby/object:Gem::Dependency
|
80
98
|
name: yard
|
81
|
-
requirement: &
|
99
|
+
requirement: &2157257420 !ruby/object:Gem::Requirement
|
82
100
|
none: false
|
83
|
-
requirements:
|
84
|
-
- -
|
85
|
-
- !ruby/object:Gem::Version
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
86
104
|
version: 0.7.2
|
87
105
|
type: :development
|
88
106
|
prerelease: false
|
89
|
-
version_requirements: *
|
90
|
-
- !ruby/object:Gem::Dependency
|
107
|
+
version_requirements: *2157257420
|
108
|
+
- !ruby/object:Gem::Dependency
|
91
109
|
name: rdoc
|
92
|
-
requirement: &
|
110
|
+
requirement: &2157256960 !ruby/object:Gem::Requirement
|
93
111
|
none: false
|
94
|
-
requirements:
|
95
|
-
- -
|
96
|
-
- !ruby/object:Gem::Version
|
112
|
+
requirements:
|
113
|
+
- - ! '>='
|
114
|
+
- !ruby/object:Gem::Version
|
97
115
|
version: 3.8.0
|
98
116
|
type: :development
|
99
117
|
prerelease: false
|
100
|
-
version_requirements: *
|
101
|
-
- !ruby/object:Gem::Dependency
|
118
|
+
version_requirements: *2157256960
|
119
|
+
- !ruby/object:Gem::Dependency
|
102
120
|
name: bundler
|
103
|
-
requirement: &
|
121
|
+
requirement: &2157256520 !ruby/object:Gem::Requirement
|
104
122
|
none: false
|
105
|
-
requirements:
|
106
|
-
- -
|
107
|
-
- !ruby/object:Gem::Version
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
108
126
|
version: 1.0.10
|
109
127
|
type: :development
|
110
128
|
prerelease: false
|
111
|
-
version_requirements: *
|
112
|
-
- !ruby/object:Gem::Dependency
|
129
|
+
version_requirements: *2157256520
|
130
|
+
- !ruby/object:Gem::Dependency
|
113
131
|
name: hoe-bundler
|
114
|
-
requirement: &
|
132
|
+
requirement: &2157256060 !ruby/object:Gem::Requirement
|
115
133
|
none: false
|
116
|
-
requirements:
|
117
|
-
- -
|
118
|
-
- !ruby/object:Gem::Version
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
119
137
|
version: 1.1.0
|
120
138
|
type: :development
|
121
139
|
prerelease: false
|
122
|
-
version_requirements: *
|
123
|
-
- !ruby/object:Gem::Dependency
|
140
|
+
version_requirements: *2157256060
|
141
|
+
- !ruby/object:Gem::Dependency
|
124
142
|
name: hoe-gemspec
|
125
|
-
requirement: &
|
143
|
+
requirement: &2157255620 !ruby/object:Gem::Requirement
|
126
144
|
none: false
|
127
|
-
requirements:
|
128
|
-
- -
|
129
|
-
- !ruby/object:Gem::Version
|
145
|
+
requirements:
|
146
|
+
- - ! '>='
|
147
|
+
- !ruby/object:Gem::Version
|
130
148
|
version: 1.0.0
|
131
149
|
type: :development
|
132
150
|
prerelease: false
|
133
|
-
version_requirements: *
|
134
|
-
- !ruby/object:Gem::Dependency
|
151
|
+
version_requirements: *2157255620
|
152
|
+
- !ruby/object:Gem::Dependency
|
135
153
|
name: hoe
|
136
|
-
requirement: &
|
154
|
+
requirement: &2157255160 !ruby/object:Gem::Requirement
|
137
155
|
none: false
|
138
|
-
requirements:
|
156
|
+
requirements:
|
139
157
|
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version:
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '2.16'
|
142
160
|
type: :development
|
143
161
|
prerelease: false
|
144
|
-
version_requirements: *
|
145
|
-
description:
|
146
|
-
email:
|
162
|
+
version_requirements: *2157255160
|
163
|
+
description: Concise way of filtering model attributes in Rails.
|
164
|
+
email:
|
147
165
|
- pw@gnu.org
|
148
166
|
executables: []
|
149
|
-
|
150
167
|
extensions: []
|
151
|
-
|
152
|
-
extra_rdoc_files:
|
168
|
+
extra_rdoc_files:
|
153
169
|
- Manifest.txt
|
154
170
|
- README.rdoc
|
155
|
-
files:
|
171
|
+
files:
|
156
172
|
- .rspec
|
157
173
|
- .yardopts
|
158
174
|
- ChangeLog
|
175
|
+
- Gemfile
|
176
|
+
- Gemfile.lock
|
159
177
|
- LGPL-LICENSE
|
160
178
|
- Manifest.txt
|
161
179
|
- README.rdoc
|
@@ -181,35 +199,32 @@ files:
|
|
181
199
|
- .gemtest
|
182
200
|
homepage: https://rubygems.org/gems/attribute-filters/
|
183
201
|
licenses: []
|
184
|
-
|
185
202
|
post_install_message:
|
186
|
-
rdoc_options:
|
203
|
+
rdoc_options:
|
187
204
|
- --title
|
188
205
|
- Attribute::Filters Documentation
|
189
206
|
- --quiet
|
190
|
-
require_paths:
|
207
|
+
require_paths:
|
191
208
|
- lib
|
192
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
209
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
210
|
none: false
|
194
|
-
requirements:
|
195
|
-
- -
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
|
198
|
-
segments:
|
211
|
+
requirements:
|
212
|
+
- - ! '>='
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
segments:
|
199
216
|
- 0
|
200
|
-
|
201
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
|
+
hash: 1917410771860677924
|
218
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
219
|
none: false
|
203
|
-
requirements:
|
204
|
-
- -
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version:
|
220
|
+
requirements:
|
221
|
+
- - ! '>='
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0'
|
207
224
|
requirements: []
|
208
|
-
|
209
225
|
rubyforge_project: attribute-filters
|
210
226
|
rubygems_version: 1.8.11
|
211
227
|
signing_key:
|
212
228
|
specification_version: 3
|
213
229
|
summary: Concise way of filtering model attributes in Rails
|
214
230
|
test_files: []
|
215
|
-
|
metadata.gz.sig
CHANGED
Binary file
|