rescuegroups 0.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.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +83 -0
- data/Rakefile +9 -0
- data/build/.gitignore +17 -0
- data/build/Gemfile +4 -0
- data/build/LICENSE.txt +22 -0
- data/build/README.md +29 -0
- data/build/Rakefile +1 -0
- data/build/build.gemspec +23 -0
- data/build/lib/build.rb +5 -0
- data/build/lib/build/version.rb +3 -0
- data/lib/rescuegroups.rb +10 -0
- data/lib/rescuegroups/client.rb +139 -0
- data/lib/rescuegroups/configuration.rb +23 -0
- data/lib/rescuegroups/version.rb +3 -0
- data/rescuegroups.gemspec +26 -0
- data/test/helper.rb +3 -0
- data/test/rescuegroups/client_test.rb +28 -0
- data/test/rescuegroups/configuration_test.rb +24 -0
- data/test/rescuegroups/rescuegroups_test.rb +7 -0
- metadata +152 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 bornfree
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
This is Ruby wrapper for Rescuegroups API
|
2
|
+
http://support.rescuegroups.org:8091/display/userguide/HTTP+API
|
3
|
+
|
4
|
+
For now, as gem is not yet complete, please clone/fork the repo
|
5
|
+
and bundle using the :path param in your Gemfile.
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
First setup your api key
|
10
|
+
```ruby
|
11
|
+
Rescuegroups.configure do |config|
|
12
|
+
config.api_key = 'ABCD'
|
13
|
+
end
|
14
|
+
```
|
15
|
+
Then create a client anywhere with object_type and object_action attributes.
|
16
|
+
Your snake_case symbols are automatically camelcased within.
|
17
|
+
```ruby
|
18
|
+
client = Rescuegroups::Client.new :object_type => "animals", :object_action => "publicSearch"
|
19
|
+
```
|
20
|
+
|
21
|
+
If you wish to perform elevated actions like add or edit animal you will have to login.
|
22
|
+
```ruby
|
23
|
+
client.login(:username => "john", :password => "doe", :user_account => "0")
|
24
|
+
```
|
25
|
+
This will attach token and tokenHash to further requests
|
26
|
+
|
27
|
+
### Search procedure
|
28
|
+
|
29
|
+
Add filters. For example to search for an animal with animalID as 1234
|
30
|
+
```ruby
|
31
|
+
client.set_search_filter 'animalID', :eq, "1234"
|
32
|
+
client.set_search_filter 'animalStatus', :eq, "Available" # Not required but adviced
|
33
|
+
```
|
34
|
+
|
35
|
+
To clear all filters do
|
36
|
+
```ruby
|
37
|
+
client.clear_search_filters
|
38
|
+
```
|
39
|
+
|
40
|
+
Specify the fields you need as an array
|
41
|
+
```ruby
|
42
|
+
client.set_search_fields ['animalName', 'animalID', 'animalBreed']
|
43
|
+
```
|
44
|
+
|
45
|
+
To clear all fields do
|
46
|
+
```ruby
|
47
|
+
client.clear_search_fields
|
48
|
+
```
|
49
|
+
|
50
|
+
Then, run the query and get the json
|
51
|
+
```ruby
|
52
|
+
response = client.query
|
53
|
+
```
|
54
|
+
|
55
|
+
### Add/Edit animal procedure
|
56
|
+
To add animal species(dog/cat/bird) and primary breed are compulsory
|
57
|
+
First create a client and login
|
58
|
+
```ruby
|
59
|
+
client = Rescuegroups::Client.new :object_type => "animals", :object_action => "add" # or "edit"
|
60
|
+
client.login(:username => "john", :password => "doe", :user_account => "0")
|
61
|
+
```
|
62
|
+
|
63
|
+
Then set the values of fields(snake_cased)
|
64
|
+
```ruby
|
65
|
+
client.set_value_fields(:animal_name => "Pepsi", :animal_species_id => "Dog", :animal_primary_breed_id => "123")
|
66
|
+
```
|
67
|
+
|
68
|
+
Send a query as usual and watch for response
|
69
|
+
```ruby
|
70
|
+
response = client.query
|
71
|
+
```
|
72
|
+
|
73
|
+
|
74
|
+
For available object type and object actions refer to
|
75
|
+
http://support.rescuegroups.org:8091/display/userguide/HTTP+API+object+definitions
|
76
|
+
|
77
|
+
## Contributing
|
78
|
+
|
79
|
+
1. Fork it
|
80
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
81
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
82
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
83
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
data/build/.gitignore
ADDED
data/build/Gemfile
ADDED
data/build/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 bornfree
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/build/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Build
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'build'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install build
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/build/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/build/build.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'build/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "build"
|
8
|
+
spec.version = Build::VERSION
|
9
|
+
spec.authors = ["bornfree"]
|
10
|
+
spec.email = ["harsha.xg@gmail.com"]
|
11
|
+
spec.description = %q{TODO: Write a gem description}
|
12
|
+
spec.summary = %q{TODO: Write a gem summary}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
end
|
data/build/lib/build.rb
ADDED
data/lib/rescuegroups.rb
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
module Rescuegroups
|
2
|
+
class Client
|
3
|
+
|
4
|
+
OPERATIONS = { :eq => "equal",
|
5
|
+
:ne => "notequal",
|
6
|
+
:lt => "lessthan",
|
7
|
+
:lte => "lessthanorequal",
|
8
|
+
:gt => "greaterthan",
|
9
|
+
:gte => "greaterthanorequal",
|
10
|
+
:contains => "contains",
|
11
|
+
:notcontains => "notcontains",
|
12
|
+
:blank => "blank",
|
13
|
+
:notblank => "notblank",
|
14
|
+
:radius => "radius"}
|
15
|
+
|
16
|
+
attr_accessor :api_key, :object_type, :object_action, :search, :fields, :token, :token_hash, :values
|
17
|
+
|
18
|
+
def initialize(options={})
|
19
|
+
self.api_key = options[:api_key] || Rescuegroups.api_key
|
20
|
+
self.object_type = options[:object_type]
|
21
|
+
self.object_action = options[:object_action]
|
22
|
+
self.search = search_params
|
23
|
+
self.values = value_params
|
24
|
+
|
25
|
+
raise ArgumentError, "Please provide object_type and object_action" if (self.object_type == nil or self.object_action == nil)
|
26
|
+
end
|
27
|
+
|
28
|
+
def login(options={})
|
29
|
+
main_options = { :username => options[:username],
|
30
|
+
:password => options[:password],
|
31
|
+
:account_number => options[:account_number],
|
32
|
+
:action => "login"}
|
33
|
+
main_options = camelize(main_options)
|
34
|
+
response_object = Curl.post(Rescuegroups::Configuration::ENDPOINT, main_options.to_json)
|
35
|
+
response = JSON.parse(response_object.body_str)
|
36
|
+
if response["status"] == "ok"
|
37
|
+
self.token = response["data"]["token"]
|
38
|
+
self.token_hash = response["data"]["tokenHash"]
|
39
|
+
puts "Login successful. Token set as #{self.token} and token hash as #{self.token_hash}"
|
40
|
+
return true
|
41
|
+
else
|
42
|
+
puts "Login unsuccessful." + response["messages"]["generalMessages"]["messageText"]
|
43
|
+
return false
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def logged_in?
|
48
|
+
self.token && self.token_hash
|
49
|
+
end
|
50
|
+
|
51
|
+
def set_search_filter(field_name, operation, criteria)
|
52
|
+
|
53
|
+
filter ={ :field_name => field_name.to_s.split("_").each_with_index {|part,i| part.capitalize! unless i == 0}.join,
|
54
|
+
:operation => OPERATIONS[operation],
|
55
|
+
:criteria => criteria.to_s}
|
56
|
+
self.search["search"]["filters"] << camelize(filter)
|
57
|
+
end
|
58
|
+
|
59
|
+
def clear_search_filters
|
60
|
+
self.search["search"]["filters"] = []
|
61
|
+
end
|
62
|
+
|
63
|
+
def set_search_fields(fields)
|
64
|
+
self.search["search"]["fields"] = fields
|
65
|
+
end
|
66
|
+
|
67
|
+
def clear_search_fields
|
68
|
+
self.search["search"]["fields"] = []
|
69
|
+
end
|
70
|
+
|
71
|
+
def set_value_fields(fields)
|
72
|
+
self.values["values"] << camelize(fields)
|
73
|
+
end
|
74
|
+
|
75
|
+
def clear_value_fields
|
76
|
+
self.values["values"] = []
|
77
|
+
end
|
78
|
+
|
79
|
+
def query
|
80
|
+
response_object = Curl.post(Rescuegroups::Configuration::ENDPOINT, query_params.to_json)
|
81
|
+
@response = JSON.parse(response_object.body_str)
|
82
|
+
end
|
83
|
+
|
84
|
+
def query_params
|
85
|
+
if logged_in?
|
86
|
+
main_options = {:token => self.token,
|
87
|
+
:token_hash => self.token_hash,
|
88
|
+
:object_type => self.object_type,
|
89
|
+
:object_action => self.object_action}
|
90
|
+
else
|
91
|
+
main_options = {:apikey => self.api_key,
|
92
|
+
:object_type => self.object_type,
|
93
|
+
:object_action => self.object_action}
|
94
|
+
end
|
95
|
+
|
96
|
+
if self.search["search"]["filters"].present?
|
97
|
+
main_options.merge!(self.search)
|
98
|
+
elsif self.values["values"].present?
|
99
|
+
main_options.merge!(self.values)
|
100
|
+
end
|
101
|
+
main_options = camelize(main_options)
|
102
|
+
return main_options
|
103
|
+
end
|
104
|
+
|
105
|
+
def search_params
|
106
|
+
camelize({:search =>
|
107
|
+
{
|
108
|
+
:result_start => 0,
|
109
|
+
:result_limit => 10,
|
110
|
+
:result_sort => "animalID",
|
111
|
+
:result_order => "asc",
|
112
|
+
:fields => [],
|
113
|
+
:filters => []
|
114
|
+
}
|
115
|
+
})
|
116
|
+
end
|
117
|
+
|
118
|
+
def value_params
|
119
|
+
camelize({:values =>[] })
|
120
|
+
end
|
121
|
+
|
122
|
+
def camelize(snake_hash)
|
123
|
+
camel_hash = {}
|
124
|
+
snake_hash.each do |k,v|
|
125
|
+
camelized_key = k.to_s.split("_").each_with_index do |part,i|
|
126
|
+
next if i == 0
|
127
|
+
(part == "id")? part.upcase! : part.capitalize!
|
128
|
+
end.join
|
129
|
+
if v.class == Hash
|
130
|
+
camel_hash[camelized_key] = camelize(v)
|
131
|
+
else
|
132
|
+
camel_hash[camelized_key] = v
|
133
|
+
end
|
134
|
+
end
|
135
|
+
return camel_hash
|
136
|
+
end
|
137
|
+
|
138
|
+
end
|
139
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Rescuegroups
|
2
|
+
module Configuration
|
3
|
+
|
4
|
+
ENDPOINT = 'https://api.rescuegroups.org/http/json'
|
5
|
+
API_KEY = nil
|
6
|
+
CONTENT_TYPE = "application/json"
|
7
|
+
|
8
|
+
attr_accessor :api_key
|
9
|
+
|
10
|
+
def self.extended(base)
|
11
|
+
base.reset
|
12
|
+
end
|
13
|
+
|
14
|
+
def reset
|
15
|
+
self.api_key = API_KEY
|
16
|
+
end
|
17
|
+
|
18
|
+
def configure
|
19
|
+
yield self
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rescuegroups/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "rescuegroups"
|
8
|
+
spec.version = Rescuegroups::VERSION
|
9
|
+
spec.authors = ["bornfree"]
|
10
|
+
spec.email = ["harsha.xg@gmail.com"]
|
11
|
+
spec.description = "Ruby wrapper for Rescuegroups API"
|
12
|
+
spec.summary = "Ruby wrapper for talking to the Rescuegroups API"
|
13
|
+
spec.homepage = "https://github.com/bornfree/rescuegroups"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "curb"
|
24
|
+
spec.add_development_dependency "json"
|
25
|
+
spec.add_development_dependency "pry-rails"
|
26
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe 'client' do
|
4
|
+
|
5
|
+
describe '.api_key' do
|
6
|
+
it 'should be able to set api key when provided' do
|
7
|
+
client = Rescuegroups::Client.new :api_key => "123", :object_type => "animals", :object_action => "define"
|
8
|
+
client.api_key.must_equal "123"
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should be able to revert to default when api key when created' do
|
12
|
+
client = Rescuegroups::Client.new :object_type => "animals", :object_action => "define"
|
13
|
+
client.api_key.must_equal Rescuegroups::Configuration::API_KEY
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should have all three values of apikey, objecttype and objectaction' do
|
17
|
+
client = Rescuegroups::Client.new :object_type => "animals", :object_action => "define"
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should run a query and return something' do
|
21
|
+
client = Rescuegroups::Client.new :object_type => "animals", :object_action => "define"
|
22
|
+
client.filter :age, :lt, 5
|
23
|
+
client.query != nil
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe 'configuration' do
|
4
|
+
|
5
|
+
describe '.api_key' do
|
6
|
+
it 'should have an api key' do
|
7
|
+
Rescuegroups.api_key.must_equal Rescuegroups::Configuration::API_KEY
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
after do
|
12
|
+
Rescuegroups.reset
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '.configure' do
|
16
|
+
it 'should configure api_key' do
|
17
|
+
Rescuegroups.configure do |config|
|
18
|
+
config.send("api_key=", "123")
|
19
|
+
Rescuegroups.send("api_key").must_equal "123"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rescuegroups
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- bornfree
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
prerelease: false
|
16
|
+
type: :development
|
17
|
+
name: bundler
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '1.3'
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.3'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
prerelease: false
|
32
|
+
type: :development
|
33
|
+
name: rake
|
34
|
+
version_requirements: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
prerelease: false
|
48
|
+
type: :development
|
49
|
+
name: curb
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
prerelease: false
|
64
|
+
type: :development
|
65
|
+
name: json
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
prerelease: false
|
80
|
+
type: :development
|
81
|
+
name: pry-rails
|
82
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
description: Ruby wrapper for Rescuegroups API
|
95
|
+
email:
|
96
|
+
- harsha.xg@gmail.com
|
97
|
+
executables: []
|
98
|
+
extensions: []
|
99
|
+
extra_rdoc_files: []
|
100
|
+
files:
|
101
|
+
- .gitignore
|
102
|
+
- Gemfile
|
103
|
+
- LICENSE.txt
|
104
|
+
- README.md
|
105
|
+
- Rakefile
|
106
|
+
- build/.gitignore
|
107
|
+
- build/Gemfile
|
108
|
+
- build/LICENSE.txt
|
109
|
+
- build/README.md
|
110
|
+
- build/Rakefile
|
111
|
+
- build/build.gemspec
|
112
|
+
- build/lib/build.rb
|
113
|
+
- build/lib/build/version.rb
|
114
|
+
- lib/rescuegroups.rb
|
115
|
+
- lib/rescuegroups/client.rb
|
116
|
+
- lib/rescuegroups/configuration.rb
|
117
|
+
- lib/rescuegroups/version.rb
|
118
|
+
- rescuegroups.gemspec
|
119
|
+
- test/helper.rb
|
120
|
+
- test/rescuegroups/client_test.rb
|
121
|
+
- test/rescuegroups/configuration_test.rb
|
122
|
+
- test/rescuegroups/rescuegroups_test.rb
|
123
|
+
homepage: https://github.com/bornfree/rescuegroups
|
124
|
+
licenses:
|
125
|
+
- MIT
|
126
|
+
post_install_message:
|
127
|
+
rdoc_options: []
|
128
|
+
require_paths:
|
129
|
+
- lib
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
requirements: []
|
143
|
+
rubyforge_project:
|
144
|
+
rubygems_version: 1.8.25
|
145
|
+
signing_key:
|
146
|
+
specification_version: 3
|
147
|
+
summary: Ruby wrapper for talking to the Rescuegroups API
|
148
|
+
test_files:
|
149
|
+
- test/helper.rb
|
150
|
+
- test/rescuegroups/client_test.rb
|
151
|
+
- test/rescuegroups/configuration_test.rb
|
152
|
+
- test/rescuegroups/rescuegroups_test.rb
|