sniff 0.11.10 → 0.11.11
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sniff/database.rb +7 -7
- data/lib/sniff/fixture.rb +2 -1
- data/lib/sniff/version.rb +1 -1
- data/lib/test_support/cucumber/step_definitions/impact_steps.rb +3 -3
- data/lib/test_support/cucumber/support/values.rb +4 -4
- data/spec/lib/test_support/cucumber/support/values_spec.rb +13 -1
- metadata +150 -147
data/lib/sniff/database.rb
CHANGED
@@ -33,20 +33,20 @@ module Sniff
|
|
33
33
|
|
34
34
|
# Connect to the database and set up an ActiveRecord logger
|
35
35
|
def db_init(options)
|
36
|
-
options
|
37
|
-
options[:
|
36
|
+
options = options.symbolize_keys
|
37
|
+
options[:adapter] ||= options.delete(:db_adapter) || 'sqlite3'
|
38
|
+
options[:database] ||= options.delete(:db_name) || ':memory:'
|
38
39
|
ActiveRecord::Base.logger = Sniff.logger
|
39
|
-
ActiveRecord::Base.establish_connection
|
40
|
-
:database => options[:db_name]
|
40
|
+
ActiveRecord::Base.establish_connection options
|
41
41
|
end
|
42
42
|
|
43
|
-
# Initialize Earth,
|
44
|
-
#
|
43
|
+
# Initialize Earth, but don't load schemas - otherwise get blank tables
|
44
|
+
# for any resources in a loaded domain that don't have a fixture
|
45
45
|
def earth_init(domains)
|
46
46
|
domains ||= :none
|
47
47
|
domains = [domains] unless domains.is_a? Array
|
48
48
|
args = domains
|
49
|
-
args << {:apply_schemas =>
|
49
|
+
args << {:apply_schemas => false}
|
50
50
|
|
51
51
|
Earth.init *args
|
52
52
|
end
|
data/lib/sniff/fixture.rb
CHANGED
@@ -11,7 +11,8 @@ module Sniff
|
|
11
11
|
next unless Object.const_defined?(model_name)
|
12
12
|
|
13
13
|
model = model_name.constantize
|
14
|
-
model.auto_upgrade!
|
14
|
+
model.auto_upgrade!
|
15
|
+
model.delete_all # always import from scratch
|
15
16
|
ActiveRecord::Base.logger.info "Loading fixture #{fixture_file}"
|
16
17
|
CSV.foreach(fixture_file, :headers => true) do |row|
|
17
18
|
ActiveRecord::Base.connection.insert_fixture(row, model.table_name) rescue ActiveRecord::RecordNotUnique
|
data/lib/sniff/version.rb
CHANGED
@@ -25,17 +25,17 @@ Given /^(a )?characteristic "(.*)" of "([^\"]*)"(, converted with "(.*)")?$/ do
|
|
25
25
|
association.klass
|
26
26
|
end
|
27
27
|
value = model.send "find_by_#{attribute}", value
|
28
|
-
@characteristics[model_name.to_sym] = value
|
28
|
+
@characteristics[model_name.to_sym] = value unless value.nil?
|
29
29
|
elsif name == 'timeframe'
|
30
30
|
@timeframe = (value.present?) ? Timeframe.interval(value) : nil
|
31
31
|
elsif name == 'active_subtimeframe'
|
32
32
|
@characteristics[:active_subtimeframe] = (value.present?) ? Timeframe.interval(value) : nil
|
33
33
|
elsif converter
|
34
34
|
value = value.send converter
|
35
|
-
@characteristics[name.to_sym] = value
|
35
|
+
@characteristics[name.to_sym] = value unless value.nil?
|
36
36
|
else
|
37
37
|
value = coerce_value(value)
|
38
|
-
@characteristics[name.to_sym] = value
|
38
|
+
@characteristics[name.to_sym] = value unless value.nil?
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
@@ -13,15 +13,15 @@ module CucumberValueParser
|
|
13
13
|
false
|
14
14
|
elsif value =~ /\d+.*,.*\d/ # ???
|
15
15
|
value
|
16
|
-
elsif value =~
|
16
|
+
elsif value =~ /^-?\d+\.\d+$/ # float
|
17
17
|
value.to_f
|
18
|
-
elsif value =~
|
18
|
+
elsif value =~ /^-?\d+(\.\d+)?\.\.-?\d+(\.\d+)?$/ # range
|
19
19
|
(value.split('..')[0].to_i)..(value.split('..')[1].to_i)
|
20
20
|
elsif value =~ /^0+$/ # all zeros => 0
|
21
21
|
0
|
22
|
-
elsif value =~ /^0/ # zero preceding
|
22
|
+
elsif value =~ /^0/ # zero preceding anything but a float or range => the input as a string
|
23
23
|
value
|
24
|
-
elsif value =~
|
24
|
+
elsif value =~ /^-?\d+$/ # integer
|
25
25
|
value.to_i
|
26
26
|
elsif value =~ /Address:/
|
27
27
|
value.sub(/Address:\s*/,'')
|
@@ -17,15 +17,27 @@ describe CucumberValueParser do
|
|
17
17
|
it 'should parse a float' do
|
18
18
|
coerce_value('2.3').should == 2.3
|
19
19
|
end
|
20
|
+
it 'should parse a negative float' do
|
21
|
+
coerce_value('-2.3').should == -2.3
|
22
|
+
end
|
20
23
|
it 'should parse a zero-prefixed float' do
|
21
|
-
coerce_value('
|
24
|
+
coerce_value('02.0').should == 2.0
|
25
|
+
end
|
26
|
+
it 'should parse a zero-prefixed integer' do
|
27
|
+
coerce_value('05753').should == '05753'
|
22
28
|
end
|
23
29
|
it 'should parse a range' do
|
24
30
|
coerce_value('12..42').should == (12..42)
|
25
31
|
end
|
32
|
+
it 'should parse negative ranges' do
|
33
|
+
coerce_value('-42..-12').should == (-42..-12)
|
34
|
+
end
|
26
35
|
it 'should parse an integer' do
|
27
36
|
coerce_value('2').should == 2
|
28
37
|
end
|
38
|
+
it 'should parse a negative integer' do
|
39
|
+
coerce_value('-2').should == -2
|
40
|
+
end
|
29
41
|
it 'should parse a date' do
|
30
42
|
coerce_value('today').should be_an_instance_of(Time)
|
31
43
|
coerce_value('2010-01-20').should be_an_instance_of(Time)
|
metadata
CHANGED
@@ -1,222 +1,224 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sniff
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.10
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.11.11
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Derek Kastner
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2012-03-05 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
15
16
|
name: activesupport
|
16
|
-
requirement: &
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "3"
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
- !ruby/object:Gem::Dependency
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
26
27
|
name: aaronh-chronic
|
27
|
-
requirement: &
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
29
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
32
33
|
version: 0.3.9
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
-
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
37
38
|
name: bueller
|
38
|
-
requirement: &
|
39
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
43
44
|
version: 0.0.5
|
44
45
|
type: :runtime
|
45
46
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
-
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
48
49
|
name: mini_record-compat
|
49
|
-
requirement: &
|
50
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
51
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version:
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: "0"
|
55
56
|
type: :runtime
|
56
57
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
-
- !ruby/object:Gem::Dependency
|
58
|
+
version_requirements: *id004
|
59
|
+
- !ruby/object:Gem::Dependency
|
59
60
|
name: cucumber
|
60
|
-
requirement: &
|
61
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
62
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version:
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: "0"
|
66
67
|
type: :runtime
|
67
68
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
-
- !ruby/object:Gem::Dependency
|
69
|
+
version_requirements: *id005
|
70
|
+
- !ruby/object:Gem::Dependency
|
70
71
|
name: earth
|
71
|
-
requirement: &
|
72
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
76
77
|
version: 0.4.5
|
77
78
|
type: :runtime
|
78
79
|
prerelease: false
|
79
|
-
version_requirements: *
|
80
|
-
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: *id006
|
81
|
+
- !ruby/object:Gem::Dependency
|
81
82
|
name: rake
|
82
|
-
requirement: &
|
83
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
84
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
87
88
|
version: 0.9.0
|
88
89
|
type: :runtime
|
89
90
|
prerelease: false
|
90
|
-
version_requirements: *
|
91
|
-
- !ruby/object:Gem::Dependency
|
91
|
+
version_requirements: *id007
|
92
|
+
- !ruby/object:Gem::Dependency
|
92
93
|
name: simplecov
|
93
|
-
requirement: &
|
94
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
94
95
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version:
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: "0"
|
99
100
|
type: :runtime
|
100
101
|
prerelease: false
|
101
|
-
version_requirements: *
|
102
|
-
- !ruby/object:Gem::Dependency
|
102
|
+
version_requirements: *id008
|
103
|
+
- !ruby/object:Gem::Dependency
|
103
104
|
name: rdoc
|
104
|
-
requirement: &
|
105
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
105
106
|
none: false
|
106
|
-
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version:
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: "0"
|
110
111
|
type: :runtime
|
111
112
|
prerelease: false
|
112
|
-
version_requirements: *
|
113
|
-
- !ruby/object:Gem::Dependency
|
113
|
+
version_requirements: *id009
|
114
|
+
- !ruby/object:Gem::Dependency
|
114
115
|
name: dkastner-rocco
|
115
|
-
requirement: &
|
116
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
116
117
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version:
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: "0"
|
121
122
|
type: :runtime
|
122
123
|
prerelease: false
|
123
|
-
version_requirements: *
|
124
|
-
- !ruby/object:Gem::Dependency
|
124
|
+
version_requirements: *id010
|
125
|
+
- !ruby/object:Gem::Dependency
|
125
126
|
name: rspec
|
126
|
-
requirement: &
|
127
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
127
128
|
none: false
|
128
|
-
requirements:
|
129
|
+
requirements:
|
129
130
|
- - ~>
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: "2"
|
132
133
|
type: :runtime
|
133
134
|
prerelease: false
|
134
|
-
version_requirements: *
|
135
|
-
- !ruby/object:Gem::Dependency
|
135
|
+
version_requirements: *id011
|
136
|
+
- !ruby/object:Gem::Dependency
|
136
137
|
name: simplecov
|
137
|
-
requirement: &
|
138
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
138
139
|
none: false
|
139
|
-
requirements:
|
140
|
-
- -
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version:
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: "0"
|
143
144
|
type: :runtime
|
144
145
|
prerelease: false
|
145
|
-
version_requirements: *
|
146
|
-
- !ruby/object:Gem::Dependency
|
146
|
+
version_requirements: *id012
|
147
|
+
- !ruby/object:Gem::Dependency
|
147
148
|
name: timecop
|
148
|
-
requirement: &
|
149
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
149
150
|
none: false
|
150
|
-
requirements:
|
151
|
-
- -
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version:
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: "0"
|
154
155
|
type: :runtime
|
155
156
|
prerelease: false
|
156
|
-
version_requirements: *
|
157
|
-
- !ruby/object:Gem::Dependency
|
157
|
+
version_requirements: *id013
|
158
|
+
- !ruby/object:Gem::Dependency
|
158
159
|
name: timeframe
|
159
|
-
requirement: &
|
160
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
160
161
|
none: false
|
161
|
-
requirements:
|
162
|
-
- -
|
163
|
-
- !ruby/object:Gem::Version
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
164
165
|
version: 0.0.8
|
165
166
|
type: :runtime
|
166
167
|
prerelease: false
|
167
|
-
version_requirements: *
|
168
|
-
- !ruby/object:Gem::Dependency
|
168
|
+
version_requirements: *id014
|
169
|
+
- !ruby/object:Gem::Dependency
|
169
170
|
name: watchr
|
170
|
-
requirement: &
|
171
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
171
172
|
none: false
|
172
|
-
requirements:
|
173
|
-
- -
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version:
|
173
|
+
requirements:
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: "0"
|
176
177
|
type: :runtime
|
177
178
|
prerelease: false
|
178
|
-
version_requirements: *
|
179
|
-
- !ruby/object:Gem::Dependency
|
179
|
+
version_requirements: *id015
|
180
|
+
- !ruby/object:Gem::Dependency
|
180
181
|
name: sandbox
|
181
|
-
requirement: &
|
182
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
182
183
|
none: false
|
183
|
-
requirements:
|
184
|
-
- -
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version:
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: "0"
|
187
188
|
type: :development
|
188
189
|
prerelease: false
|
189
|
-
version_requirements: *
|
190
|
-
- !ruby/object:Gem::Dependency
|
190
|
+
version_requirements: *id016
|
191
|
+
- !ruby/object:Gem::Dependency
|
191
192
|
name: emitter
|
192
|
-
requirement: &
|
193
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
193
194
|
none: false
|
194
|
-
requirements:
|
195
|
-
- -
|
196
|
-
- !ruby/object:Gem::Version
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
197
198
|
version: 0.5.0
|
198
199
|
type: :development
|
199
200
|
prerelease: false
|
200
|
-
version_requirements: *
|
201
|
-
- !ruby/object:Gem::Dependency
|
201
|
+
version_requirements: *id017
|
202
|
+
- !ruby/object:Gem::Dependency
|
202
203
|
name: sqlite3-ruby
|
203
|
-
requirement: &
|
204
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
204
205
|
none: false
|
205
|
-
requirements:
|
206
|
-
- -
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version:
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: "0"
|
209
210
|
type: :development
|
210
211
|
prerelease: false
|
211
|
-
version_requirements: *
|
212
|
-
description: Provides development and test environment for Brighter Planet's impact
|
213
|
-
model libraries.
|
212
|
+
version_requirements: *id018
|
213
|
+
description: Provides development and test environment for Brighter Planet's impact model libraries.
|
214
214
|
email: derek.kastner@brighterplanet.com
|
215
215
|
executables: []
|
216
|
+
|
216
217
|
extensions: []
|
217
|
-
|
218
|
+
|
219
|
+
extra_rdoc_files:
|
218
220
|
- README.markdown
|
219
|
-
files:
|
221
|
+
files:
|
220
222
|
- lib/sniff/database.rb
|
221
223
|
- lib/sniff/fixture.rb
|
222
224
|
- lib/sniff/leap_ext.rb
|
@@ -254,34 +256,35 @@ files:
|
|
254
256
|
- spec/spec_helper.rb
|
255
257
|
homepage: https://github.com/brighterplanet/sniff
|
256
258
|
licenses: []
|
259
|
+
|
257
260
|
post_install_message:
|
258
|
-
rdoc_options:
|
261
|
+
rdoc_options:
|
259
262
|
- --charset=UTF-8
|
260
|
-
require_paths:
|
263
|
+
require_paths:
|
261
264
|
- lib
|
262
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
265
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
263
266
|
none: false
|
264
|
-
requirements:
|
265
|
-
- -
|
266
|
-
- !ruby/object:Gem::Version
|
267
|
-
|
268
|
-
segments:
|
267
|
+
requirements:
|
268
|
+
- - ">="
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
hash: 3037549694573789126
|
271
|
+
segments:
|
269
272
|
- 0
|
270
|
-
|
271
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
273
|
+
version: "0"
|
274
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
275
|
none: false
|
273
|
-
requirements:
|
274
|
-
- -
|
275
|
-
- !ruby/object:Gem::Version
|
276
|
-
version:
|
276
|
+
requirements:
|
277
|
+
- - ">="
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
version: "0"
|
277
280
|
requirements: []
|
281
|
+
|
278
282
|
rubyforge_project:
|
279
|
-
rubygems_version: 1.8.
|
283
|
+
rubygems_version: 1.8.15
|
280
284
|
signing_key:
|
281
285
|
specification_version: 3
|
282
|
-
summary: Provides development and test environment for Brighter Planet's impact model
|
283
|
-
|
284
|
-
test_files:
|
286
|
+
summary: Provides development and test environment for Brighter Planet's impact model libraries.
|
287
|
+
test_files:
|
285
288
|
- spec/fixtures/dirigible/features/support/db/fixtures/automobile_fuel_types.csv
|
286
289
|
- spec/fixtures/dirigible/features/support/db/fixtures/automobile_make_fleet_years.csv
|
287
290
|
- spec/fixtures/dirigible/features/support/db/fixtures/automobile_make_years.csv
|