trick_bag 0.31.0 → 0.32.0

Sign up to get free protection for your applications and to get access to all the features.
data/RELEASE_NOTES.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.32.0
2
+
3
+ * Added timestamp, replace_with_timestamp in Formatters.
4
+
5
+
1
6
  ## v0.31.0
2
7
 
3
8
  * Added EndlessLastEnumerable.
@@ -47,7 +47,6 @@ class CompoundEnumerable
47
47
  end
48
48
 
49
49
 
50
-
51
50
  def initialize(mode, keys, *enumerables)
52
51
 
53
52
  validate_inputs = ->do
@@ -1,3 +1,5 @@
1
+ require 'date'
2
+
1
3
  module TrickBag
2
4
  module Formatters
3
5
 
@@ -49,6 +51,18 @@ module Formatters
49
51
  needs_modifying = string && string.size > 0 && string[-1] != "\n"
50
52
  needs_modifying ? "#{string}\n" : string
51
53
  end
54
+
55
+
56
+ def timestamp(datetime = DateTime.now)
57
+ datetime.strftime('%Y-%m-%d_%H-%M-%S')
58
+ end
59
+
60
+
61
+ # Replaces all occurrences of marker with the current date/time in
62
+ # YYYYMMDD-HHMMSS format.
63
+ def replace_with_timestamp(string, marker = '*', datetime = DateTime.now)
64
+ string.gsub(marker, timestamp(datetime))
65
+ end
52
66
  end
53
67
  end
54
68
 
@@ -1,7 +1,7 @@
1
1
  module TrickBag
2
2
  module Numeric
3
3
 
4
- # Counts the results of any resolver comparisons made.
4
+ # Supports multiple counts, each identified by a key.
5
5
  # Like a hash, but does not allow []=; increment is the only way to modify a value.
6
6
  class MultiCounter
7
7
 
@@ -1,3 +1,3 @@
1
1
  module TrickBag
2
- VERSION = "0.31.0"
2
+ VERSION = "0.32.0"
3
3
  end
@@ -1,5 +1,6 @@
1
1
  require_relative '../../spec_helper'
2
2
 
3
+ require 'date'
3
4
  require 'trick_bag/formatters/formatters'
4
5
 
5
6
  module TrickBag
@@ -57,5 +58,21 @@ describe Formatters do
57
58
  expect(Formatters.end_with_nl(3)).to eq("3\n")
58
59
  end
59
60
  end
61
+
62
+
63
+ context ".replace_with_timestamp" do
64
+
65
+ let(:a_date) { DateTime.new(2000, 1, 2, 15, 44, 37) }
66
+
67
+ specify "returns the correct string" do
68
+ s = Formatters.replace_with_timestamp('*', '*', a_date)
69
+ expect(s).to eq('2000-01-02_15-44-37')
70
+ #regex = /^\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d$/
71
+ #puts s
72
+ #expect(regex === s).to be_true
73
+ #
74
+ #
75
+ end
76
+ end
60
77
  end
61
78
  end
@@ -6,7 +6,7 @@ module Meta
6
6
 
7
7
  describe Classes do
8
8
 
9
- after(:each) { Classes.undef_class('ClassPatchTestClass') }
9
+ after(:each) { Classes.undef_class('ClassPatchTestClass', TrickBag::Meta) }
10
10
 
11
11
 
12
12
  ####################################################### class?
@@ -17,7 +17,7 @@ context 'class?' do
17
17
  expect(Classes.class?('String')).to be_true
18
18
  end
19
19
 
20
- it 'should recognize that RUBY_PLATFORM is defined but is not a class' do
20
+ it 'should recognize that RUBY_PLATFORM is not a class even though it is a defined constant' do
21
21
  expect(Classes.class?('RUBY_PLATFORM')).to be_false
22
22
  end
23
23
 
@@ -46,30 +46,17 @@ end
46
46
 
47
47
  context 'private_attr_reader' do
48
48
 
49
- after(:each) { Classes.undef_class('ClassPatchTestClass') }
50
-
51
49
  fn_create_class = ->do
52
50
  class ClassPatchTestClass
53
-
54
51
  extend Classes
55
-
56
52
  private_attr_reader :foo
57
-
58
- def initialize
59
- @foo = 123
60
- puts "foo = #{self.foo}"
61
- end
62
53
  end
63
54
  end
64
55
 
65
56
 
66
- it "should be visible inside the class" do
67
- expect(fn_create_class).not_to raise_error
68
- end
69
-
70
- it "should be invisible outside the class" do
57
+ it "should be a private method" do
71
58
  fn_create_class.()
72
- expect(->{ ClassPatchTestClass.new.foo }).to raise_error
59
+ expect(ClassPatchTestClass.private_method_defined?(:foo)).to be_true
73
60
  end
74
61
  end
75
62
 
@@ -80,27 +67,15 @@ end
80
67
 
81
68
  fn_create_class = ->do
82
69
  class ClassPatchTestClass
83
-
84
70
  extend Classes
85
-
86
71
  private_attr_writer :foo
87
-
88
- def initialize
89
- self.foo = 123
90
- end
91
72
  end
92
73
  end
93
74
 
94
-
95
- it "should be visible inside the class" do
96
- expect(fn_create_class).not_to raise_error
97
- end
98
-
99
- it "should be invisible outside the class" do
75
+ it "should be a private method" do
100
76
  fn_create_class.()
