yard-activerecord 0.0.11 → 0.0.12
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 +6 -14
- data/README.md +24 -8
- data/lib/yard-activerecord.rb +3 -0
- data/lib/yard-activerecord/associations/base.rb +6 -6
- data/lib/yard-activerecord/delegations/delegate_handler.rb +4 -5
- data/lib/yard-activerecord/fields/field_handler.rb +13 -9
- data/lib/yard-activerecord/scopes/scope_handler.rb +6 -7
- data/lib/yard-activerecord/validations/validates_handler.rb +110 -0
- data/lib/yard-activerecord/version.rb +1 -1
- data/templates/default/tags/html/validations.erb +15 -0
- data/templates/default/tags/setup.rb +23 -0
- data/templates/default/tags/text/validations.erb +7 -0
- metadata +15 -12
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
OWFjZTE3OTVjN2JiODcxMGQ4NmE1NmEzYTY0MWUyNzNkYmFlM2RhNTI0MWI2
|
10
|
-
OWU3YzUzNDFlOWE4MjhiZDZmZmQ5YzNkZWEwYTljNTU1NDcwN2E5MWE0ZGVm
|
11
|
-
NTVlM2U2YzgzNDAzMGYyNzUyYzliNzMzN2Q2Mjc4Mzc3ZWE2OTc=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YTIzNGM4NGJhNmYzZmI2MTY3Yjc4Y2ZiMDQ3ZTRjYWYzODdlMDE4NWQzMjJj
|
14
|
-
MDlkNjU2MGFiN2FlMWRiNDdjMzlkMjc0OWI2MTM4NThmODM0NWQ0NjIxZDE2
|
15
|
-
OWNlNmVjZTU3NmNlN2MyMTcwMTM4NzUwMWRlZjkxZDI4ZTMyMzY=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7004249aaeef940d9c42dcd0b0b70d1b79132458
|
4
|
+
data.tar.gz: 74166e2dbe0f6a0e1bac5ebf82ea9b314fc0ce07
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ee09ea1271e6f0739b5ed17928d2079c04da45c65a88cfdb48e20b677dc790d1b0caca1265324afc76a5c89a321d756e7ab4180d760720693b4566a37eb59c76
|
7
|
+
data.tar.gz: 486069183cbb3b5b7d175f6659fa3da539e31847537781f2262c2ed036d9360f0f5c3cdb18b45ae2ac21e26e90f44fa4113af12054a5467f3ae5390c11d7b28a
|
data/README.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
# YARD ActiveRecord Plugin
|
1
|
+
# YARD ActiveRecord Plugin
|
2
|
+
|
3
|
+
[](https://rubygems.org/gems/yard-activerecord)
|
4
|
+
[](https://rubygems.org/gems/yard-activerecord)
|
5
|
+
[](https://github.com/theodorton/yard-activerecord/issues)
|
2
6
|
|
3
7
|
A YARD extension that handles and interprets methods used when developing
|
4
8
|
applications with ActiveRecord. The extension handles attributes,
|
@@ -6,7 +10,7 @@ associations, delegates and scopes. A must for any Rails app using YARD as
|
|
6
10
|
documentation plugin.
|
7
11
|
|
8
12
|
|
9
|
-
## Installation
|
13
|
+
## Installation
|
10
14
|
|
11
15
|
Run the following command in order to load YARD plugins:
|
12
16
|
|
@@ -14,7 +18,7 @@ Run the following command in order to load YARD plugins:
|
|
14
18
|
$ yard config load_plugins true
|
15
19
|
```
|
16
20
|
|
17
|
-
## Attributes
|
21
|
+
## Attributes
|
18
22
|
|
19
23
|
In order for this plugin to document any database attributes you need to add
|
20
24
|
`schema.rb` to your list of files. This is preferably done with in `.yardopts`
|
@@ -56,27 +60,39 @@ Example:
|
|
56
60
|
|
57
61
|
The documentation will then be skipped for this table/class.
|
58
62
|
|
59
|
-
## Associations
|
63
|
+
## Associations
|
60
64
|
|
61
65
|
The plugin handles `has_one`, `belongs_to`, `has_many` and
|
62
66
|
`has_and_belongs_to_many` associations. The annotation for each association
|
63
67
|
includes a link to the referred model. For associations with a list of objects
|
64
68
|
the documentation will simply be marked as `Array<ModelName>`.
|
65
69
|
|
66
|
-
## Delegates
|
70
|
+
## Delegates
|
67
71
|
|
68
72
|
The plugin handles `delegate`-methods and marks these delegated instance
|
69
73
|
methods simply as aliases for the associated object.
|
70
74
|
|
71
|
-
## Scopes
|
75
|
+
## Scopes
|
72
76
|
|
73
77
|
The plugin will add class methods for any scopes you have defined in your
|
74
78
|
models.
|
75
79
|
|
80
|
+
## Validations ##
|
81
|
+
|
82
|
+
The plugin will add information about validations onto each field. It only handles
|
83
|
+
the new style validations in the form of:
|
84
|
+
|
85
|
+
validates :foo, :presence=>true, :length=>{ is: 6 }
|
86
|
+
|
87
|
+
Validations in the older form of:
|
76
88
|
|
77
|
-
|
89
|
+
validates_presence_of :foo
|
90
|
+
|
91
|
+
are not supported.
|
92
|
+
|
93
|
+
## Other useful plugins
|
78
94
|
|
79
95
|
Check out:
|
80
|
-
|
96
|
+
|
81
97
|
* [https://github.com/ogeidix/yard-rails-plugin](https://github.com/ogeidix/yard-rails-plugin)
|
82
98
|
|
data/lib/yard-activerecord.rb
CHANGED
@@ -3,6 +3,8 @@ require 'yard'
|
|
3
3
|
module YARD::Handlers::Ruby::ActiveRecord
|
4
4
|
end
|
5
5
|
|
6
|
+
YARD::Templates::Engine.register_template_path File.dirname(__FILE__) + '/../templates'
|
7
|
+
|
6
8
|
root = File.expand_path(File.dirname(__FILE__))
|
7
9
|
$LOAD_PATH << root unless $LOAD_PATH.include? root
|
8
10
|
|
@@ -18,3 +20,4 @@ require 'yard-activerecord/associations/has_and_belongs_to_many_handler'
|
|
18
20
|
require 'yard-activerecord/delegations/delegate_handler'
|
19
21
|
|
20
22
|
require 'yard-activerecord/scopes/scope_handler'
|
23
|
+
require 'yard-activerecord/validations/validates_handler'
|
@@ -8,13 +8,13 @@ module YARD::Handlers::Ruby::ActiveRecord::Associations
|
|
8
8
|
def process
|
9
9
|
namespace.groups << group_name unless namespace.groups.include? group_name
|
10
10
|
|
11
|
-
object = YARD::CodeObjects::MethodObject.new(namespace, method_name)
|
11
|
+
object = register YARD::CodeObjects::MethodObject.new(namespace, method_name)
|
12
12
|
object.group = group_name
|
13
|
-
object.docstring = return_description
|
13
|
+
object.docstring = return_description if object.docstring.empty?
|
14
14
|
object.docstring.add_tag get_tag(:return, '', class_name)
|
15
|
-
object.docstring.add_tag get_tag(:see,
|
15
|
+
object.docstring.add_tag get_tag(:see, "ActiveRecord::Associations", nil,
|
16
|
+
'http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html' )
|
16
17
|
object.dynamic = true
|
17
|
-
register object
|
18
18
|
end
|
19
19
|
|
20
20
|
def group_name
|
@@ -49,8 +49,8 @@ module YARD::Handlers::Ruby::ActiveRecord::Associations
|
|
49
49
|
"An array of associated #{method_name}."
|
50
50
|
end
|
51
51
|
|
52
|
-
def get_tag(tag, text, return_classes = [])
|
53
|
-
YARD::Tags::Tag.new(tag, text, [return_classes].flatten)
|
52
|
+
def get_tag(tag, text, return_classes = [], name=nil)
|
53
|
+
YARD::Tags::Tag.new(tag, text, [return_classes].flatten, name)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -14,14 +14,13 @@ module YARD::Handlers::Ruby::ActiveRecord::Delegations
|
|
14
14
|
class_name = class_name.to_s.gsub(/\A.*\:/,'').capitalize
|
15
15
|
params.each do |method_name|
|
16
16
|
method_name.gsub!(/[\:\'\"]/,'')
|
17
|
-
object = YARD::CodeObjects::MethodObject.new(namespace, method_name)
|
17
|
+
object = register YARD::CodeObjects::MethodObject.new(namespace, method_name)
|
18
18
|
object.group = "Delegated Instance Attributes"
|
19
19
|
object.docstring = "Alias for {#{class_name}##{method_name}}"
|
20
20
|
object.docstring.add_tag get_tag(:return,
|
21
21
|
"{#{class_name}##{method_name}}", 'Object')
|
22
|
-
object.docstring.add_tag get_tag(:see,
|
22
|
+
object.docstring.add_tag get_tag(:see,"Module#delegate",nil,
|
23
23
|
"http://api.rubyonrails.org/classes/Module.html#method-i-delegate")
|
24
|
-
register object
|
25
24
|
end
|
26
25
|
group_name = "Delegated Instance Attributes"
|
27
26
|
namespace.groups << group_name unless namespace.groups.include? group_name
|
@@ -29,8 +28,8 @@ module YARD::Handlers::Ruby::ActiveRecord::Delegations
|
|
29
28
|
|
30
29
|
private
|
31
30
|
|
32
|
-
def get_tag(tag, text, return_classes = [])
|
33
|
-
YARD::Tags::Tag.new(tag, text, [return_classes].flatten)
|
31
|
+
def get_tag(tag, text, return_classes = [], name=nil)
|
32
|
+
YARD::Tags::Tag.new(tag, text, [return_classes].flatten,name)
|
34
33
|
end
|
35
34
|
end
|
36
35
|
end
|
@@ -5,39 +5,43 @@ module YARD::Handlers::Ruby::ActiveRecord::Fields
|
|
5
5
|
handles method_call(:integer)
|
6
6
|
handles method_call(:float)
|
7
7
|
handles method_call(:boolean)
|
8
|
+
handles method_call(:decimal)
|
8
9
|
handles method_call(:timestamp)
|
9
10
|
handles method_call(:datetime)
|
10
11
|
handles method_call(:date)
|
11
|
-
|
12
|
+
|
12
13
|
def process
|
13
14
|
return unless statement.namespace.jump(:ident).source == 't'
|
14
15
|
method_name = call_params.first
|
15
|
-
|
16
|
+
|
16
17
|
return if method_name['_id'] # Skip all id fields, associations will handle that
|
17
|
-
|
18
|
+
|
18
19
|
ensure_loaded! P(globals.klass)
|
19
20
|
namespace = P(globals.klass)
|
20
21
|
return if namespace.nil?
|
21
22
|
|
22
23
|
method_definition = namespace.instance_attributes[method_name.to_sym] || {}
|
23
|
-
|
24
|
+
|
24
25
|
{ read: method_name, write: "#{method_name}=" }.each do |(rw, name)|
|
25
|
-
|
26
|
-
|
26
|
+
method = method_definition[rw]
|
27
|
+
if method
|
28
|
+
method.docstring.add_tag( get_tag(:return, '', class_name) ) unless method.has_tag?( :return )
|
29
|
+
next
|
30
|
+
end
|
31
|
+
rw_object = register YARD::CodeObjects::MethodObject.new(namespace, name)
|
27
32
|
rw_object.docstring = description(name)
|
28
33
|
rw_object.docstring.add_tag get_tag(:return, '', class_name)
|
29
34
|
rw_object.dynamic = true
|
30
|
-
register rw_object
|
31
35
|
method_definition[rw] = rw_object
|
32
36
|
end
|
33
37
|
|
34
38
|
namespace.instance_attributes[method_name.to_sym] = method_definition
|
35
39
|
end
|
36
|
-
|
40
|
+
|
37
41
|
def description(method_name)
|
38
42
|
'' # "Database field value of #{method_name}. Defined in {file:db/schema.rb}"
|
39
43
|
end
|
40
|
-
|
44
|
+
|
41
45
|
def get_tag(tag, text, return_classes)
|
42
46
|
YARD::Tags::Tag.new(:return, text, [return_classes].flatten)
|
43
47
|
end
|
@@ -6,12 +6,11 @@ module YARD::Handlers::Ruby::ActiveRecord::Scopes
|
|
6
6
|
namespace_only
|
7
7
|
|
8
8
|
def process
|
9
|
-
object = YARD::CodeObjects::MethodObject.new(namespace, method_name, :class)
|
9
|
+
object = register YARD::CodeObjects::MethodObject.new(namespace, method_name, :class)
|
10
10
|
object.docstring = return_description
|
11
11
|
object.docstring.add_tag get_tag(:return, '', class_name)
|
12
|
-
object.docstring.add_tag get_tag(:see,
|
13
|
-
'http://api.rubyonrails.org/classes/ActiveRecord/
|
14
|
-
register object
|
12
|
+
object.docstring.add_tag get_tag(:see,"ActiveRecord::Scoping", nil,
|
13
|
+
'http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Named/ClassMethods.html')
|
15
14
|
end
|
16
15
|
|
17
16
|
private
|
@@ -29,8 +28,8 @@ module YARD::Handlers::Ruby::ActiveRecord::Scopes
|
|
29
28
|
"Array<#{namespace}>"
|
30
29
|
end
|
31
30
|
|
32
|
-
def get_tag(tag, text, return_classes = [])
|
33
|
-
YARD::Tags::Tag.new(tag, text, [return_classes].flatten)
|
31
|
+
def get_tag(tag, text, return_classes = [],name=nil)
|
32
|
+
YARD::Tags::Tag.new(tag, text, [return_classes].flatten,name)
|
34
33
|
end
|
35
34
|
end
|
36
|
-
end
|
35
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'active_support/inflector'
|
2
|
+
require 'active_support/core_ext/array'
|
3
|
+
|
4
|
+
module YARD::Handlers::Ruby::ActiveRecord::Validate
|
5
|
+
|
6
|
+
# Links with a value of nil will be link to
|
7
|
+
# the Rails Validations guide.
|
8
|
+
# Other projects can add to the
|
9
|
+
STANDARD_LINKS = [
|
10
|
+
:acceptance,
|
11
|
+
:validates_associated,
|
12
|
+
:confirmation,
|
13
|
+
:exclusion,
|
14
|
+
:format,
|
15
|
+
:inclusion,
|
16
|
+
:length,
|
17
|
+
:numericality,
|
18
|
+
:presence,
|
19
|
+
:absence,
|
20
|
+
:uniqueness,
|
21
|
+
:validates_with,
|
22
|
+
:validates_each
|
23
|
+
]
|
24
|
+
|
25
|
+
def self.add_validation_type( type, link )
|
26
|
+
@custom_types ||= {}
|
27
|
+
@custom_types[type.to_sym] = link
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.link_for_validation( type )
|
31
|
+
type = type.downcase.to_sym
|
32
|
+
if STANDARD_LINKS.include?( type )
|
33
|
+
"http://edgeguides.rubyonrails.org/active_record_validations.html##{type}"
|
34
|
+
elsif @custom_types && link = @custom_types[ type ]
|
35
|
+
link
|
36
|
+
else
|
37
|
+
nil
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Define validations tag for later use
|
42
|
+
YARD::Tags::Library.define_tag("Validations", :validates )
|
43
|
+
|
44
|
+
# Document ActiveRecord validations.
|
45
|
+
# This handler handles the validates statement.
|
46
|
+
# It will parse the list of fields, the validation types and their options,
|
47
|
+
# and the optional :if/:unless clause.
|
48
|
+
# It only handles the newer Rails ":validates" syntax and does not
|
49
|
+
# recognize the older "validates_presence_of" type methods.
|
50
|
+
class ValidatesHandler < YARD::Handlers::Ruby::MethodHandler
|
51
|
+
namespace_only
|
52
|
+
handles method_call(:validates)
|
53
|
+
def process
|
54
|
+
|
55
|
+
validations = {}
|
56
|
+
attributes = []
|
57
|
+
conditions = {}
|
58
|
+
|
59
|
+
# Read each parameter to the statement and parse out
|
60
|
+
# it's type and intent
|
61
|
+
statement.parameters(false).compact.map do |param|
|
62
|
+
# list types are options
|
63
|
+
if param.type == :list
|
64
|
+
param.each do | n |
|
65
|
+
kw = n.jump(:label, :symbol_literal ).source.gsub(/:/,'')
|
66
|
+
# if/unless are conditions that apply to all the validations
|
67
|
+
if ['if','unless','on'].include?(kw)
|
68
|
+
conditions[ kw ] = n.children.last.source
|
69
|
+
else # otherwise it's type specific
|
70
|
+
opts = n.jump(:hash)
|
71
|
+
value = ( opts != n ) ? opts.source : nil
|
72
|
+
validations[ kw ] = value
|
73
|
+
end
|
74
|
+
end
|
75
|
+
elsif param.type == :symbol_literal
|
76
|
+
attributes << param.jump(:ident, :kw, :tstring_content).source
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# abort in case we didn't parse anything
|
81
|
+
return if validations.empty?
|
82
|
+
|
83
|
+
# Loop through each attribute and set a tag on each
|
84
|
+
attributes.each do | attribute |
|
85
|
+
method_definition = namespace.instance_attributes[attribute.to_sym] || {}
|
86
|
+
method = method_definition[:read]
|
87
|
+
if ! method
|
88
|
+
meths = namespace.meths(:all => true)
|
89
|
+
method = meths.find {|m| m.name == attribute.to_sym }
|
90
|
+
end
|
91
|
+
# If the method isn't defined yet, go ahead and create one
|
92
|
+
if ! method
|
93
|
+
method = register YARD::CodeObjects::MethodObject.new(namespace, attribute )
|
94
|
+
method.scope = :instance
|
95
|
+
method.explicit = false
|
96
|
+
method_definition[:read] = method
|
97
|
+
namespace.instance_attributes[attribute.to_sym] = method_definition
|
98
|
+
end
|
99
|
+
tag = YARD::Tags::OptionTag.new(:validates, '', conditions ) #, [] )
|
100
|
+
tag.types = {} #[]
|
101
|
+
validations.each{ |arg,options|
|
102
|
+
tag.types[ arg ] = options
|
103
|
+
}
|
104
|
+
method.docstring.add_tag tag
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<p class="tag_title">Validations<% if @condition %> (<i><%= @condition %></i> )<% end %>:</p>
|
2
|
+
<ul class="validations">
|
3
|
+
<% for tag in @tags %>
|
4
|
+
<% tag.types.each do | type, options | %>
|
5
|
+
<li>
|
6
|
+
<% if link = YARD::Handlers::Ruby::ActiveRecord::Validate.link_for_validation( type ) %>
|
7
|
+
<%= linkify(link, type.capitalize ) %>
|
8
|
+
<% else %>
|
9
|
+
<%= type.capitalize %>
|
10
|
+
<% end %>
|
11
|
+
<% if options %> (<%= options %>) <% end %>
|
12
|
+
</li>
|
13
|
+
<% end %>
|
14
|
+
<% end %>
|
15
|
+
</ul>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
def init
|
2
|
+
super
|
3
|
+
if object.has_tag?(:validates)
|
4
|
+
create_tag_methods([:validates])
|
5
|
+
sections << Section.new(:validates)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def validates
|
10
|
+
all_tags = object.tags(:validates)
|
11
|
+
out = ''
|
12
|
+
conditions = all_tags.map{| tag | tag.pair.to_s }.uniq.compact
|
13
|
+
conditions.each do | condition |
|
14
|
+
@tags = all_tags.select{|tag| tag.pair.to_s == condition }
|
15
|
+
condition = @tags.first.pair.map do | type, check |
|
16
|
+
check = linkify( check.gsub(/^:/,'#') ) if check =~/^:/ # it's a symbol, convert to link
|
17
|
+
"#{type} => #{check}"
|
18
|
+
end
|
19
|
+
@condition = condition.empty? ? nil : condition.join(',')
|
20
|
+
out << erb( :validations )
|
21
|
+
end
|
22
|
+
out
|
23
|
+
end
|
metadata
CHANGED
@@ -1,44 +1,44 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard-activerecord
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Theodor Tonum
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: yard
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.8.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.8.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
description:
|
41
|
+
description: "\n YARD-Activerecord is a YARD extension that handles and interprets
|
42
42
|
methods\n used when developing applications with ActiveRecord. The extension
|
43
43
|
handles\n attributes, associations, delegates and scopes. A must for any Rails
|
44
44
|
app\n using YARD as documentation plugin. "
|
@@ -48,7 +48,7 @@ executables: []
|
|
48
48
|
extensions: []
|
49
49
|
extra_rdoc_files: []
|
50
50
|
files:
|
51
|
-
- .gitignore
|
51
|
+
- ".gitignore"
|
52
52
|
- Gemfile
|
53
53
|
- LICENSE
|
54
54
|
- README.md
|
@@ -66,7 +66,11 @@ files:
|
|
66
66
|
- lib/yard-activerecord/fields/define_handler.rb
|
67
67
|
- lib/yard-activerecord/fields/field_handler.rb
|
68
68
|
- lib/yard-activerecord/scopes/scope_handler.rb
|
69
|
+
- lib/yard-activerecord/validations/validates_handler.rb
|
69
70
|
- lib/yard-activerecord/version.rb
|
71
|
+
- templates/default/tags/html/validations.erb
|
72
|
+
- templates/default/tags/setup.rb
|
73
|
+
- templates/default/tags/text/validations.erb
|
70
74
|
- test.rb
|
71
75
|
- yard-activerecord.gemspec
|
72
76
|
homepage: https://github.com/theodorton/yard-activerecord
|
@@ -79,19 +83,18 @@ require_paths:
|
|
79
83
|
- lib
|
80
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|
81
85
|
requirements:
|
82
|
-
- -
|
86
|
+
- - ">="
|
83
87
|
- !ruby/object:Gem::Version
|
84
88
|
version: '0'
|
85
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
90
|
requirements:
|
87
|
-
- -
|
91
|
+
- - ">="
|
88
92
|
- !ruby/object:Gem::Version
|
89
93
|
version: '0'
|
90
94
|
requirements: []
|
91
95
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.
|
96
|
+
rubygems_version: 2.2.2
|
93
97
|
signing_key:
|
94
98
|
specification_version: 4
|
95
99
|
summary: ActiveRecord Handlers for YARD
|
96
100
|
test_files: []
|
97
|
-
has_rdoc:
|