ronin-support 0.1.0.rc3 → 0.1.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/ChangeLog.md +1 -1
- data/README.md +1 -1
- data/lib/ronin/support/inflector.rb +53 -12
- data/lib/ronin/support/version.rb +1 -1
- metadata +16 -16
data/ChangeLog.md
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
* [Source](http://github.com/ronin-ruby/ronin-support)
|
4
4
|
* [Issues](http://github.com/ronin-ruby/ronin-support/issues)
|
5
|
-
* [Documentation](http://rubydoc.info/
|
5
|
+
* [Documentation](http://rubydoc.info/gems/ronin-support/frames)
|
6
6
|
* [Mailing List](http://groups.google.com/group/ronin-ruby)
|
7
7
|
* irc.freenode.net #ronin
|
8
8
|
|
@@ -19,34 +19,75 @@
|
|
19
19
|
|
20
20
|
module Ronin
|
21
21
|
module Support
|
22
|
-
|
23
|
-
|
22
|
+
# The Inflectors supported by ronin-support
|
23
|
+
INFLECTORS = {
|
24
|
+
:datamapper => {
|
24
25
|
:path => 'dm-core/support/inflector',
|
25
26
|
:const => 'DataMapper::Inflector'
|
26
27
|
},
|
27
|
-
{
|
28
|
+
:active_support => {
|
28
29
|
:path => 'active_support/inflector',
|
29
30
|
:const => 'ActiveSupport::Inflector'
|
30
31
|
},
|
31
|
-
{
|
32
|
+
:extlib => {
|
32
33
|
:path => 'extlib/inflection',
|
33
34
|
:const => 'Extlib::Inflection'
|
34
35
|
}
|
35
|
-
|
36
|
-
|
36
|
+
}
|
37
|
+
|
38
|
+
#
|
39
|
+
# Loads an Inflector library and sets the `Ronin::Support::Inflector`
|
40
|
+
# constant.
|
41
|
+
#
|
42
|
+
# @param [Symbol, String] name
|
43
|
+
# The name of the Inflector library to load. May be either
|
44
|
+
# `:datamapper`, `:active_support` or `:extlib`.
|
45
|
+
#
|
46
|
+
# @return [true]
|
47
|
+
# Specifies that the Inflector library was successfully loaded.
|
48
|
+
#
|
49
|
+
# @raise [ArgumentError]
|
50
|
+
# The Inflector library is not supported.
|
51
|
+
#
|
52
|
+
# @raise [LoadError]
|
53
|
+
# The Inflector library could not be loaded.
|
54
|
+
#
|
55
|
+
# @raise [NameError]
|
56
|
+
# The constant could not be found.
|
57
|
+
#
|
58
|
+
def Support.load_inflector!(name)
|
59
|
+
name = name.to_sym
|
60
|
+
|
61
|
+
unless (inflector = INFLECTORS[name])
|
62
|
+
raise(ArgumentError,"unsupported Inflector: #{name}")
|
63
|
+
end
|
37
64
|
|
38
|
-
inflectors.each do |inflector|
|
39
65
|
begin
|
40
66
|
require inflector[:path]
|
41
|
-
rescue LoadError
|
42
|
-
|
67
|
+
rescue Gem::LoadError => e
|
68
|
+
raise(e)
|
69
|
+
rescue ::LoadError
|
70
|
+
raise(LoadError,"unable to load #{inflector[:path]}")
|
71
|
+
end
|
72
|
+
|
73
|
+
begin
|
74
|
+
const_set('Inflector', eval("::#{inflector[:const]}"))
|
75
|
+
rescue NameError
|
76
|
+
raise(NameError,"unable to find #{inflector[:const]}")
|
43
77
|
end
|
44
78
|
|
45
|
-
|
46
|
-
|
79
|
+
return true
|
80
|
+
end
|
81
|
+
|
82
|
+
[:datamapper, :active_support, :extlib].each do |name|
|
83
|
+
begin
|
84
|
+
Support.load_inflector!(name)
|
85
|
+
break
|
86
|
+
rescue LoadError
|
87
|
+
end
|
47
88
|
end
|
48
89
|
|
49
|
-
unless const_defined?(
|
90
|
+
unless const_defined?('Inflector')
|
50
91
|
raise(LoadError,"unable to load or find any Inflectors")
|
51
92
|
end
|
52
93
|
end
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ronin-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version: 0.1.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Postmodern
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-03-
|
13
|
+
date: 2011-03-20 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -254,23 +254,23 @@ signing_key:
|
|
254
254
|
specification_version: 3
|
255
255
|
summary: A support library for Ronin.
|
256
256
|
test_files:
|
257
|
-
- spec/
|
257
|
+
- spec/templates/template_spec.rb
|
258
|
+
- spec/templates/erb_spec.rb
|
259
|
+
- spec/path_spec.rb
|
260
|
+
- spec/network/ssl_spec.rb
|
258
261
|
- spec/network/http/http_spec.rb
|
259
262
|
- spec/network/http/proxy_spec.rb
|
260
|
-
- spec/network/
|
261
|
-
- spec/
|
262
|
-
- spec/templates/template_spec.rb
|
263
|
+
- spec/network/network_spec.rb
|
264
|
+
- spec/support_spec.rb
|
263
265
|
- spec/support/inflector_spec.rb
|
264
|
-
- spec/path_spec.rb
|
265
|
-
- spec/extensions/file_spec.rb
|
266
|
-
- spec/extensions/kernel_spec.rb
|
267
266
|
- spec/extensions/string_spec.rb
|
268
267
|
- spec/extensions/ip_addr_spec.rb
|
269
|
-
- spec/
|
270
|
-
- spec/
|
268
|
+
- spec/extensions/file_spec.rb
|
269
|
+
- spec/extensions/kernel_spec.rb
|
270
|
+
- spec/formatting/http/string_spec.rb
|
271
|
+
- spec/formatting/http/integer_spec.rb
|
271
272
|
- spec/formatting/digest/string_spec.rb
|
272
|
-
- spec/formatting/
|
273
|
+
- spec/formatting/binary/string_spec.rb
|
274
|
+
- spec/formatting/binary/integer_spec.rb
|
273
275
|
- spec/formatting/text/string_spec.rb
|
274
|
-
- spec/formatting/
|
275
|
-
- spec/formatting/http/string_spec.rb
|
276
|
-
- spec/support_spec.rb
|
276
|
+
- spec/formatting/text/array_spec.rb
|