101
- expect(->{ ClassPatchTestClass.new.foo = 456}).to raise_error
77
+ expect(ClassPatchTestClass.private_method_defined?(:foo=)).to be_true
102
78
  end
103
-
104
79
  end
105
80
 
106
81
  ####################################################### private_attr_accessor
@@ -122,16 +97,11 @@ end
122
97
  end
123
98
 
124
99
 
125
- it "should be visible inside the class" do
126
- expect(fn_create_class).not_to raise_error
127
- end
128
-
129
- it "should be invisible outside the class" do
100
+ it "should be private reader and writer" do
130
101
  fn_create_class.()
131
- expect(->{ ClassPatchTestClass.new.foo = 456}).to raise_error
132
- expect(->{ ClassPatchTestClass.new.foo }).to raise_error
102
+ expect(ClassPatchTestClass.private_method_defined?(:foo)).to be_true
103
+ expect(ClassPatchTestClass.private_method_defined?(:foo=)).to be_true
133
104
  end
134
-
135
105
  end
136
106
 
137
107
 
@@ -154,56 +124,37 @@ end
154
124
  end
155
125
 
156
126
 
157
- it "should be readable and writable inside the class" do
158
- expect(fn_create_class).not_to raise_error
159
- end
160
-
161
- it "should be readable outside the class" do
127
+ it "should be a public reader" do
162
128
  fn_create_class.()
163
- expect(->{ ClassPatchTestClass.new.foo }).not_to raise_error
129
+ expect(ClassPatchTestClass.public_method_defined?(:foo)).to be_true
164
130
  end
165
131
 
166
- it "should not be writable outside the class" do
132
+ it "should be a private writer" do
167
133
  fn_create_class.()
168
- expect(->{ ClassPatchTestClass.new.foo = 456}).to raise_error
134
+ expect(ClassPatchTestClass.private_method_defined?(:foo=)).to be_true
169
135
  end
170
136
  end
171
137
 
138
+
172
139
  context 'attr_access(:private, :none, :foo)' do
173
140
 
174
141
  fn_create_class = ->do
175
142
  class ClassPatchTestClass
176
-
177
143
  extend Classes
178
-
179
144
  attr_access :private, :none, :foo
180
-
181
- def initialize
182
- @foo = 1
183
- self.foo
184
- end
185
145
  end
186
146
  end
187
147
 
188
-
189
- it "should be readable inside the class" do
190
- expect(fn_create_class).not_to raise_error
191
- end
192
-
193
-
194
- it "should not be readable outside the class" do
195
- fn_create_class.()
196
- expect(->{ ClassPatchTestClass.new.foo }).to raise_error
197
- end
198
-
199
- it "should not be readable outside the class" do
148
+ it "should be a private reader" do
200
149
  fn_create_class.()
201
- expect(->{ ClassPatchTestClass.new.foo }).to raise_error
150
+ expect(ClassPatchTestClass.private_method_defined?(:foo)).to be_true
202
151
  end
203
152
 
204
- it "should not be writable outside the class" do
153
+ it 'should not contain a writer at all' do
205
154
  fn_create_class.()
206
- expect(->{ ClassPatchTestClass.new.foo = 456}).to raise_error
155
+ expect(ClassPatchTestClass.private_method_defined?(:foo=)).to be_false
156
+ expect(ClassPatchTestClass.protected_method_defined?(:foo=)).to be_false
157
+ expect(ClassPatchTestClass.public_method_defined?(:foo=)).to be_false
207
158
  end
208
159
  end
209
160
  end
@@ -14,20 +14,20 @@ module TrickBag
14
14
  expect(->{ Operators.multi_eq(1) }).to raise_error
15
15
  end
16
16
 
17
- test_for = ->(true_or_false, *values) do
17
+ test_return_value = ->(true_or_false, *values) do
18
18
  specify "that #{values.map(&:to_s).join(', ')} returns #{true_or_false}}" do
19
- expect(Operators.multi_eq(*values)).to eq(true_or_false)
19
+ expect(Operators.multi_eq(*values)).to eq(true_or_false)
20
20
  end
21
21
  end
22
22
 
23
- test_for.(true, 12, 12)
24
- test_for.(false, 0, 12)
25
- test_for.(true, :foo, :foo, :foo)
26
- test_for.(false, :bar, :foo, :foo)
27
- test_for.(false, :foo, :bar, :foo)
28
- test_for.(false, :foo, :foo, :bar)
29
- test_for.(true, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7)
30
- test_for.(false, 7, 7, 7, 7, 7, 9999, 7, 7, 7, 7, 7)
23
+ test_return_value.(true, 12, 12)
24
+ test_return_value.(false, 0, 12)
25
+ test_return_value.(true, :foo, :foo, :foo)
26
+ test_return_value.(false, :bar, :foo, :foo)
27
+ test_return_value.(false, :foo, :bar, :foo)
28
+ test_return_value.(false, :foo, :foo, :bar)
29
+ test_return_value.(true, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7)
30
+ test_return_value.(false, 7, 7, 7, 7, 7, 9999, 7, 7, 7, 7, 7)
31
31
  end
32
32
  end
33
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trick_bag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.32.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-05 00:00:00.000000000 Z
12
+ date: 2014-03-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: vrsn-ie-dnsruby