idigbio_client 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c93a98a42c4cd9936bbca8f3b37dfbbf052590a0
4
+ data.tar.gz: ef51fb9364dc76e6734ed92d9e21808cdf895272
5
+ SHA512:
6
+ metadata.gz: 9118912a42a83674c8e7bcbbd378a5830e6955df18da2098d688cebd4fd5b668b18bb61b3b7d4d36d8bbfbf2199d61c7ea6ebd607511d1de655f34b0c0048df4
7
+ data.tar.gz: 5d46747e2e78157907dc95230ad824366de95e36629cd5e726463207c55fe1d6514849c41ef8e256879f34e50356582d01c52e4b551cc4c061b859c7ab7e9fa6
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,12 @@
1
+ AllCops:
2
+ Exclude:
3
+ - db/**/*
4
+ - bundle_bin/**/*
5
+ Include:
6
+ - exe/idigbio
7
+ Metrics/ModuleLength:
8
+ Max: 1000
9
+ Style/StringLiterals:
10
+ EnforcedStyle: double_quotes
11
+ Style/DotPosition:
12
+ EnforcedStyle: trailing
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9
4
+ - 2.0
5
+ - 2.1
6
+ - 2.2
7
+ script:
8
+ - bundle exec rake
9
+ branches:
10
+ only:
11
+ - master
@@ -0,0 +1,8 @@
1
+ gn_crossmap CHANGELOG
2
+ =====================
3
+
4
+ 0.1.0
5
+ -----
6
+ - [Dmitry Mozzherin][dimus] - initial version
7
+
8
+ [dimus]: https://github.com/dimus
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in idigbio_client.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2015 Marine Biological Laboratory
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,188 @@
1
+ IdigbioClient
2
+ =============
3
+
4
+ [![Gem Version][gem_badge]][gem_link]
5
+ [![Continuous Integration Status][ci_badge]][ci_link]
6
+ [![Coverage Status][cov_badge]][cov_link]
7
+ [![CodeClimate][code_badge]][code_link]
8
+ [![Dependency Status][dep_badge]][dep_link]
9
+
10
+
11
+ `idigbio_client` is a Ruby wrapper for [iDigBio API][api]
12
+
13
+
14
+ Installation
15
+ ------------
16
+
17
+ Add this line to your application's Gemfile:
18
+
19
+ ```ruby
20
+ gem 'idigbio_client'
21
+ ```
22
+
23
+ And then execute:
24
+
25
+ $ bundle
26
+
27
+ Or install it yourself as:
28
+
29
+ $ gem install idigbio_client
30
+
31
+ Usage
32
+ -----
33
+
34
+ Client functions can be grouped in 4 catetories
35
+
36
+ * [inspect][inspect] - introspective methods
37
+ * [search][search] - search by provided parameters
38
+ * [show][show] - show any one object based on its UUID
39
+ * [stats][stats] - various statistical data
40
+
41
+ ### Inspect
42
+
43
+ Methos in this section supply metainformation important for effective use
44
+ of the client.
45
+
46
+ #### Method `IdigbioClient.types`
47
+
48
+ Returns an array of types (resources) available via API.
49
+
50
+ ```ruby
51
+ require "idigbio_client"
52
+
53
+ IdigbioClient.types
54
+ ```
55
+
56
+ #### Method `IdigbioClient.fields(type)
57
+
58
+ Returns a hash with description of fields associated with a resource. Takes one
59
+ optional parameter `type`. If type is not given it returns fields to all types
60
+ in a hash.
61
+
62
+ | Parameter | Type | Description |
63
+ |------------|------------------|---------------------------------------------------------------|
64
+ | type | String or Symbol | indicates which type to query for its fields; *default* `nil` |
65
+
66
+ ```ruby
67
+ require "idigbio_client"
68
+
69
+ IdigbioClient.fields
70
+
71
+ # fields of a specific type
72
+ IdigbioClient.fields(:mediarecords)
73
+ IdigbioClient.fields("records")
74
+ ```
75
+
76
+ ### Search
77
+
78
+ #### Method `IdigbioClient.search(opts)`
79
+
80
+ Takes a hash of opts, returns a hash with results of a search.
81
+
82
+ | opts.keys | Type | Description |
83
+ |------------|------------------|----------------------------------------|
84
+ | :type | String or Symbol | resource type; *default* `:records` |
85
+ | :params | search options hash; *default* `{}` |
86
+
87
+ ##### params
88
+
89
+ | param.keys | Description |
90
+ |------------|----------------------------------------------------|
91
+ | :rq | search query hash, default `{}` |
92
+ | :limit | how many records to return in total, default `100` |
93
+ | :offset | from which record to start, default `0` |
94
+
95
+ ```ruby
96
+ require "idigbio_client"
97
+
98
+ # specimen records search
99
+ params = { rq: { genus: "acer" }, limit: 15 }
100
+ IdigbioClient.search(type: :records, params: params)
101
+
102
+ # using non-default type
103
+ IdigbioClient.search(type: :mediarecords, params: params)
104
+ ```
105
+ ### Show
106
+
107
+ #### Method: `IdigbioClient.show(uuid)`
108
+
109
+ Takes uuid, returns record associated with UUID. Record can be of any type.
110
+
111
+ | Parameters | Type | Description |
112
+ |------------|--------|-------------|
113
+ | uuid | String | UUID |
114
+
115
+
116
+ ```ruby
117
+ require "idigbio_client"
118
+
119
+ IdigbioClient.show("1c29be70-24e7-480b-aab1-61224ded0f34")
120
+ ```
121
+
122
+ ### Stats
123
+
124
+ #### Method: `IdigbioClient.count(opts)`
125
+
126
+ Returns the number of records of a specified type
127
+
128
+ | opts.keys | Type | Description |
129
+ |------------|------------------|----------------------------------------|
130
+ | :type | String or Symbol | resource type; *default* `:records` |
131
+ | :params | search options hash; *default* `{}` |
132
+
133
+ ```ruby
134
+ require "idigbio_client"
135
+
136
+ IdigbioClient.count
137
+ IdigbioClient.count(type: :recordsets)
138
+ IdigbioClient.count(type: :mediarecords, params: { rq: { genus: "acer" } })
139
+ ```
140
+
141
+ Development
142
+ -----------
143
+
144
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run
145
+ `bin/console` for an interactive prompt that will allow you to experiment.
146
+
147
+ To install this gem onto your local machine, run `bundle exec rake install`. To
148
+ release a new version, update the version number in `version.rb`, and then run
149
+ `bundle exec rake release` to create a git tag for the version, push git
150
+ commits and tags, and push the `.gem` file to
151
+ [rubygems.org][rubygems].
152
+
153
+ ## Contributing
154
+
155
+ 1. Fork it ( https://github.com/[my-github-username]/idigbio_client/fork )
156
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
157
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
158
+ 4. Push to the branch (`git push origin my-new-feature`)
159
+ 5. Create a new Pull Request
160
+
161
+ Copyright
162
+ ---------
163
+
164
+ Authors -- [Greg Traub][greg], [Dmitry Mozzherin][dimus]
165
+
166
+ Copyright (c) 2015 [Greg Traub][greg], [Dmitry Mozzherin][dimus]
167
+ See [LICENSE][license] for details.
168
+
169
+
170
+ [gem_badge]: https://badge.fury.io/rb/idigbio_client.svg
171
+ [gem_link]: http://badge.fury.io/rb/idigbio_client
172
+ [ci_badge]: https://secure.travis-ci.org/GlobalNamesArchitecture/idigbio_client.svg
173
+ [ci_link]: http://travis-ci.org/GlobalNamesArchitecture/idigbio_client
174
+ [cov_badge]: https://coveralls.io/repos/GlobalNamesArchitecture/idigbio_client/badge.svg?branch=master
175
+ [cov_link]: https://coveralls.io/r/GlobalNamesArchitecture/idigbio_client?branch=master
176
+ [code_badge]: https://codeclimate.com/github/GlobalNamesArchitecture/idigbio_client/badges/gpa.svg
177
+ [code_link]: https://codeclimate.com/github/GlobalNamesArchitecture/idigbio_client
178
+ [dep_badge]: https://gemnasium.com/GlobalNamesArchitecture/idigbio_client.png
179
+ [dep_link]: https://gemnasium.com/GlobalNamesArchitecture/idigbio_client
180
+ [api]: https://www.idigbio.org/wiki/index.php/IDigBio_API
181
+ [inspect]: #inspect
182
+ [search]: #search
183
+ [show]: #show
184
+ [stats]: #stats
185
+ [rubygems]: https://rubygems.org
186
+ [license]: https://github.com/GlobalNamesArchitecture/idigbio-ruby-client/blob/master/LICENSE
187
+ [greg]: https://github.com/gete76
188
+ [dimus]: https://github.com/dimus
@@ -0,0 +1,11 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+ require "rubocop/rake_task"
4
+
5
+ RSpec::Core::RakeTask.new(:rspec) do |rspec|
6
+ rspec.pattern = "spec/**/*_spec.rb"
7
+ end
8
+
9
+ RuboCop::RakeTask.new
10
+
11
+ task default: [:rubocop, :rspec]
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "idigbio_client"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "trollop"
4
+
5
+ SUB_COMMANDS = %w(search)
6
+ global_opts = Trollop.options do
7
+ banner "Client to iDibBio API \n" \
8
+ "Usage:\n" \
9
+ "idigbio search [opts]\n" \
10
+ "--------------------------"
11
+
12
+ stop_on SUB_COMMANDS
13
+ end
14
+
15
+ cmd = ARGV.shift
16
+ cmd_opts = case cmd
17
+ when "search"
18
+ Trollop.options do
19
+ opt(:method,
20
+ "HTTP method: get or post",
21
+ short: "-m",
22
+ default: "post")
23
+ end
24
+ else
25
+ Trollop.die "unknown subcommand #{cmd.inspect}"
26
+ end
27
+
28
+ puts "Global options: #{global_opts.inspect}"
29
+ puts "Subcommand: #{cmd.inspect}"
30
+ puts "Subcommand options: #{cmd_opts.inspect}"
31
+ puts "Remaining arguments: #{ARGV.inspect}"
@@ -0,0 +1,29 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "idigbio_client/version"
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "idigbio_client"
8
+ gem.version = IdigbioClient::VERSION
9
+ gem.authors = ["Greg T.", "Dmitry Mozzherin"]
10
+ gem.email = ["dmozzherin@gmail.com"]
11
+
12
+ gem.summary = "Ruby wrapper for iDigBio API"
13
+ gem.description = "Ruby wrapper for iDigBio API"
14
+ gem.homepage = "https://github.com/GlobalNamesArchitecture/idigbio-ruby-client"
15
+
16
+ gem.files = `git ls-files -z`.split("\x0").
17
+ reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ gem.bindir = "exe"
19
+ gem.executables = gem.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ gem.require_paths = ["lib"]
21
+ gem.add_dependency "rest-client", "~> 1.8"
22
+ gem.add_dependency "trollop", "~> 2.1"
23
+
24
+ gem.add_development_dependency "bundler", "~> 1.7"
25
+ gem.add_development_dependency "rake", "~> 10.0"
26
+ gem.add_development_dependency "rspec", "~> 3.2"
27
+ gem.add_development_dependency "rubocop", "~> 0.31"
28
+ gem.add_development_dependency "coveralls", "~> 0.8"
29
+ end
@@ -0,0 +1,47 @@
1
+ require "json"
2
+ require "logger"
3
+ require "rest_client"
4
+ require "idigbio_client/version"
5
+ require "idigbio_client/helper"
6
+ require "idigbio_client/search"
7
+
8
+ # Ruby wrapper for iDigBio API
9
+ module IdigbioClient
10
+ URL = "https://beta-search.idigbio.org/v2/"
11
+ MAX_LIMIT = 100_000
12
+ DEFAULT_LIMIT = 100
13
+ HEADERS = { content_type: :json, accept: :json }
14
+ extend Helper
15
+
16
+ class << self
17
+ def search(opts)
18
+ Search.search(opts)
19
+ end
20
+
21
+ def logger
22
+ @logger ||= Logger.new($stdout)
23
+ end
24
+
25
+ def show(uuid)
26
+ query(path: "view/#{uuid}", method: :get)
27
+ end
28
+
29
+ def types
30
+ %w(records mediarecords recordsets publishers)
31
+ end
32
+
33
+ def count(opts = {})
34
+ opts = { type: "records", params: {} }.merge(opts)
35
+ type = normalize_type(opts[:type])
36
+ res = query(path: "summary/count/#{type}/", params: opts[:params])
37
+ res ? res[:itemCount] : nil
38
+ end
39
+
40
+ def fields(type = nil)
41
+ types = type ? [normalize_type(type)] : IdigbioClient.types
42
+ types.each_with_object({}) do |t, res|
43
+ res[t.to_sym] = query(path: "meta/fields/#{t}", method: :get)
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,53 @@
1
+ module IdigbioClient
2
+ # Private internal methods
3
+ module Helper
4
+ def query(opts)
5
+ url, params = url_params(opts)
6
+ resp = post?(opts[:method]) ? post(url, params) : get(url, params)
7
+ resp = JSON.parse(resp.body, symbolize_names: true) if resp
8
+ sleep(0.3)
9
+ block_given? ? yield(resp) : resp
10
+ end
11
+
12
+ def url_params(opts)
13
+ opts = { method: "post" }.merge(opts)
14
+ url = URL + opts[:path]
15
+ params = HEADERS.merge(params: opts[:params].to_json)
16
+ [url, params]
17
+ end
18
+
19
+ def post?(method)
20
+ !method.to_s.match(/get/i)
21
+ end
22
+
23
+ def post(url, params)
24
+ request(:post, url, params)
25
+ end
26
+
27
+ def get(url, params)
28
+ params[:query] = params.delete(:params)
29
+ request(:get, url, params)
30
+ end
31
+
32
+ def request(method, url, params)
33
+ RestClient.send(method, url, params) do |resp, _req, _res|
34
+ resp.code == 200 ? resp : nil
35
+ end
36
+ end
37
+
38
+ def normalize_type(type)
39
+ type = type.to_s
40
+ return type if IdigbioClient.types.include?(type)
41
+ sym_types = types.map { |t| ":#{t}" }.join(", ")
42
+ fail "Unknown type :#{type}. Types: #{sym_types}"
43
+ end
44
+
45
+ def symbolize(h)
46
+ h.keys.each do |k|
47
+ sym = k.to_sym
48
+ h[sym] = h.delete(k)
49
+ symbolize(h[sym]) if h[sym].is_a? Hash
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,61 @@
1
+ module IdigbioClient
2
+ # Performs Searh over iDigBio Resources
3
+ module Search
4
+ extend IdigbioClient::Helper
5
+
6
+ class << self
7
+ def search(opts)
8
+ opts = prepare_opts(opts)
9
+ orig_offset = opts[:params][:offset]
10
+ resp = paginate(opts)
11
+ resp[:items] = resp[:items][0...(opts[:params][:limit] - orig_offset)]
12
+ block_given? ? yield(resp) : resp
13
+ end
14
+
15
+ private
16
+
17
+ def paginate(opts)
18
+ items = []
19
+ params = opts[:params]
20
+ while params[:items_to_go].nil? || params[:items_to_go] > 0
21
+ resp = IdigbioClient.query(opts)
22
+ items += resp[:items] if resp[:itemCount] > 0
23
+ adjust_params(resp, params)
24
+ end
25
+ resp[:items] = items
26
+ resp
27
+ end
28
+
29
+ def prepare_opts(opts)
30
+ symbolize(opts)
31
+ opts = { type: :records, method: :post, params: {} }.merge(opts)
32
+ opts[:params] = { rq: {}, limit: DEFAULT_LIMIT, offset: 0, fields: [],
33
+ fields_exclude: [], sort: [] }.merge(opts[:params])
34
+ opts[:path] = prepare_path(opts[:type])
35
+ opts
36
+ end
37
+
38
+ def prepare_path(type)
39
+ type = normalize_type(type)
40
+ type.gsub!("mediarecords", "media")
41
+ "search/#{type}/"
42
+ end
43
+
44
+ def adjust_params(resp, params)
45
+ logger_write(resp, params)
46
+ params[:items_to_go] ||=
47
+ [MAX_LIMIT, resp[:itemCount], params[:limit]].min - params[:offset]
48
+ params[:offset] += resp[:items].size
49
+ params[:items_to_go] -= resp[:items].size
50
+ end
51
+
52
+ def logger_write(resp, params)
53
+ s = params[:offset] + 1
54
+ e = [params[:offset] + resp[:items].size, params[:limit]].min
55
+ IdigbioClient.logger.info(
56
+ "Processed items #{s}-#{e} out of #{params[:limit]}"
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,8 @@
1
+ # Ruby wrapper for iDigBio API
2
+ module IdigbioClient
3
+ VERSION = "0.1.0"
4
+
5
+ def self.version
6
+ VERSION
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,160 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: idigbio_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Greg T.
8
+ - Dmitry Mozzherin
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2015-05-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rest-client
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.8'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.8'
28
+ - !ruby/object:Gem::Dependency
29
+ name: trollop
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '2.1'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '2.1'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bundler
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.7'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.7'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '10.0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '10.0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '3.2'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '3.2'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rubocop
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '0.31'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '0.31'
98
+ - !ruby/object:Gem::Dependency
99
+ name: coveralls
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '0.8'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '0.8'
112
+ description: Ruby wrapper for iDigBio API
113
+ email:
114
+ - dmozzherin@gmail.com
115
+ executables:
116
+ - idigbio
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - ".gitignore"
121
+ - ".rspec"
122
+ - ".rubocop.yml"
123
+ - ".travis.yml"
124
+ - CHANGELOG.md
125
+ - Gemfile
126
+ - LICENSE
127
+ - README.md
128
+ - Rakefile
129
+ - bin/console
130
+ - bin/setup
131
+ - exe/idigbio
132
+ - idigbio_client.gemspec
133
+ - lib/idigbio_client.rb
134
+ - lib/idigbio_client/helper.rb
135
+ - lib/idigbio_client/search.rb
136
+ - lib/idigbio_client/version.rb
137
+ homepage: https://github.com/GlobalNamesArchitecture/idigbio-ruby-client
138
+ licenses: []
139
+ metadata: {}
140
+ post_install_message:
141
+ rdoc_options: []
142
+ require_paths:
143
+ - lib
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ requirements: []
155
+ rubyforge_project:
156
+ rubygems_version: 2.2.3
157
+ signing_key:
158
+ specification_version: 4
159
+ summary: Ruby wrapper for iDigBio API
160
+ test_files: []