data_magic 0.11 → 0.12
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 +8 -0
- data/data_magic.gemspec +3 -3
- data/features/data_magic.feature +9 -0
- data/features/step_definitions/data_magic_steps.rb +24 -0
- data/features/yaml/example.yml +5 -0
- data/lib/data_magic.rb +3 -0
- data/lib/data_magic/core_ext/fixnum.rb +11 -0
- data/lib/data_magic/date_translation.rb +41 -0
- data/lib/data_magic/version.rb +1 -1
- data/spec/lib/translation_spec.rb +31 -0
- metadata +12 -10
data/ChangeLog
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
=== Version 0.12 / 2012-12-28
|
2
|
+
* Enhancements
|
3
|
+
* Added today translator
|
4
|
+
* Added tomorrow translator
|
5
|
+
* Added yesterday translator
|
6
|
+
* Added days_from_today to Fixnum to provide translator
|
7
|
+
* Added days_ago to Fixnum to provide translator
|
8
|
+
|
1
9
|
=== Version 0.11 / 2012-12-22
|
2
10
|
* Enhancements
|
3
11
|
* Added title translator
|
data/data_magic.gemspec
CHANGED
@@ -16,9 +16,9 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
17
|
gem.require_paths = ["lib"]
|
18
18
|
|
19
|
-
gem.add_dependency 'faker', '>= 1.
|
19
|
+
gem.add_dependency 'faker', '>= 1.1.2'
|
20
20
|
gem.add_dependency 'yml_reader', '>= 0.2'
|
21
21
|
|
22
|
-
gem.add_development_dependency 'rspec', '>= 2.
|
23
|
-
gem.add_development_dependency 'cucumber', '>= 1.
|
22
|
+
gem.add_development_dependency 'rspec', '>= 2.12.0'
|
23
|
+
gem.add_development_dependency 'cucumber', '>= 1.2.0'
|
24
24
|
end
|
data/features/data_magic.feature
CHANGED
@@ -82,3 +82,12 @@ Feature: Functionality of the data_magic gem
|
|
82
82
|
Then the value for "mask" should begin with 3 numbers
|
83
83
|
And the value for "mask" should have 3 upper case letters after a dash
|
84
84
|
And the value for "mask" should end with 3 lower case letters
|
85
|
+
|
86
|
+
Scenario: Returning dates
|
87
|
+
Then the value for "today" should be today's date
|
88
|
+
And the value for "tomorrow" should be tomorrow's date
|
89
|
+
And the value for "yesterday" should be yesterday's date
|
90
|
+
|
91
|
+
Scenario: Specifying number of days from today
|
92
|
+
Then the value for "5daysfromtoday" should be five days from today
|
93
|
+
And the value for "5daysago" should be five days ago
|
@@ -73,3 +73,27 @@ end
|
|
73
73
|
Then /^the value for "(.*?)" should include "(.*?)"$/ do |key, value|
|
74
74
|
@data[key].should include value
|
75
75
|
end
|
76
|
+
|
77
|
+
Then /^the value for "(.*?)" should be today\'s date$/ do |key|
|
78
|
+
@data[key].should == Date.today.strftime('%D')
|
79
|
+
end
|
80
|
+
|
81
|
+
Then /^the value for "(.*?)" should be tomorrow\'s date$/ do |key|
|
82
|
+
tomorrow = Date.today + 1
|
83
|
+
@data[key].should == tomorrow.strftime('%D')
|
84
|
+
end
|
85
|
+
|
86
|
+
Then /^the value for "(.*?)" should be yesterday\'s date$/ do |key|
|
87
|
+
yesterday = Date.today - 1
|
88
|
+
@data[key].should == yesterday.strftime('%D')
|
89
|
+
end
|
90
|
+
|
91
|
+
Then /^the value for "(.*?)" should be five days from today$/ do |key|
|
92
|
+
the_day = Date.today + 5
|
93
|
+
@data[key].should == the_day.strftime('%D')
|
94
|
+
end
|
95
|
+
|
96
|
+
Then /^the value for "(.*?)" should be five days ago$/ do |key|
|
97
|
+
the_day = Date.today - 5
|
98
|
+
@data[key].should == the_day.strftime('%D')
|
99
|
+
end
|
data/features/yaml/example.yml
CHANGED
data/lib/data_magic.rb
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
require 'data_magic/core_ext/string'
|
2
|
+
require 'data_magic/core_ext/fixnum'
|
2
3
|
require "data_magic/version"
|
3
4
|
require "data_magic/translation"
|
5
|
+
require "data_magic/date_translation"
|
4
6
|
require 'yml_reader'
|
5
7
|
|
6
8
|
require 'faker'
|
7
9
|
|
8
10
|
module DataMagic
|
9
11
|
include Translation
|
12
|
+
include DateTranslation
|
10
13
|
extend YmlReader
|
11
14
|
|
12
15
|
def data_for(key, additional={})
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module DataMagic
|
2
|
+
module DateTranslation
|
3
|
+
#
|
4
|
+
# return today's date
|
5
|
+
#
|
6
|
+
# @param String the format to use for the date. Default is %D
|
7
|
+
#
|
8
|
+
# See http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#method-i-strftime
|
9
|
+
# for details of the formats
|
10
|
+
#
|
11
|
+
def today(format = '%D')
|
12
|
+
Date.today.strftime(format)
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# return tomorrow's date
|
17
|
+
#
|
18
|
+
# @param String the format to use for the date. Default is %D
|
19
|
+
#
|
20
|
+
# See http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#method-i-strftime
|
21
|
+
# for details of the formats
|
22
|
+
#
|
23
|
+
def tomorrow(format = '%D')
|
24
|
+
tomorrow = Date.today + 1
|
25
|
+
tomorrow.strftime(format)
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# return yesterday's date
|
30
|
+
#
|
31
|
+
# @param String the format to use for the date. Default is %D
|
32
|
+
#
|
33
|
+
# See http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#method-i-strftime
|
34
|
+
# for details of the formats
|
35
|
+
#
|
36
|
+
def yesterday(format = '%D')
|
37
|
+
yesterday = Date.today - 1
|
38
|
+
yesterday.strftime(format)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/data_magic/version.rb
CHANGED
@@ -249,5 +249,36 @@ describe "DataMagic translations" do
|
|
249
249
|
example.data_for('key').should have_field_value false
|
250
250
|
end
|
251
251
|
end
|
252
|
+
|
253
|
+
context "providing date values" do
|
254
|
+
it "should provide today's date" do
|
255
|
+
set_field_value '~today'
|
256
|
+
example.data_for('key').should have_field_value Date.today.strftime('%D')
|
257
|
+
end
|
258
|
+
|
259
|
+
it "should provide tomorrow's date" do
|
260
|
+
set_field_value '~tomorrow'
|
261
|
+
tomorrow = Date.today + 1
|
262
|
+
example.data_for('key').should have_field_value tomorrow.strftime('%D')
|
263
|
+
end
|
264
|
+
|
265
|
+
it "should provide yesterday's date" do
|
266
|
+
set_field_value '~yesterday'
|
267
|
+
yesterday = Date.today - 1
|
268
|
+
example.data_for('key').should have_field_value yesterday.strftime('%D')
|
269
|
+
end
|
270
|
+
|
271
|
+
it "should provide a date that is some number of days from now" do
|
272
|
+
set_field_value '~5.days_from_today'
|
273
|
+
the_date = Date.today + 5
|
274
|
+
example.data_for('key').should have_field_value the_date.strftime('%D')
|
275
|
+
end
|
276
|
+
|
277
|
+
it "should provide a date that is some number of days ago" do
|
278
|
+
set_field_value '~5.days_ago'
|
279
|
+
the_date = Date.today - 5
|
280
|
+
example.data_for('key').should have_field_value the_date.strftime('%D')
|
281
|
+
end
|
282
|
+
end
|
252
283
|
end
|
253
284
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_magic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.12'
|
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: 2012-12-
|
12
|
+
date: 2012-12-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faker
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: 1.1.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.1.2
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: yml_reader
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 2.
|
53
|
+
version: 2.12.0
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.12.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: cucumber
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
requirements:
|
67
67
|
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
69
|
+
version: 1.2.0
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.
|
77
|
+
version: 1.2.0
|
78
78
|
description: Provides datasets to application stored in YAML files
|
79
79
|
email:
|
80
80
|
- jeff.morgan@leandog.com
|
@@ -102,7 +102,9 @@ files:
|
|
102
102
|
- features/yaml/another.yml
|
103
103
|
- features/yaml/example.yml
|
104
104
|
- lib/data_magic.rb
|
105
|
+
- lib/data_magic/core_ext/fixnum.rb
|
105
106
|
- lib/data_magic/core_ext/string.rb
|
107
|
+
- lib/data_magic/date_translation.rb
|
106
108
|
- lib/data_magic/translation.rb
|
107
109
|
- lib/data_magic/version.rb
|
108
110
|
- spec/lib/data_magic_spec.rb
|
@@ -122,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
124
|
version: '0'
|
123
125
|
segments:
|
124
126
|
- 0
|
125
|
-
hash:
|
127
|
+
hash: 722238677510975421
|
126
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
129
|
none: false
|
128
130
|
requirements:
|
@@ -131,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
133
|
version: '0'
|
132
134
|
segments:
|
133
135
|
- 0
|
134
|
-
hash:
|
136
|
+
hash: 722238677510975421
|
135
137
|
requirements: []
|
136
138
|
rubyforge_project:
|
137
139
|
rubygems_version: 1.8.24
|