qmin 0.0.5 → 0.0.6

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.
@@ -1,23 +1,43 @@
1
- unless !!defined?(ActiveSupport::Inflector)
1
+ class String
2
2
 
3
- class String
4
- def underscore
5
- self.to_s.gsub(/::/, '/').
6
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
7
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
8
- tr('-', '_').
9
- downcase
10
- end
3
+ def underscore
4
+ self.to_s.gsub(/::/, '/').
5
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
6
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
7
+ tr('-', '_').
8
+ downcase
9
+ end unless String.respond_to?(:underscore)
11
10
 
12
- def constantize
13
- Kernel.const_get(self)
14
- end
15
- end
11
+ # shamelessly stolen from resque
12
+ def constantize
13
+ names = self.split('::')
14
+ names.shift if names.empty? || names.first.empty?
16
15
 
17
- end
16
+ names.inject(Object) do |constant, name|
17
+ if constant == Object
18
+ constant.const_get(name)
19
+ else
20
+ candidate = constant.const_get(name)
21
+ args = Module.method(:const_defined?).arity != 1 ? [false] : []
22
+ next candidate if constant.const_defined?(name, *args)
23
+ next candidate unless Object.const_defined?(name)
24
+
25
+ # Go down the ancestors to check it it's owned
26
+ # directly before we reach Object or the end of ancestors.
27
+ constant = constant.ancestors.inject do |const, ancestor|
28
+ break const if ancestor == Object
29
+ break ancestor if ancestor.const_defined?(name, *args)
30
+ const
31
+ end
32
+
33
+ # owner is in Object, so raise
34
+ constant.const_get(name, false)
35
+ end
36
+ end
37
+ end unless String.respond_to?(:constantize)
18
38
 
19
- class String
20
39
  def to_queue_name
21
40
  gsub('::','').underscore
22
41
  end
42
+
23
43
  end
data/lib/qmin/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Qmin
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qmin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - the-architect
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-06-05 00:00:00.000000000 Z
12
+ date: 2013-06-12 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rspec
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: mocha
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - '>='
67
76
  - !ruby/object:Gem::Version
@@ -104,26 +113,33 @@ files:
104
113
  homepage: https://github.com/qmin/qmin
105
114
  licenses:
106
115
  - MIT
107
- metadata: {}
108
116
  post_install_message:
109
117
  rdoc_options: []
110
118
  require_paths:
111
119
  - lib
112
120
  required_ruby_version: !ruby/object:Gem::Requirement
121
+ none: false
113
122
  requirements:
114
123
  - - '>='
115
124
  - !ruby/object:Gem::Version
116
125
  version: '0'
126
+ segments:
127
+ - 0
128
+ hash: -2111192109713405080
117
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
+ none: false
118
131
  requirements:
119
132
  - - '>='
120
133
  - !ruby/object:Gem::Version
121
134
  version: '0'
135
+ segments:
136
+ - 0
137
+ hash: -2111192109713405080
122
138
  requirements: []
123
139
  rubyforge_project:
124
- rubygems_version: 2.0.2
140
+ rubygems_version: 1.8.25
125
141
  signing_key:
126
- specification_version: 4
142
+ specification_version: 3
127
143
  summary: Simple framwork to coordinate background tasks
128
144
  test_files:
129
145
  - spec/qmin/core_ext/class_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 43fbea2d8af2608d83b22a3dce04abb38bec4e64
4
- data.tar.gz: cfd53ca11ac9302d8412c52a4ff26f5ce0a46da3
5
- SHA512:
6
- metadata.gz: 11ff0a9e5d79d9227161c666d0da69953119e5d8d821da42bb07f71363f413a6d7ee9994648885587181d131ad0625f18783bd153193df388a1a69bf75360b03
7
- data.tar.gz: 4679da2a22b7a7f1f8e80f2485b0d46a96cdb93c48528f651ffca88b045454253dd9b5f321c47e9b22858ee0e653792f4e821d495ffe703230a37456ddf516e2