sniff 0.11.10 → 0.11.11
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/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
|