tapirgo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 130fa081e37fb0cb1ea8a735e2e97564a5dec0a9
4
+ data.tar.gz: 565f8203f8c2fee22ba0852b23d2fabc870c24b8
5
+ SHA512:
6
+ metadata.gz: 608c5b630cb02eea001e7a7e8f88cfd02b403c0596e9f87e811e519b8e341c9efa8ffe7126443cd9fca4464b7c60a1ab7f151097d22986b4f1baff2ccf1db498
7
+ data.tar.gz: aa0ab43d95ddd483d38b6a9266cdd8aa63e95e783c4b2b4e22246e2696093cfad3d2831c1a24a024de772ced6cb3c8c0c577d597acb8f795d95d471813f6036b
data/.gitignore ADDED
@@ -0,0 +1,20 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .kitchen
19
+ *.sw?
20
+ *~
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+
3
+ gemfile:
4
+ - Gemfile
5
+
6
+ rvm:
7
+ - 1.9.2
8
+ - 1.9.3
9
+ - 2.0.0
10
+ - 2.1.0
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ Tapirgo Gem CHANGELOG
2
+ =====================
3
+
4
+ v0.1.0 (2014-03-4)
5
+ ------------------
6
+ * Initial release
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # Encoding: UTF-8
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in tapirgo.gemspec
6
+ gemspec
7
+
8
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
data/LICENSE.txt ADDED
@@ -0,0 +1,15 @@
1
+ Author:: Jonathan Hartman (<j@p4nt5.com>)
2
+
3
+ Copyright (c) 2014 Jonathan Hartman
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
data/README.md ADDED
@@ -0,0 +1,58 @@
1
+ [![Gem Version](https://badge.fury.io/rb/tapirgo.png)](http://badge.fury.io/rb/tapirgo)
2
+ [![Build Status](https://travis-ci.org/RoboticCheese/tapirgo-ruby.png?branch=master)](https://travis-ci.org/RoboticCheese/tapirgo-ruby)
3
+ [![Code Climate](https://codeclimate.com/github/RoboticCheese/tapirgo-ruby.png)](https://codeclimate.com/github/RoboticCheese/tapirgo-ruby)
4
+ [![Coverage Status](https://coveralls.io/repos/RoboticCheese/tapirgo-ruby/badge.png)](https://coveralls.io/r/RoboticCheese/tapirgo-ruby)
5
+ [![Dependency Status](https://gemnasium.com/RoboticCheese/tapirgo-ruby.png)](https://gemnasium.com/RoboticCheese/tapirgo-ruby)
6
+
7
+ # Tapirgo
8
+
9
+ A simple Ruby library for the [Tapir](http://tapirgo.com/) API.
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ gem 'tapirgo'
16
+
17
+ And then execute:
18
+
19
+ $ bundle
20
+
21
+ Or install it yourself as:
22
+
23
+ $ gem install tapirgo
24
+
25
+ ## Usage
26
+
27
+ ### Searches
28
+
29
+ Create a `Tapirgo::Search` instance with your Tapir API token and desired
30
+ search string:
31
+
32
+ search = Tapirgo::Search.new('XXXXXXXXXXXXXX', 'example')
33
+
34
+ Search results can be accessed individually or iterated over:
35
+
36
+ first_result = search[0]
37
+ search.each { |result| puts result }
38
+
39
+ Each result has methods for all the data returned by the Tapir API:
40
+
41
+ result.title
42
+ result.score
43
+ result.link
44
+ result.content
45
+ result.summary
46
+ result.published
47
+
48
+ For additional information, see the
49
+ [Tapir documentation](http://tapirgo.com/#docs).
50
+
51
+ ## Contributing
52
+
53
+ 1. Fork it ( http://github.com/RoboticCheese/tapirgo/fork )
54
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
55
+ 3. Ensure all tests still pass and that your change is tested (`rake`)
56
+ 4. Commit your changes (`git commit -am 'Add some feature'`)
57
+ 5. Push to the branch (`git push origin my-new-feature`)
58
+ 6. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,25 @@
1
+ # Encoding: UTF-8
2
+
3
+ require 'bundler/setup'
4
+ require 'bundler/gem_tasks'
5
+ require 'rubocop/rake_task'
6
+ require 'cane/rake_task'
7
+ require 'rspec/core/rake_task'
8
+
9
+ Cane::RakeTask.new
10
+
11
+ Rubocop::RakeTask.new do |task|
12
+ task.patterns = %w{**/*.rb}
13
+ end
14
+
15
+ desc 'Display LOC stats'
16
+ task :loc do
17
+ puts "\n## LOC Stats"
18
+ sh 'countloc -r lib'
19
+ end
20
+
21
+ RSpec::Core::RakeTask.new(:spec)
22
+
23
+ task :default => [ :cane, :rubocop, :loc, :spec ]
24
+
25
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,33 @@
1
+ # Encoding: UTF-8
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ module Tapirgo
21
+ module Errors
22
+ # Exception class for HTTP Tapir errors
23
+ #
24
+ # @author Jonathan Hartman <j@p4nt5.com>
25
+ class HTTPError < StandardError
26
+ def initialize(response)
27
+ super("Request failed with code #{response.code}: #{response.to_s}")
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,70 @@
1
+ # Encoding: UTF-8
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'json'
21
+
22
+ module Tapirgo
23
+ class Search
24
+ # Tapir search result class
25
+ #
26
+ # @author Jonathan Hartman <j@p4nt5.com>
27
+ class Result
28
+ include Errors
29
+
30
+ def initialize(result)
31
+ @json = case result
32
+ when Hash
33
+ result
34
+ when String
35
+ JSON.parse(result)
36
+ end
37
+ end
38
+
39
+ def title
40
+ @title ||= json['title']
41
+ end
42
+
43
+ def score
44
+ @score ||= json['_score']
45
+ end
46
+
47
+ def link
48
+ @link ||= json['link']
49
+ end
50
+
51
+ def content
52
+ @content ||= json['content']
53
+ end
54
+
55
+ def summary
56
+ @summary ||= json['summary']
57
+ end
58
+
59
+ def published
60
+ @published ||= json['published_on']
61
+ end
62
+
63
+ private
64
+
65
+ attr_accessor :json
66
+ end
67
+ end
68
+ end
69
+
70
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,68 @@
1
+ # Encoding: UTF-8
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'rest-client'
21
+ require 'uri'
22
+ require 'tapirgo/search/result'
23
+
24
+ module Tapirgo
25
+ # Tapir search class
26
+ #
27
+ # @author Jonathan Hartman <j@p4nt5.com>
28
+ class Search
29
+ include Enumerable
30
+ include Tapirgo::Errors
31
+
32
+ def initialize(token, query_str)
33
+ @token = token
34
+ @query = query_str
35
+ @results = JSON.parse(get).map { |r| Search::Result.new(r) }
36
+ self
37
+ end
38
+
39
+ def [](index)
40
+ results[index]
41
+ end
42
+
43
+ def each
44
+ results.each { |r| yield(r) }
45
+ end
46
+
47
+ private
48
+
49
+ attr_reader :token
50
+ attr_reader :results
51
+
52
+ def get
53
+ response = RestClient.get(uri, accept: :json)
54
+ response.code == 200 || fail(HTTPError, response)
55
+ response.to_s
56
+ end
57
+
58
+ def uri
59
+ "http://www.tapirgo.com/api/1/search.json?token=#{token}&query=#{query}"
60
+ end
61
+
62
+ def query
63
+ URI.escape(@query)
64
+ end
65
+ end
66
+ end
67
+
68
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,27 @@
1
+ # Encoding: UTF-8
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ # Tapirgo Gem version string
21
+ #
22
+ # @author Jonathan Hartman <j@p4nt5.com>
23
+ module Tapirgo
24
+ VERSION = '0.1.0'
25
+ end
26
+
27
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
data/lib/tapirgo.rb ADDED
@@ -0,0 +1,25 @@
1
+ # Encoding: UTF-8
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'tapirgo/errors'
21
+ require 'tapirgo/search'
22
+ require 'tapirgo/search/result'
23
+ require 'tapirgo/version'
24
+
25
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,35 @@
1
+ # Encoding: UTF-8
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'rspec'
21
+ require 'simplecov'
22
+ require 'simplecov-console'
23
+ require 'coveralls'
24
+
25
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
26
+ Coveralls::SimpleCov::Formatter,
27
+ SimpleCov::Formatter::HTMLFormatter,
28
+ SimpleCov::Formatter::Console
29
+ ]
30
+ SimpleCov.minimum_coverage 90
31
+ SimpleCov.start
32
+
33
+ require_relative '../lib/tapirgo'
34
+
35
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,34 @@
1
+ # -*- encoding: utf-8 -*-
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ require_relative '../spec_helper'
20
+
21
+ describe Tapirgo::Errors::HTTPError do
22
+ describe '#initialize' do
23
+ let(:code) { 500 }
24
+ let(:to_s) { 'OH NOES' }
25
+ let(:response) { double(code: code, to_s: to_s) }
26
+ let(:http_error) { Tapirgo::Errors::HTTPError.new(response) }
27
+
28
+ it 'generates a correct error string' do
29
+ expect(http_error.to_s).to eq('Request failed with code 500: OH NOES')
30
+ end
31
+ end
32
+ end
33
+
34
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,79 @@
1
+ # -*- encoding: utf-8 -*-
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ require_relative '../../spec_helper'
20
+ require 'json'
21
+
22
+ describe Tapirgo::Search::Result do
23
+ let(:title) { 'Star Wars Ipsum' }
24
+ let(:score) { nil }
25
+ let(:link) { '2014-02-22-starwars-test-ipsum.html' }
26
+ let(:content) { "Lucas ipsum dolor sit amet organa lars kashyyk moff.\n" }
27
+ let(:summary) { nil }
28
+ let(:published) { '2014-02-22T02:34:00Z' }
29
+ let(:input) do
30
+ "{\"title\":\"#{title}\"," \
31
+ "\"_score\":#{score || 'null'}," \
32
+ "\"link\":\"#{link}\"," \
33
+ "\"content\":\"#{content.gsub("\n", '\\n')}\"," \
34
+ "\"summary\":#{summary || 'null'}," \
35
+ "\"published_on\":\"#{published}\"}"
36
+ end
37
+ let(:json) { input.class == String ? JSON.parse(input) : input }
38
+ let(:result) { Tapirgo::Search::Result.new(input) }
39
+
40
+ describe '#initialize' do
41
+ context 'JSON string input' do
42
+ it 'parses and stores the JSON input' do
43
+ expect(result.instance_variable_get(:@json)).to eq(json)
44
+ end
45
+ end
46
+
47
+ context 'Hash input' do
48
+ let(:input) do
49
+ {
50
+ 'title' => title,
51
+ '_score' => score,
52
+ 'link' => link,
53
+ 'content' => content,
54
+ 'summary' => summary,
55
+ 'published_on' => published
56
+ }
57
+ end
58
+ it 'stores the Hash input' do
59
+ expect(result.instance_variable_get(:@json)).to eq(input)
60
+ end
61
+ end
62
+ end
63
+
64
+ %w{title score link content summary published}.each do |i|
65
+ describe "##{i}" do
66
+ it "returns the result #{i}" do
67
+ expect(result.instance_eval(i)).to eq(instance_eval(i))
68
+ end
69
+ end
70
+ end
71
+
72
+ describe '#json' do
73
+ it 'returns the parsed JSON data' do
74
+ expect(result.send(:json)).to eq(json)
75
+ end
76
+ end
77
+ end
78
+
79
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
@@ -0,0 +1,107 @@
1
+ # -*- encoding: utf-8 -*-
2
+ #
3
+ # Author:: Jonathan Hartman (<j@p4nt5.com>)
4
+ #
5
+ # Copyright (C) 2014, Jonathan Hartman
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ require_relative '../spec_helper'
20
+ require 'json'
21
+
22
+ describe Tapirgo::Search do
23
+ let(:token) { 'xyz123' }
24
+ let(:query) { 'successful test' }
25
+ let(:search) { Tapirgo::Search.new(token, query) }
26
+ let(:code) { 200 }
27
+ let(:to_s) { '[{"things": [1, 2, 3]}]' }
28
+ let(:api_get) { double(code: code, to_s: to_s) }
29
+ let(:json) { JSON.parse(to_s) }
30
+
31
+ before(:each) do
32
+ RestClient.stub(:get).and_return(api_get)
33
+ Tapirgo::Search::Result.stub(:new) { |r| r }
34
+ end
35
+
36
+ describe '#initialize' do
37
+ before(:each) { Tapirgo::Search.stub(:get).and_return(to_s) }
38
+
39
+ it 'sets up a token instance variable' do
40
+ expect(search.instance_variable_get(:@token)).to eq(token)
41
+ end
42
+
43
+ it 'sets up a query instance variable' do
44
+ expect(search.instance_variable_get(:@query)).to eq(query)
45
+ end
46
+
47
+ it 'saves the set of search results' do
48
+ expect(search.instance_variable_get(:@results)).to eq(json)
49
+ end
50
+ end
51
+
52
+ describe '#[]' do
53
+ it 'returns the result at the given index' do
54
+ expect(search[0]).to eq(json[0])
55
+ end
56
+ end
57
+
58
+ describe '#each' do
59
+ it 'iterates over the array of search results' do
60
+ expect(search.each { |r| r }).to eq(json)
61
+ end
62
+ end
63
+
64
+ describe '#get' do
65
+ context 'a successful HTTP get' do
66
+ it 'returns the appropriate JSON result' do
67
+ expect(search.send(:get)).to eq(to_s)
68
+ end
69
+ end
70
+
71
+ context 'a failed HTTP get' do
72
+ let(:code) { 500 }
73
+ let(:to_s) { 'Well that did not work' }
74
+
75
+ it 'raises an exception' do
76
+ expect { search.send(:get) }.to raise_error(Tapirgo::Errors::HTTPError)
77
+ end
78
+ end
79
+ end
80
+
81
+ describe '#uri' do
82
+ before(:each) do
83
+ Tapirgo::Search.stub(:query).with(query).and_return('successful%20test')
84
+ end
85
+
86
+ it 'generates the correct URI string' do
87
+ res = search.send(:uri)
88
+ expect(res).to eq('http://www.tapirgo.com/api/1/search.json?' \
89
+ "token=xyz123&query=successful%20test")
90
+ end
91
+ end
92
+
93
+ describe '#token' do
94
+ it 'returns the Search token' do
95
+ expect(search.send(:token)).to eq(token)
96
+ end
97
+ end
98
+
99
+ describe '#query' do
100
+ it 'returns a URI-ized copy of the original query string' do
101
+ res = search.send(:query)
102
+ expect(res).to eq('successful%20test')
103
+ end
104
+ end
105
+ end
106
+
107
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
data/tapirgo.gemspec ADDED
@@ -0,0 +1,39 @@
1
+ # Encoding: UTF-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'tapirgo/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'tapirgo'
9
+ spec.version = Tapirgo::VERSION
10
+ spec.authors = ['Jonathan Hartman']
11
+ spec.email = ['j@p4nt5.com']
12
+ spec.summary = %q{A simple Ruby library for the Tapir API}
13
+ spec.description = spec.summary
14
+ spec.homepage = 'https://github.com/RoboticCheese/tapirgo'
15
+ spec.license = 'Apache'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(/^(test|spec|features)\//)
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.add_dependency 'rest-client'
23
+
24
+ %w{
25
+ bundler
26
+ rake
27
+ cane
28
+ countloc
29
+ rubocop
30
+ rspec
31
+ simplecov
32
+ simplecov-console
33
+ coveralls
34
+ }.each do |d|
35
+ spec.add_development_dependency d
36
+ end
37
+ end
38
+
39
+ # vim: ai et ts=2 sts=2 sw=2 ft=ruby
metadata ADDED
@@ -0,0 +1,205 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tapirgo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jonathan Hartman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: cane
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: countloc
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'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov-console
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: coveralls
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: A simple Ruby library for the Tapir API
154
+ email:
155
+ - j@p4nt5.com
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - ".gitignore"
161
+ - ".travis.yml"
162
+ - CHANGELOG.md
163
+ - Gemfile
164
+ - LICENSE.txt
165
+ - README.md
166
+ - Rakefile
167
+ - lib/tapirgo.rb
168
+ - lib/tapirgo/errors.rb
169
+ - lib/tapirgo/search.rb
170
+ - lib/tapirgo/search/result.rb
171
+ - lib/tapirgo/version.rb
172
+ - spec/spec_helper.rb
173
+ - spec/tapirgo/errors_spec.rb
174
+ - spec/tapirgo/search/result_spec.rb
175
+ - spec/tapirgo/search_spec.rb
176
+ - tapirgo.gemspec
177
+ homepage: https://github.com/RoboticCheese/tapirgo
178
+ licenses:
179
+ - Apache
180
+ metadata: {}
181
+ post_install_message:
182
+ rdoc_options: []
183
+ require_paths:
184
+ - lib
185
+ required_ruby_version: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ requirements: []
196
+ rubyforge_project:
197
+ rubygems_version: 2.2.2
198
+ signing_key:
199
+ specification_version: 4
200
+ summary: A simple Ruby library for the Tapir API
201
+ test_files:
202
+ - spec/spec_helper.rb
203
+ - spec/tapirgo/errors_spec.rb
204
+ - spec/tapirgo/search/result_spec.rb
205
+ - spec/tapirgo/search_spec.rb