usda-nutrient-database 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/.travis.yml +11 -0
- data/README.md +12 -0
- data/lib/usda_nutrient_database/food.rb +9 -1
- data/lib/usda_nutrient_database/food_group.rb +1 -1
- data/lib/usda_nutrient_database/nutrient.rb +6 -3
- data/lib/usda_nutrient_database/version.rb +1 -1
- data/lib/usda_nutrient_database/weight.rb +3 -0
- data/spec/spec_helper.rb +8 -0
- data/spec/support/database.rb +28 -0
- data/usda-nutrient-database.gemspec +5 -1
- metadata +48 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96482305951055aefdd578c867660a91161857c8
|
4
|
+
data.tar.gz: 9fd2e0ae747263dd13b83c289d8438e7d30460bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e3538708c3edda458fab78344858f947701d96df77aa5be766be7f16e900128ddb76b46a06134c5995340f23bb86afc58bd6686150f3c18ace1772402df1015
|
7
|
+
data.tar.gz: 41692f998af17c5cf8ca1a776893228f92a392da20253fd1dbb7242c6dd181db754eca55d1ad3e221ee30a9a718cbbc5acbdc87d138328865a43338cb77610d5
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
[](https://waffle.io/mattbeedle/usda-nutrient-database)
|
2
|
+
[](https://codeclimate.com/github/mattbeedle/usda-nutrient-database)
|
4
|
+
[](https://travis-ci.org/mattbeedle/usda-nutrient-database)
|
6
|
+
[](https://coveralls.io/r/mattbeedle/usda-nutrient-database)
|
8
|
+
[](https://gemnasium.com/mattbeedle/usda-nutrient-database)
|
10
|
+
[](http://badge.fury.io/rb/usda-nutrient-database)
|
12
|
+
|
1
13
|
# USDA Nutrient Database
|
2
14
|
|
3
15
|
The USDA nutrition database is a great source of nutrition information. However,
|
@@ -9,7 +9,15 @@ module UsdaNutrientDatabase
|
|
9
9
|
validates :long_description, presence: true
|
10
10
|
validates :short_description, presence: true
|
11
11
|
|
12
|
-
has_many :footnotes, class_name: 'UsdaNutrientDatabase::Footnote'
|
12
|
+
has_many :footnotes, class_name: 'UsdaNutrientDatabase::Footnote',
|
13
|
+
foreign_key: :nutrient_databank_number
|
14
|
+
has_many :weights, class_name: 'UsdaNutrientDatabase::Weight',
|
15
|
+
foreign_key: :nutrient_databank_number
|
16
|
+
has_many :foods_nutrients,
|
17
|
+
class_name: 'UsdaNutrientDatabase::FoodsNutrient',
|
18
|
+
foreign_key: :nutrient_databank_number, dependent: :nullify
|
19
|
+
has_many :nutrients, class_name: 'UsdaNutrientDatabase::Nutrient',
|
20
|
+
through: :foods_nutrients
|
13
21
|
|
14
22
|
belongs_to :food_group, class_name: 'UsdaNutrientDatabase::FoodGroup',
|
15
23
|
foreign_key: :food_group_code
|
@@ -13,8 +13,11 @@ module UsdaNutrientDatabase
|
|
13
13
|
|
14
14
|
has_many :foods_nutrients,
|
15
15
|
class_name: 'UsdaNutrientDatabase::FoodsNutrient',
|
16
|
-
dependent: :destroy
|
17
|
-
|
18
|
-
has_many :
|
16
|
+
dependent: :destroy, foreign_key: :nutrient_number,
|
17
|
+
dependent: :nullify
|
18
|
+
has_many :foods, class_name: 'UsdaNutrientDatabase::Food',
|
19
|
+
through: :foods_nutrients
|
20
|
+
has_many :footnotes, class_name: 'UsdaNutrientDatabase::Footnote',
|
21
|
+
foreign_key: :nutrient_number
|
19
22
|
end
|
20
23
|
end
|
@@ -9,5 +9,8 @@ module UsdaNutrientDatabase
|
|
9
9
|
validates :amount, presence: true
|
10
10
|
validates :measurement_description, presence: true
|
11
11
|
validates :gram_weight, presence: true
|
12
|
+
|
13
|
+
belongs_to :food, class_name: 'UsdaNutrientDatabase::Food',
|
14
|
+
foreign_key: :nutrient_databank_number
|
12
15
|
end
|
13
16
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,11 +4,15 @@ require 'logger'
|
|
4
4
|
|
5
5
|
Bundler.setup
|
6
6
|
|
7
|
+
require 'coveralls'
|
8
|
+
Coveralls.wear!
|
9
|
+
|
7
10
|
require 'active_record'
|
8
11
|
require 'database_cleaner'
|
9
12
|
require 'usda-nutrient-database'
|
10
13
|
require 'shoulda-matchers'
|
11
14
|
require 'webmock/rspec'
|
15
|
+
require_relative 'support/database'
|
12
16
|
|
13
17
|
UsdaNutrientDatabase.configure do |config|
|
14
18
|
config.perform_logging = false
|
@@ -24,6 +28,8 @@ RSpec.configure do |config|
|
|
24
28
|
config.run_all_when_everything_filtered = true
|
25
29
|
config.filter_run :focus
|
26
30
|
|
31
|
+
include Database
|
32
|
+
|
27
33
|
# Run specs in random order to surface order dependencies. If you find an
|
28
34
|
# order dependency and want to debug it, you can fix the order by providing
|
29
35
|
# the seed, which is printed after each run.
|
@@ -37,6 +43,8 @@ RSpec.configure do |config|
|
|
37
43
|
ActiveRecord::Base.configurations = YAML.load_file(database_yml)
|
38
44
|
db_config = ActiveRecord::Base.configurations[db_name]
|
39
45
|
|
46
|
+
setup_database(db_name, db_config)
|
47
|
+
|
40
48
|
begin
|
41
49
|
ActiveRecord::Base.establish_connection(db_name)
|
42
50
|
ActiveRecord::Base.connection
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Database
|
2
|
+
def setup_database(db_name, db_config)
|
3
|
+
setup_pg(db_name, db_config) if RUBY_PLATFORM == 'ruby'
|
4
|
+
setup_jdbc(db_name, db_config) if RUBY_PLATFORM == 'java'
|
5
|
+
end
|
6
|
+
|
7
|
+
def setup_pg(db_name, db_config)
|
8
|
+
begin
|
9
|
+
ActiveRecord::Base.establish_connection(db_name)
|
10
|
+
ActiveRecord::Base.connection
|
11
|
+
rescue PG::ConnectionBad
|
12
|
+
ActiveRecord::Base.establish_connection db_config.merge('database' => nil)
|
13
|
+
ActiveRecord::Base.connection.create_database db_config['database']
|
14
|
+
ActiveRecord::Base.establish_connection db_config
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def setup_jdbc(db_name, db_config)
|
19
|
+
begin
|
20
|
+
ActiveRecord::Base.establish_connection(db_name)
|
21
|
+
ActiveRecord::Base.connection
|
22
|
+
rescue ActiveRecord::JDBCError
|
23
|
+
ActiveRecord::Base.establish_connection db_config.merge('database' => nil)
|
24
|
+
ActiveRecord::Base.connection.create_database db_config['database']
|
25
|
+
ActiveRecord::Base.establish_connection db_config
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -22,11 +22,15 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency 'faraday'
|
23
23
|
spec.add_runtime_dependency 'rubyzip'
|
24
24
|
|
25
|
+
if RUBY_PLATFORM == 'java'
|
26
|
+
spec.add_development_dependency 'activerecord-jdbcpostgresql-adapter'
|
27
|
+
end
|
25
28
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
29
|
+
spec.add_development_dependency 'coveralls'
|
26
30
|
spec.add_development_dependency 'database_cleaner'
|
27
31
|
spec.add_development_dependency 'guard'
|
28
32
|
spec.add_development_dependency 'guard-rspec'
|
29
|
-
spec.add_development_dependency 'pg'
|
33
|
+
spec.add_development_dependency 'pg' if RUBY_PLATFORM != 'java'
|
30
34
|
spec.add_development_dependency 'rake'
|
31
35
|
spec.add_development_dependency 'rspec'
|
32
36
|
spec.add_development_dependency 'shoulda-matchers'
|
metadata
CHANGED
@@ -1,181 +1,195 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usda-nutrient-database
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Beedle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubyzip
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.3'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.3'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: coveralls
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: database_cleaner
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: guard
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: guard-rspec
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: pg
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: rake
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - ">="
|
130
144
|
- !ruby/object:Gem::Version
|
131
145
|
version: '0'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- -
|
150
|
+
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: rspec
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- -
|
157
|
+
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
159
|
version: '0'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- -
|
164
|
+
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '0'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: shoulda-matchers
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- -
|
171
|
+
- - ">="
|
158
172
|
- !ruby/object:Gem::Version
|
159
173
|
version: '0'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- -
|
178
|
+
- - ">="
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: webmock
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
170
184
|
requirements:
|
171
|
-
- -
|
185
|
+
- - ">="
|
172
186
|
- !ruby/object:Gem::Version
|
173
187
|
version: '0'
|
174
188
|
type: :development
|
175
189
|
prerelease: false
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
177
191
|
requirements:
|
178
|
-
- -
|
192
|
+
- - ">="
|
179
193
|
- !ruby/object:Gem::Version
|
180
194
|
version: '0'
|
181
195
|
description: A gem to include all the USDA nutrient data quickly into a ruby project
|
@@ -185,8 +199,9 @@ executables: []
|
|
185
199
|
extensions: []
|
186
200
|
extra_rdoc_files: []
|
187
201
|
files:
|
188
|
-
- .gitignore
|
189
|
-
- .rspec
|
202
|
+
- ".gitignore"
|
203
|
+
- ".rspec"
|
204
|
+
- ".travis.yml"
|
190
205
|
- CHANGELOG.md
|
191
206
|
- Gemfile
|
192
207
|
- Guardfile
|
@@ -242,6 +257,7 @@ files:
|
|
242
257
|
- spec/lib/usda_nutrient_database/weight_spec.rb
|
243
258
|
- spec/schema.rb
|
244
259
|
- spec/spec_helper.rb
|
260
|
+
- spec/support/database.rb
|
245
261
|
- spec/support/sr25.zip
|
246
262
|
- spec/support/sr25/FD_GROUP.txt
|
247
263
|
- spec/support/sr25/FOOD_DES.txt
|
@@ -261,17 +277,17 @@ require_paths:
|
|
261
277
|
- lib
|
262
278
|
required_ruby_version: !ruby/object:Gem::Requirement
|
263
279
|
requirements:
|
264
|
-
- -
|
280
|
+
- - ">="
|
265
281
|
- !ruby/object:Gem::Version
|
266
282
|
version: '0'
|
267
283
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
268
284
|
requirements:
|
269
|
-
- -
|
285
|
+
- - ">="
|
270
286
|
- !ruby/object:Gem::Version
|
271
287
|
version: '0'
|
272
288
|
requirements: []
|
273
289
|
rubyforge_project:
|
274
|
-
rubygems_version: 2.0.
|
290
|
+
rubygems_version: 2.2.0.rc.1
|
275
291
|
signing_key:
|
276
292
|
specification_version: 4
|
277
293
|
summary: A gem to include all the USDA nutrient data quickly into a ruby project
|
@@ -295,6 +311,7 @@ test_files:
|
|
295
311
|
- spec/lib/usda_nutrient_database/weight_spec.rb
|
296
312
|
- spec/schema.rb
|
297
313
|
- spec/spec_helper.rb
|
314
|
+
- spec/support/database.rb
|
298
315
|
- spec/support/sr25.zip
|
299
316
|
- spec/support/sr25/FD_GROUP.txt
|
300
317
|
- spec/support/sr25/FOOD_DES.txt
|