hobo_fields 2.1.0 → 2.1.1
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.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/lib/hobo_fields/model/index_spec.rb +8 -3
- data/lib/hobo_fields/model.rb +0 -1
- metadata +24 -34
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dd86ea58f333b2b604f564c34fbd1fa881de752a
|
4
|
+
data.tar.gz: 362708497d9bb86e9180d2aa54fcf54cfd1b1bab
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4902e3628e1c82294c3c5039cc66b686d5f9e993509dbb624808a311e7a9e80e58a183509ef5e74b883bce26cde777730a7c9b235f9c3061937109996d1b0cf4
|
7
|
+
data.tar.gz: befa22f838ac4ece879a18b2693d5e56fde46d18b8e70b29fbd2b281692bedd0ffc00fc6c85648c03d34678cb7d0a27990b4c9612f41a1e3eeaebba1dbde6bd0
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.1
|
@@ -9,15 +9,19 @@ module HoboFields
|
|
9
9
|
self.fields = Array.wrap(fields).*.to_s
|
10
10
|
self.name = options.delete(:name) || model.connection.index_name(self.table, :column => self.fields)
|
11
11
|
self.unique = options.delete(:unique) || false
|
12
|
+
if options[:where]
|
13
|
+
self.where = "#{options.delete(:where)}"
|
14
|
+
self.where = "(#{self.where})" unless self.where.start_with?('(')
|
15
|
+
end
|
12
16
|
end
|
13
17
|
|
14
|
-
attr_accessor :table, :fields, :name, :unique
|
18
|
+
attr_accessor :table, :fields, :name, :unique, :where
|
15
19
|
|
16
20
|
# extract IndexSpecs from an existing table
|
17
21
|
def self.for_model(model, old_table_name=nil)
|
18
22
|
t = old_table_name || model.table_name
|
19
23
|
model.connection.indexes(t).map do |i|
|
20
|
-
self.new(model, i.columns, :name => i.name, :unique => i.unique, :table_name => old_table_name) unless model.ignore_indexes.include?(i.name)
|
24
|
+
self.new(model, i.columns, :name => i.name, :unique => i.unique, :where => i.where, :table_name => old_table_name) unless model.ignore_indexes.include?(i.name)
|
21
25
|
end.compact
|
22
26
|
end
|
23
27
|
|
@@ -28,6 +32,7 @@ module HoboFields
|
|
28
32
|
def to_add_statement(new_table_name)
|
29
33
|
r = "add_index :#{new_table_name}, #{fields.*.to_sym.inspect}"
|
30
34
|
r += ", :unique => true" if unique
|
35
|
+
r += ", :where => '#{self.where}'" if self.where.present?
|
31
36
|
if default_name?
|
32
37
|
check_name = @model.connection.index_name(self.table, :column => self.fields)
|
33
38
|
else
|
@@ -43,7 +48,7 @@ module HoboFields
|
|
43
48
|
end
|
44
49
|
|
45
50
|
def hash
|
46
|
-
[table, fields, name, unique].hash
|
51
|
+
[table, fields, name, unique, where].hash
|
47
52
|
end
|
48
53
|
|
49
54
|
def ==(v)
|
data/lib/hobo_fields/model.rb
CHANGED
metadata
CHANGED
@@ -1,78 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobo_fields
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tom Locke
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-07-17 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
type: :runtime
|
16
14
|
name: hobo_support
|
17
|
-
prerelease: false
|
18
15
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
16
|
requirements:
|
21
17
|
- - '='
|
22
18
|
- !ruby/object:Gem::Version
|
23
|
-
version: 2.1.
|
19
|
+
version: 2.1.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - '='
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.1.
|
26
|
+
version: 2.1.1
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
type: :development
|
32
28
|
name: rubydoctest
|
33
|
-
prerelease: false
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
30
|
requirements:
|
37
|
-
- -
|
31
|
+
- - ">="
|
38
32
|
- !ruby/object:Gem::Version
|
39
33
|
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
type: :development
|
48
42
|
name: RedCloth
|
49
|
-
prerelease: false
|
50
43
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
44
|
requirements:
|
53
|
-
- -
|
45
|
+
- - ">="
|
54
46
|
- !ruby/object:Gem::Version
|
55
47
|
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
|
-
type: :development
|
64
56
|
name: kramdown
|
65
|
-
prerelease: false
|
66
57
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
58
|
requirements:
|
69
|
-
- -
|
59
|
+
- - ">="
|
70
60
|
- !ruby/object:Gem::Version
|
71
61
|
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description: Rich field types and migration generator for Rails
|
@@ -128,28 +119,27 @@ files:
|
|
128
119
|
- test_responses.txt
|
129
120
|
homepage: http://hobocentral.net
|
130
121
|
licenses: []
|
122
|
+
metadata: {}
|
131
123
|
post_install_message:
|
132
124
|
rdoc_options:
|
133
|
-
- --charset=UTF-8
|
125
|
+
- "--charset=UTF-8"
|
134
126
|
require_paths:
|
135
127
|
- lib
|
136
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
129
|
requirements:
|
139
|
-
- -
|
130
|
+
- - ">="
|
140
131
|
- !ruby/object:Gem::Version
|
141
132
|
version: '0'
|
142
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
|
-
none: false
|
144
134
|
requirements:
|
145
|
-
- -
|
135
|
+
- - ">="
|
146
136
|
- !ruby/object:Gem::Version
|
147
137
|
version: 1.3.6
|
148
138
|
requirements: []
|
149
139
|
rubyforge_project: hobo
|
150
|
-
rubygems_version:
|
140
|
+
rubygems_version: 2.2.2
|
151
141
|
signing_key:
|
152
|
-
specification_version:
|
142
|
+
specification_version: 4
|
153
143
|
summary: Rich field types and migration generator for Rails
|
154
144
|
test_files: []
|
155
145
|
has_rdoc:
|