extlib_lite 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,6 +1,6 @@
1
1
  # extlib_lite
2
2
 
3
- extlib_lite is a super lightweight alternative to [activesupport](http://github.com/rails/rails/tree/master/activesupport) or [extlib](http://github.com/datamapper/extlib). It contains some of the usual friends such as pluralize, singularize, classify, and constantize without the overhead of its big brothers. I take no credit for extlib_lite, I simply extracted the code that I needed from [activesupport](http://github.com/rails/rails/tree/master/activesupport) and [extlib](http://github.com/datamapper/extlib).
3
+ extlib_lite is a super lightweight alternative to [activesupport](http://github.com/rails/rails/tree/master/activesupport) or [extlib](http://github.com/datamapper/extlib). It contains some of the usual friends such as pluralize, singularize, classify, and constantize without the overhead of its big brothers. I take no credit for extlib_lite, I simply extracted the code from [activesupport](http://github.com/rails/rails/tree/master/activesupport) and [extlib](http://github.com/datamapper/extlib).
4
4
  ## Supported Functions
5
5
  Currently extlib_lite supports the following functions
6
6
  ### String
@@ -9,10 +9,6 @@ Currently extlib_lite supports the following functions
9
9
  * classify
10
10
  * constantize
11
11
  * underscore
12
- * from_query
13
-
14
- ### Hash
15
- * to_query
16
12
 
17
13
  ## Installation
18
14
 
data/Rakefile CHANGED
@@ -22,7 +22,6 @@ begin
22
22
  gemspec.email = "dwilkie@gmail.com"
23
23
  gemspec.homepage = "http://github.com/dwilkie/extlib_lite"
24
24
  gemspec.authors = ["David Wilkie"]
25
- gemspec.add_runtime_dependency "addressable", ">=2.1.1"
26
25
  end
27
26
  rescue LoadError
28
27
  puts "Jeweler not available. Install it with: gem install jeweler"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/extlib_lite.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{extlib_lite}
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David Wilkie"]
12
- s.date = %q{2010-07-08}
12
+ s.date = %q{2010-09-26}
13
13
  s.email = %q{dwilkie@gmail.com}
14
14
  s.extra_rdoc_files = [
15
15
  "README.markdown"
@@ -23,7 +23,6 @@ Gem::Specification.new do |s|
23
23
  "extlib_lite.gemspec",
24
24
  "lib/extlib_lite.rb",
25
25
  "lib/extlib_lite/core_extensions.rb",
26
- "lib/extlib_lite/core_extensions/hash.rb",
27
26
  "lib/extlib_lite/core_extensions/string.rb",
28
27
  "lib/extlib_lite/inflections.rb",
29
28
  "todo"
@@ -39,12 +38,9 @@ Gem::Specification.new do |s|
39
38
  s.specification_version = 3
40
39
 
41
40
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
- s.add_runtime_dependency(%q<addressable>, [">= 2.1.1"])
43
41
  else
44
- s.add_dependency(%q<addressable>, [">= 2.1.1"])
45
42
  end
46
43
  else
47
- s.add_dependency(%q<addressable>, [">= 2.1.1"])
48
44
  end
49
45
  end
50
46
 
@@ -1,60 +1,24 @@
1
- module CoreExtensions
2
- module String
1
+ class String
2
+ def singular
3
+ Extlib::Inflection.singular(self)
4
+ end
5
+ alias_method(:singularize, :singular)
3
6
 
4
- ##
5
- # Convert to hash from a query string.
6
- #
7
- # "text_message%5Bto%5D=61447100308&text_message%5Bfrom%5D=61447100547&text_message%5Bmsg%5D=Edin%20knif%20lie%20km&text_message%5Bdate%5D=2010-05-13%2023%3A59%3A58".from_query #=> {
8
- # "text_message"=>{
9
- # "to"=>"61447100308",
10
- # "from"=>"61447100547",
11
- # "msg"=>"Edin knif lie km",
12
- # "date"=>"2010-05-13 23:59:58"
13
- # }
14
- # }
15
- #
16
- # @return [Hash] Query string converted to hash.
17
- #
18
- # @api public
19
- def from_query
20
- uri = Addressable::URI.new
21
- uri.query = self
22
- uri.query_values
23
- end
7
+ def plural
8
+ Extlib::Inflection.plural(self)
9
+ end
10
+ alias_method(:pluralize, :plural)
24
11
 
25
- ##
26
- # Convert a constant name to a path, assuming a conventional structure.
27
- #
28
- # "FooBar::Baz".to_const_path # => "foo_bar/baz"
29
- #
30
- # @return [String] Path to the file containing the constant named by receiver
31
- # (constantized string), assuming a conventional structure.
32
- #
33
- # @api public
34
- def to_const_path
35
- snake_case.gsub(/::/, "/")
36
- end
12
+ def classify
13
+ Extlib::Inflection.classify(self)
14
+ end
37
15
 
38
- ##
39
- # Convert to snake case.
40
- #
41
- # "FooBar".snake_case #=> "foo_bar"
42
- # "HeadlineCNNNews".snake_case #=> "headline_cnn_news"
43
- # "CNN".snake_case #=> "cnn"
44
- #
45
- # @return [String] Receiver converted to snake case.
46
- #
47
- # @api public
48
- def snake_case
49
- return downcase if match(/\A[A-Z]+\z/)
50
- gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
51
- gsub(/([a-z])([A-Z])/, '\1_\2').
52
- downcase
53
- end
16
+ def constantize
17
+ Extlib::Inflection.constantize(self)
54
18
  end
55
- end
56
19
 
57
- class String
58
- include CoreExtensions::String
20
+ def underscore
21
+ Extlib::Inflection.underscore(self)
22
+ end
59
23
  end
60
24
 
@@ -373,23 +373,3 @@ module Extlib
373
373
  end
374
374
  end
375
375
 
376
- class String
377
- def singular
378
- Extlib::Inflection.singular(self)
379
- end
380
- alias_method(:singularize, :singular)
381
- def plural
382
- Extlib::Inflection.plural(self)
383
- end
384
- alias_method(:pluralize, :plural)
385
- def classify
386
- Extlib::Inflection.classify(self)
387
- end
388
- def constantize
389
- Extlib::Inflection.constantize(self)
390
- end
391
- def underscore
392
- Extlib::Inflection.underscore(self)
393
- end
394
- end
395
-
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - David Wilkie
@@ -14,24 +14,10 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-07-08 00:00:00 +07:00
17
+ date: 2010-09-26 00:00:00 +07:00
18
18
  default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: addressable
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 2
30
- - 1
31
- - 1
32
- version: 2.1.1
33
- type: :runtime
34
- version_requirements: *id001
19
+ dependencies: []
20
+
35
21
  description:
36
22
  email: dwilkie@gmail.com
37
23
  executables: []
@@ -49,7 +35,6 @@ files:
49
35
  - extlib_lite.gemspec
50
36
  - lib/extlib_lite.rb
51
37
  - lib/extlib_lite/core_extensions.rb
52
- - lib/extlib_lite/core_extensions/hash.rb
53
38
  - lib/extlib_lite/core_extensions/string.rb
54
39
  - lib/extlib_lite/inflections.rb
55
40
  - todo
@@ -1,47 +0,0 @@
1
- module CoreExtensions
2
- module Hash
3
- ##
4
- # Convert to a query string
5
- #
6
- # {
7
- # :text_message => {
8
- # :to => 61447100308,
9
- # :from => 61447100547,
10
- # :msg => "Edin knif lie km"
11
- # :date => "2010-05-13 23:59:58"
12
- # }
13
- # }.to_query #=> "text_message%5Bto%5D=61447100308&text_message%5Bfrom%5D=61447100547&text_message%5Bmsg%5D=Edin%20knif%20lie%20km&text_message%5Bdate%5D=2010-05-13%2023%3A59%3A58"
14
- #
15
- # @return [String] Hash converted to a query string
16
- #
17
- # @api public
18
- def to_query
19
- uri = Addressable::URI.new
20
- uri.query_values = self.stringify
21
- uri.query.gsub("[", "%5B").gsub("]", "%5D")
22
- end
23
-
24
- def stringify
25
- Marshal.load(Marshal.dump(self)).stringify!
26
- end
27
-
28
- # Destructively convert all keys and values to strings
29
- def stringify!
30
- keys.each do |key|
31
- new_key = key.to_s
32
- self[new_key] = delete(key)
33
- if self[new_key].is_a?(Hash)
34
- self[new_key].stringify!
35
- else
36
- self[new_key] = delete(new_key).to_s
37
- end
38
- end
39
- self
40
- end
41
- end
42
- end
43
-
44
- class Hash
45
- include CoreExtensions::Hash
46
- end
47
-