tfg_support 0.1.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1fd20eeadffb493510c56f4399e5b3f907cd62dc
4
+ data.tar.gz: e44d25eeaea0df82581593ae50e46d08a7bfc797
5
+ SHA512:
6
+ metadata.gz: 726f4e9f18a233b327753eca18db1ecdfbe47559b8a1405cf79b458c85d94b9aa1ab3732d4e4e008b6ffc0490e44ff72c909ad66166b2d0add984744841fcbac
7
+ data.tar.gz: 0408bb9d52d278d78dae9948cd3adc5bb212614b84e6723ac73015d7e32c229d4135ba444bc1d20259eddc8a98544886df7ec74a93289f21350afac412e93904
data/README.md CHANGED
@@ -37,29 +37,12 @@ also works for setting. New hashes will be created for missing keys.
37
37
  hash
38
38
  => {:foo=>{:bar=>{:baz=>:frob}, :missing_key=>{:baz=>:frob}}}
39
39
 
40
- ### TfgSupport::Sequence
40
+ ### [String] (http://ruby-doc.org/core-2.0/String.html)
41
41
 
42
- An object which can be used to generate an infinite sequence.
43
-
44
- sequence = TfgSupport::Sequence.new(1) { |previous| previous * 2 }
45
- sequence.next
46
- => 1
47
- sequence.next
48
- => 2
49
- sequence.next
50
- => 4
51
-
52
- #### self.new
53
-
54
- **Sequence.new(initial_value, &generator)**
55
-
56
- Returns a new `Sequence` object.
57
-
58
- #### next
59
- *this method is not thread safe*
60
-
61
- Applies the generator block provided during construction to the previous result.
42
+ #### to_boolean
62
43
 
44
+ Converts strings `'true' 't' 'yes' 'y' '1'` to `true`
45
+ and `'false' 'f' 'no' 'n' '0'` to `false`
63
46
 
64
47
  ## Contributing
65
48
 
@@ -0,0 +1,5 @@
1
+ class Hash
2
+ def deep()
3
+ TfgSupport::DeepHashAccessor.new(self)
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ class String
2
+ def to_boolean
3
+ return true if self =~ (/\A(true|t|yes|y|1)\Z/i)
4
+ return false if self =~ (/\A(false|f|no|n|0)\Z/i)
5
+
6
+ raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module TfgSupport
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.1"
3
3
  end
data/lib/tfg_support.rb CHANGED
@@ -5,8 +5,5 @@ module TfgSupport
5
5
  autoload :Sequence, "tfg_support/sequence"
6
6
  end
7
7
 
8
- class Hash
9
- def deep()
10
- TfgSupport::DeepHashAccessor.new(self)
11
- end
12
- end
8
+ require "tfg_support/hash"
9
+ require "tfg_support/string"
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ describe String do
4
+
5
+ describe "#to_boolean" do
6
+ subject(:to_boolean) { str.to_boolean }
7
+
8
+ true_cases = %w(true trUe t yes y 1)
9
+ false_cases = %w(false faLse f no n 0)
10
+
11
+ true_cases.each do |str|
12
+ context "when #{str}" do
13
+ let(:str) { str }
14
+ it("returns true") { should eq true }
15
+ end
16
+ end
17
+
18
+ false_cases.each do |str|
19
+ context "when #{str}" do
20
+ let(:str) { str }
21
+ it("returns false") { should eq false }
22
+ end
23
+ end
24
+
25
+ context "when something else" do
26
+ let(:str) { "bob" }
27
+ it("raises an argument error") { expect { to_boolean }.to raise_error(ArgumentError) }
28
+ end
29
+ end
30
+
31
+ end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tfg_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.2.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Courtney de Lautour
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-24 00:00:00.000000000 Z
11
+ date: 2013-06-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,33 +27,29 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: A collection of helper methods / extensions for Ruby
@@ -73,38 +66,39 @@ files:
73
66
  - Rakefile
74
67
  - lib/tfg_support.rb
75
68
  - lib/tfg_support/deep_hash_accessor.rb
69
+ - lib/tfg_support/hash.rb
76
70
  - lib/tfg_support/sequence.rb
71
+ - lib/tfg_support/string.rb
77
72
  - lib/tfg_support/version.rb
78
73
  - spec/hash_spec.rb
79
- - spec/sequence_spec.rb
80
74
  - spec/spec_helper.rb
75
+ - spec/string_spec.rb
81
76
  - tfg_support.gemspec
82
77
  homepage: https://github.com/Amerdrix/TFG-support
83
78
  licenses:
84
79
  - MIT
80
+ metadata: {}
85
81
  post_install_message:
86
82
  rdoc_options: []
87
83
  require_paths:
88
84
  - lib
89
85
  required_ruby_version: !ruby/object:Gem::Requirement
90
- none: false
91
86
  requirements:
92
- - - ! '>='
87
+ - - '>='
93
88
  - !ruby/object:Gem::Version
94
89
  version: '0'
95
90
  required_rubygems_version: !ruby/object:Gem::Requirement
96
- none: false
97
91
  requirements:
98
- - - ! '>='
92
+ - - '>='
99
93
  - !ruby/object:Gem::Version
100
94
  version: '0'
101
95
  requirements: []
102
96
  rubyforge_project:
103
- rubygems_version: 1.8.25
97
+ rubygems_version: 2.0.3
104
98
  signing_key:
105
- specification_version: 3
99
+ specification_version: 4
106
100
  summary: A collection of helper methods / extensions for Ruby
107
101
  test_files:
108
102
  - spec/hash_spec.rb
109
- - spec/sequence_spec.rb
110
103
  - spec/spec_helper.rb
104
+ - spec/string_spec.rb
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe TfgSupport::Sequence do
4
-
5
- let(:sequence) do
6
- TfgSupport::Sequence.new(1) do |previous|
7
- previous * 2
8
- end
9
- end
10
-
11
- describe "#next" do
12
-
13
- it "returns the starting value the first time it's called" do
14
- sequence.next.should eq 1
15
- end
16
-
17
- it "returns the result of the generator for successive calls" do
18
- sequence.next
19
- sequence.next.should eq 2
20
- end
21
-
22
- it "passes the result of the previous invocation of the generator, to the generator" do
23
- sequence.next
24
- sequence.next
25
- sequence.next.should eq 4
26
- end
27
- end
28
- end