myvr 0.0.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.
- checksums.yaml +7 -0
- data/README.md +71 -0
- data/lib/myvr.rb +20 -0
- data/lib/myvr/amenity.rb +4 -0
- data/lib/myvr/api/amenities.rb +21 -0
- data/lib/myvr/api/fees.rb +21 -0
- data/lib/myvr/api/photos.rb +21 -0
- data/lib/myvr/api/properties.rb +21 -0
- data/lib/myvr/api/rates.rb +21 -0
- data/lib/myvr/api/rooms.rb +21 -0
- data/lib/myvr/client.rb +62 -0
- data/lib/myvr/error.rb +4 -0
- data/lib/myvr/fee.rb +4 -0
- data/lib/myvr/model.rb +9 -0
- data/lib/myvr/photo.rb +4 -0
- data/lib/myvr/property.rb +31 -0
- data/lib/myvr/rate.rb +4 -0
- data/lib/myvr/room.rb +5 -0
- data/lib/myvr/version.rb +32 -0
- data/myvr.gemspec +21 -0
- metadata +124 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 46a476e0ad9beca3e9b4f43790c54cbde5281a43
|
|
4
|
+
data.tar.gz: 13cee268b5ab3cc57988100ee89c47ef742a8ea7
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 74c28bbfa0f70f05d1ee2b2da7c379e509cb196e48c8803b714b7892418b56263fb3de1cec7ddd04a954bce1fac10a1da3b6d192267033fc129d19dfa596808b
|
|
7
|
+
data.tar.gz: 7e04def406f644f3a544925202a20bd247823cbb954c82f9ff4c3d6ee0890216e465838697115d4a8715e77381bebcd637156a72a7429b6fd51480dcdbb9e165
|
data/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# MyVR
|
|
2
|
+
|
|
3
|
+
The purpose of this library is to communicate with the MyVR API using Ruby!
|
|
4
|
+
|
|
5
|
+
To view the original API docs check out
|
|
6
|
+
[developer.myvr.com](https://developer.myvr.com/).
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
gem install myvr
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Configuration
|
|
15
|
+
|
|
16
|
+
There are two different ways to authenticate with MyVR. MyVR Connect using
|
|
17
|
+
OAuth, or Application level authentication.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
To start using the MyVR API you will need to [register an application with
|
|
21
|
+
MyVR](https://myvr.com/account/#/settings/api/).
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
Your new application will be assigned a consumer key/secret pair that identifies
|
|
25
|
+
your application to Twitter. This is all you need to configure your client for
|
|
26
|
+
application-only authentication.
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
client = MyVR::Client.new(access_key: 'YOUR_ACCESS_KEY')
|
|
30
|
+
client.properties
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Roadmap
|
|
35
|
+
|
|
36
|
+
+ Properties
|
|
37
|
+
+ List Properties :shipit:
|
|
38
|
+
+ Retrieve Property :shipit:
|
|
39
|
+
+ Create Property
|
|
40
|
+
+ Update Property
|
|
41
|
+
+ Delete Property
|
|
42
|
+
+ Rates
|
|
43
|
+
+ List Rates
|
|
44
|
+
+ Retrieve Rate
|
|
45
|
+
+ Create Rate
|
|
46
|
+
+ Update Rate
|
|
47
|
+
+ Delete Rate
|
|
48
|
+
+ Fees
|
|
49
|
+
+ List Fees
|
|
50
|
+
+ Retrieve Fees
|
|
51
|
+
+ Create Fees
|
|
52
|
+
+ Update Fees
|
|
53
|
+
+ Delete Fees
|
|
54
|
+
+ Photos
|
|
55
|
+
+ List Photos
|
|
56
|
+
+ Retrieve Photos
|
|
57
|
+
+ Create Photos
|
|
58
|
+
+ Update Photos
|
|
59
|
+
+ Delete Photos
|
|
60
|
+
+ Amenities
|
|
61
|
+
+ List Amenities
|
|
62
|
+
+ Retrieve Amenities
|
|
63
|
+
+ Create Amenities
|
|
64
|
+
+ Update Amenities
|
|
65
|
+
+ Delete Amenities
|
|
66
|
+
+ Rooms
|
|
67
|
+
+ List Rooms
|
|
68
|
+
+ Retrieve Rooms
|
|
69
|
+
+ Create Rooms
|
|
70
|
+
+ Update Rooms
|
|
71
|
+
+ Delete Rooms
|
data/lib/myvr.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require 'addressable/uri'
|
|
2
|
+
require 'curb'
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
require_relative './myvr/version'
|
|
6
|
+
require_relative './myvr/api/amenities'
|
|
7
|
+
require_relative './myvr/api/fees'
|
|
8
|
+
require_relative './myvr/api/photos'
|
|
9
|
+
require_relative './myvr/api/properties'
|
|
10
|
+
require_relative './myvr/api/rates'
|
|
11
|
+
require_relative './myvr/api/rooms'
|
|
12
|
+
require_relative './myvr/client'
|
|
13
|
+
|
|
14
|
+
require_relative './myvr/model'
|
|
15
|
+
require_relative './myvr/amenity'
|
|
16
|
+
require_relative './myvr/fee'
|
|
17
|
+
require_relative './myvr/photo'
|
|
18
|
+
require_relative './myvr/property'
|
|
19
|
+
require_relative './myvr/rate'
|
|
20
|
+
require_relative './myvr/room'
|
data/lib/myvr/amenity.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module API
|
|
3
|
+
module Amenities
|
|
4
|
+
def amenities!
|
|
5
|
+
data = get_objects("/v1/amenities/")
|
|
6
|
+
data.map do |fee|
|
|
7
|
+
MyVR::Amenity.new(fee)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def amenities
|
|
12
|
+
@amenities ||= amenities!
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def fee(id)
|
|
16
|
+
data = get_object("/v1/amenities/#{ id }/")
|
|
17
|
+
MyVR::Amenity.new(data)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module API
|
|
3
|
+
module Fees
|
|
4
|
+
def fees!
|
|
5
|
+
data = get_objects("/v1/fees/")
|
|
6
|
+
data.map do |fee|
|
|
7
|
+
MyVR::Fee.new(fee)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def fees
|
|
12
|
+
@fees ||= fees!
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def fee(id)
|
|
16
|
+
data = get_object("/v1/fees/#{ id }/")
|
|
17
|
+
MyVR::Fee.new(data)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module API
|
|
3
|
+
module Photos
|
|
4
|
+
def photos!
|
|
5
|
+
data = get_objects("/v1/photos/")
|
|
6
|
+
data.map do |photo|
|
|
7
|
+
MyVR::Photo.new(photo)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def photos
|
|
12
|
+
@photos ||= photos!
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def photo(id)
|
|
16
|
+
data = get_object("/v1/photos/#{ id }/")
|
|
17
|
+
MyVR::Photo.new(data)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module API
|
|
3
|
+
module Properties
|
|
4
|
+
def properties!(search = '')
|
|
5
|
+
data = get_objects("/v1/properties/", { name: search })
|
|
6
|
+
data.map do |property|
|
|
7
|
+
MyVR::Property.new(property)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def properties(search='')
|
|
12
|
+
@properties ||= properties!(search)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def property(id)
|
|
16
|
+
data = get_object("/v1/properties/#{ id }/")
|
|
17
|
+
MyVR::Property.new(data)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module API
|
|
3
|
+
module Rates
|
|
4
|
+
def rates!
|
|
5
|
+
data = get_objects("/v1/rates/")
|
|
6
|
+
data.map do |rate|
|
|
7
|
+
MyVR::Rate.new(rate)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def rates
|
|
12
|
+
@rates ||= rates!
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def rate(id)
|
|
16
|
+
data = get_object("/v1/rates/#{ id }/")
|
|
17
|
+
MyVR::Rate.new(data)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module API
|
|
3
|
+
module Rooms
|
|
4
|
+
def rooms!
|
|
5
|
+
data = get_objects("/v1/rooms/")
|
|
6
|
+
data.map do |room|
|
|
7
|
+
MyVR::Room.new(room)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def rooms
|
|
12
|
+
@rooms ||= rooms!
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def room(id)
|
|
16
|
+
data = get_object("/v1/rooms/#{ id }/")
|
|
17
|
+
MyVR::Room.new(data)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/lib/myvr/client.rb
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require 'active_support/inflector'
|
|
2
|
+
|
|
3
|
+
module MyVR
|
|
4
|
+
class Client
|
|
5
|
+
include MyVR::API::Amenities
|
|
6
|
+
include MyVR::API::Fees
|
|
7
|
+
include MyVR::API::Photos
|
|
8
|
+
include MyVR::API::Properties
|
|
9
|
+
include MyVR::API::Rates
|
|
10
|
+
include MyVR::API::Rooms
|
|
11
|
+
|
|
12
|
+
attr_accessor :access_key, :last_response
|
|
13
|
+
|
|
14
|
+
def initialize(options = {})
|
|
15
|
+
@last_response = nil
|
|
16
|
+
options.each do |key, value|
|
|
17
|
+
instance_variable_set("@#{ key }", value)
|
|
18
|
+
end
|
|
19
|
+
yield(self) if block_given?
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def user_agent
|
|
23
|
+
@user_agent ||= "MyVRRubyGem/#{ MyVR::Version }"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def get_objects(path, params={})
|
|
27
|
+
response = request(:get, path, params.dup)
|
|
28
|
+
response['results']
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def get_object(path, params={})
|
|
32
|
+
request(:get, path, params.dup)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def request(http_method, path, params={})
|
|
36
|
+
url = base_url(path, params.dup)
|
|
37
|
+
c = Curl::Easy.new(url)
|
|
38
|
+
c.http_auth_types = :basic
|
|
39
|
+
c.username = access_key
|
|
40
|
+
c.send(http_method)
|
|
41
|
+
p JSON.parse(c.body_str)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def base_url(path, params={})
|
|
45
|
+
Addressable::URI.new(
|
|
46
|
+
host: 'api.local.myvr.com',
|
|
47
|
+
port: 8000,
|
|
48
|
+
scheme: 'http',
|
|
49
|
+
path: path,
|
|
50
|
+
query_values: params
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
private
|
|
55
|
+
|
|
56
|
+
def assert_class_type(klass)
|
|
57
|
+
unless klass.is_a?(String) || klass.is_a?(Class)
|
|
58
|
+
raise 'Class of object(s) to return must be string or class'
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
data/lib/myvr/error.rb
ADDED
data/lib/myvr/fee.rb
ADDED
data/lib/myvr/model.rb
ADDED
data/lib/myvr/photo.rb
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
class Property < MyVR::Model
|
|
3
|
+
attr_reader(
|
|
4
|
+
:uri,
|
|
5
|
+
:id,
|
|
6
|
+
:externalId,
|
|
7
|
+
:name,
|
|
8
|
+
:shortCode,
|
|
9
|
+
:active,
|
|
10
|
+
:bedrooms,
|
|
11
|
+
:bathrooms,
|
|
12
|
+
:accommodates,
|
|
13
|
+
:size,
|
|
14
|
+
:type,
|
|
15
|
+
:weekendNights,
|
|
16
|
+
:currency,
|
|
17
|
+
:allowTurns,
|
|
18
|
+
:checkInTime,
|
|
19
|
+
:checkOutTime,
|
|
20
|
+
:manual,
|
|
21
|
+
:suitablePets,
|
|
22
|
+
:suitableElderly,
|
|
23
|
+
:suitableKids,
|
|
24
|
+
:suitableGroups,
|
|
25
|
+
:suitableSmoking,
|
|
26
|
+
:suitableHandicap,
|
|
27
|
+
:amenities,
|
|
28
|
+
:created
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
data/lib/myvr/rate.rb
ADDED
data/lib/myvr/room.rb
ADDED
data/lib/myvr/version.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module MyVR
|
|
2
|
+
module Version
|
|
3
|
+
module_function
|
|
4
|
+
def major
|
|
5
|
+
0
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def minor
|
|
9
|
+
0
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def patch
|
|
13
|
+
0
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def to_h
|
|
17
|
+
{
|
|
18
|
+
major: major,
|
|
19
|
+
minor: minor,
|
|
20
|
+
patch: patch,
|
|
21
|
+
}
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def to_a
|
|
25
|
+
[major, minor, patch].compact
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def to_s
|
|
29
|
+
to_a.join('.')
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
data/myvr.gemspec
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
+
require 'myvr/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |s|
|
|
6
|
+
s.add_dependency 'addressable', '~> 2.3'
|
|
7
|
+
s.add_dependency 'curb', '~> 0.9.1'
|
|
8
|
+
s.add_dependency 'json', '~> 1.8', '>= 1.8.3'
|
|
9
|
+
s.add_development_dependency 'bundler', '~> 1.0'
|
|
10
|
+
s.name = 'myvr'
|
|
11
|
+
s.version = MyVR::Version
|
|
12
|
+
s.date = '2016-01-07'
|
|
13
|
+
s.description = 'Ruby interface for the MyVR.com API'
|
|
14
|
+
s.summary = s.description
|
|
15
|
+
s.authors = ['CJ Avilla']
|
|
16
|
+
s.email = 'cavilla@myvr.com'
|
|
17
|
+
s.files = %w(README.md myvr.gemspec) + Dir['lib/**/*.rb']
|
|
18
|
+
s.homepage = 'https://github.com/w1zeman1p/myvr'
|
|
19
|
+
s.license = 'MIT'
|
|
20
|
+
s.require_paths = 'lib'
|
|
21
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: myvr
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- CJ Avilla
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-01-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: addressable
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '2.3'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '2.3'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: curb
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 0.9.1
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 0.9.1
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: json
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '1.8'
|
|
48
|
+
- - ">="
|
|
49
|
+
- !ruby/object:Gem::Version
|
|
50
|
+
version: 1.8.3
|
|
51
|
+
type: :runtime
|
|
52
|
+
prerelease: false
|
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
54
|
+
requirements:
|
|
55
|
+
- - "~>"
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
version: '1.8'
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: 1.8.3
|
|
61
|
+
- !ruby/object:Gem::Dependency
|
|
62
|
+
name: bundler
|
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '1.0'
|
|
68
|
+
type: :development
|
|
69
|
+
prerelease: false
|
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '1.0'
|
|
75
|
+
description: Ruby interface for the MyVR.com API
|
|
76
|
+
email: cavilla@myvr.com
|
|
77
|
+
executables: []
|
|
78
|
+
extensions: []
|
|
79
|
+
extra_rdoc_files: []
|
|
80
|
+
files:
|
|
81
|
+
- README.md
|
|
82
|
+
- lib/myvr.rb
|
|
83
|
+
- lib/myvr/amenity.rb
|
|
84
|
+
- lib/myvr/api/amenities.rb
|
|
85
|
+
- lib/myvr/api/fees.rb
|
|
86
|
+
- lib/myvr/api/photos.rb
|
|
87
|
+
- lib/myvr/api/properties.rb
|
|
88
|
+
- lib/myvr/api/rates.rb
|
|
89
|
+
- lib/myvr/api/rooms.rb
|
|
90
|
+
- lib/myvr/client.rb
|
|
91
|
+
- lib/myvr/error.rb
|
|
92
|
+
- lib/myvr/fee.rb
|
|
93
|
+
- lib/myvr/model.rb
|
|
94
|
+
- lib/myvr/photo.rb
|
|
95
|
+
- lib/myvr/property.rb
|
|
96
|
+
- lib/myvr/rate.rb
|
|
97
|
+
- lib/myvr/room.rb
|
|
98
|
+
- lib/myvr/version.rb
|
|
99
|
+
- myvr.gemspec
|
|
100
|
+
homepage: https://github.com/w1zeman1p/myvr
|
|
101
|
+
licenses:
|
|
102
|
+
- MIT
|
|
103
|
+
metadata: {}
|
|
104
|
+
post_install_message:
|
|
105
|
+
rdoc_options: []
|
|
106
|
+
require_paths:
|
|
107
|
+
- lib
|
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
|
+
requirements:
|
|
110
|
+
- - ">="
|
|
111
|
+
- !ruby/object:Gem::Version
|
|
112
|
+
version: '0'
|
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
requirements: []
|
|
119
|
+
rubyforge_project:
|
|
120
|
+
rubygems_version: 2.4.5
|
|
121
|
+
signing_key:
|
|
122
|
+
specification_version: 4
|
|
123
|
+
summary: Ruby interface for the MyVR.com API
|
|
124
|
+
test_files: []
|