modalfields 1.1.10 → 1.1.11
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/VERSION +1 -1
- data/lib/modalfields.rb +1 -1
- data/lib/modalfields/modalfields.rb +8 -12
- data/modalfields.gemspec +9 -8
- metadata +127 -131
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.11
|
data/lib/modalfields.rb
CHANGED
@@ -18,14 +18,10 @@ module ModalFields
|
|
18
18
|
SPECIFIERS = [:indexed, :unique, :required]
|
19
19
|
COMMON_ATTRIBUTES = {:default=>nil, :null=>true}
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
else
|
26
|
-
class DslBase
|
27
|
-
instance_methods.each { |m| undef_method m unless m =~ /^(__|instance_eval)/ }
|
28
|
-
end
|
21
|
+
# We'll use a somewhat conservative kind of 'blank slate' base for DSLs. that
|
22
|
+
# works on Ruby 1.9 & 1.8
|
23
|
+
class DslBase
|
24
|
+
instance_methods.each { |m| undef_method m unless m =~ /^(__|instance_)/ }
|
29
25
|
end
|
30
26
|
|
31
27
|
class FieldDeclaration < Struct.new(:name, :type, :specifiers, :attributes)
|
@@ -70,14 +66,14 @@ module ModalFields
|
|
70
66
|
|
71
67
|
class DefinitionsDsl < DslBase
|
72
68
|
def field(name, attributes={})
|
73
|
-
|
69
|
+
ModalFields.definitions[name.to_sym] = COMMON_ATTRIBUTES.merge(attributes)
|
74
70
|
end
|
75
71
|
def method_missing(name, *args)
|
76
72
|
field(name, *args)
|
77
73
|
end
|
78
74
|
end
|
79
75
|
|
80
|
-
class HooksDsl
|
76
|
+
class HooksDsl < DslBase
|
81
77
|
def field_type(type, &blk)
|
82
78
|
ModalFields.hooks[type.to_sym] = lambda{|model, column_declaration|
|
83
79
|
blk[model, column_declaration]
|
@@ -92,7 +88,7 @@ module ModalFields
|
|
92
88
|
end
|
93
89
|
end
|
94
90
|
|
95
|
-
class DeclarationsDsl
|
91
|
+
class DeclarationsDsl < DslBase
|
96
92
|
def initialize(model)
|
97
93
|
@model = model.base_class
|
98
94
|
end
|
@@ -290,7 +286,7 @@ module ModalFields
|
|
290
286
|
|
291
287
|
def validate(declaration)
|
292
288
|
definition = definitions[declaration.type.to_sym]
|
293
|
-
raise "Field type #{declaration.type} not defined" unless definition
|
289
|
+
raise "Field type #{declaration.type} not defined (#{declaration.inspect})" unless definition
|
294
290
|
# TODO: validate declaration.specifiers
|
295
291
|
# TODO: validate declaration.attributes with definition
|
296
292
|
true
|
data/modalfields.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.1.
|
7
|
+
s.name = %q{modalfields}
|
8
|
+
s.version = "1.1.11"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Javier Goizueta"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = %q{2012-09-04}
|
13
|
+
s.description = %q{ModelFields is a Rails plugin that adds fields declarations to your models.}
|
14
|
+
s.email = %q{jgoizueta@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.rdoc",
|
@@ -54,13 +54,14 @@ Gem::Specification.new do |s|
|
|
54
54
|
"test/test_diff.rb",
|
55
55
|
"test/test_update.rb"
|
56
56
|
]
|
57
|
-
s.homepage =
|
57
|
+
s.homepage = %q{http://github.com/jgoizueta/modalfields}
|
58
58
|
s.licenses = ["MIT"]
|
59
59
|
s.require_paths = ["lib"]
|
60
|
-
s.rubygems_version =
|
61
|
-
s.summary =
|
60
|
+
s.rubygems_version = %q{1.3.7}
|
61
|
+
s.summary = %q{Model annotator with Ruby (Hobo-like) syntax and hooks.}
|
62
62
|
|
63
63
|
if s.respond_to? :specification_version then
|
64
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
64
65
|
s.specification_version = 3
|
65
66
|
|
66
67
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
metadata
CHANGED
@@ -1,169 +1,159 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: modalfields
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 1
|
8
|
+
- 11
|
9
|
+
version: 1.1.11
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Javier Goizueta
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2012-09-04 00:00:00 +02:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: activesupport
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 2
|
29
|
+
- 3
|
30
|
+
- 5
|
21
31
|
version: 2.3.5
|
22
32
|
type: :runtime
|
23
33
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 2.3.5
|
30
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
31
36
|
name: activerecord
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 2
|
44
|
+
- 3
|
45
|
+
- 5
|
37
46
|
version: 2.3.5
|
38
47
|
type: :runtime
|
39
48
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 2.3.5
|
46
|
-
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
47
51
|
name: shoulda
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
54
60
|
type: :development
|
55
61
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
63
64
|
name: rdoc
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
65
66
|
none: false
|
66
|
-
requirements:
|
67
|
+
requirements:
|
67
68
|
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
segments:
|
71
|
+
- 3
|
72
|
+
- 12
|
73
|
+
version: "3.12"
|
70
74
|
type: :development
|
71
75
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '3.12'
|
78
|
-
- !ruby/object:Gem::Dependency
|
76
|
+
version_requirements: *id004
|
77
|
+
- !ruby/object:Gem::Dependency
|
79
78
|
name: bundler
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
81
80
|
none: false
|
82
|
-
requirements:
|
81
|
+
requirements:
|
83
82
|
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 1
|
86
|
+
version: "1"
|
86
87
|
type: :development
|
87
88
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '1'
|
94
|
-
- !ruby/object:Gem::Dependency
|
89
|
+
version_requirements: *id005
|
90
|
+
- !ruby/object:Gem::Dependency
|
95
91
|
name: jeweler
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
97
93
|
none: false
|
98
|
-
requirements:
|
94
|
+
requirements:
|
99
95
|
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
segments:
|
98
|
+
- 1
|
99
|
+
- 8
|
100
|
+
- 3
|
101
101
|
version: 1.8.3
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
version_requirements:
|
105
|
-
|
106
|
-
requirements:
|
107
|
-
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 1.8.3
|
110
|
-
- !ruby/object:Gem::Dependency
|
104
|
+
version_requirements: *id006
|
105
|
+
- !ruby/object:Gem::Dependency
|
111
106
|
name: sqlite3
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- -
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
107
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
segments:
|
113
|
+
- 0
|
114
|
+
version: "0"
|
118
115
|
type: :development
|
119
116
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
117
|
+
version_requirements: *id007
|
118
|
+
- !ruby/object:Gem::Dependency
|
127
119
|
name: pg
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- -
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
|
120
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
version: "0"
|
134
128
|
type: :development
|
135
129
|
prerelease: false
|
136
|
-
version_requirements:
|
137
|
-
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
142
|
-
- !ruby/object:Gem::Dependency
|
130
|
+
version_requirements: *id008
|
131
|
+
- !ruby/object:Gem::Dependency
|
143
132
|
name: rails
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- -
|
148
|
-
- !ruby/object:Gem::Version
|
133
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
134
|
+
none: false
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
segments:
|
139
|
+
- 2
|
140
|
+
- 3
|
141
|
+
- 0
|
149
142
|
version: 2.3.0
|
150
143
|
type: :runtime
|
151
144
|
prerelease: false
|
152
|
-
version_requirements:
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ! '>='
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 2.3.0
|
145
|
+
version_requirements: *id009
|
158
146
|
description: ModelFields is a Rails plugin that adds fields declarations to your models.
|
159
147
|
email: jgoizueta@gmail.com
|
160
148
|
executables: []
|
149
|
+
|
161
150
|
extensions: []
|
162
|
-
|
151
|
+
|
152
|
+
extra_rdoc_files:
|
163
153
|
- LICENSE.txt
|
164
154
|
- README.rdoc
|
165
155
|
- TODO
|
166
|
-
files:
|
156
|
+
files:
|
167
157
|
- .document
|
168
158
|
- Gemfile
|
169
159
|
- Gemfile.lock
|
@@ -199,32 +189,38 @@ files:
|
|
199
189
|
- test/schema.rb
|
200
190
|
- test/test_diff.rb
|
201
191
|
- test/test_update.rb
|
192
|
+
has_rdoc: true
|
202
193
|
homepage: http://github.com/jgoizueta/modalfields
|
203
|
-
licenses:
|
194
|
+
licenses:
|
204
195
|
- MIT
|
205
196
|
post_install_message:
|
206
197
|
rdoc_options: []
|
207
|
-
|
198
|
+
|
199
|
+
require_paths:
|
208
200
|
- lib
|
209
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
201
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
210
202
|
none: false
|
211
|
-
requirements:
|
212
|
-
- -
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
|
215
|
-
segments:
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
hash: 1020436365
|
207
|
+
segments:
|
216
208
|
- 0
|
217
|
-
|
218
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
|
+
version: "0"
|
210
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
211
|
none: false
|
220
|
-
requirements:
|
221
|
-
- -
|
222
|
-
- !ruby/object:Gem::Version
|
223
|
-
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
segments:
|
216
|
+
- 0
|
217
|
+
version: "0"
|
224
218
|
requirements: []
|
219
|
+
|
225
220
|
rubyforge_project:
|
226
|
-
rubygems_version: 1.
|
221
|
+
rubygems_version: 1.3.7
|
227
222
|
signing_key:
|
228
223
|
specification_version: 3
|
229
224
|
summary: Model annotator with Ruby (Hobo-like) syntax and hooks.
|
230
225
|
test_files: []
|
226
|
+
|