roadrunnr 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5d52863874f0624672eb0e642ae163cb671e0ff0
4
+ data.tar.gz: 359852ef74562ce53f7b0cde33947a2d14de9585
5
+ SHA512:
6
+ metadata.gz: 434599a45afa18b3360de219a35d69b1086330fff5ab0a8ed36a905042f766f7e8b86de41883784233490fe0ac8023ea841211d4f4d753c4fdf814e7fa84979e
7
+ data.tar.gz: ac4c7661b97a7e717546ab7b2d910d33e68c09798ccc845530604d13545573acf1dc2ebd728173de9af06cf98084ce62e6fc441cb4e19e28cefa23163aead052
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /config.yml/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format progress
2
+ --color
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.3
4
+ before_install: gem install bundler -v 1.10.6
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in roadrunnr.gemspec
4
+ gemspec
@@ -0,0 +1,71 @@
1
+ # Roadrunnr
2
+
3
+ ## Installation
4
+
5
+ Add this line to your application's Gemfile:
6
+
7
+ ```ruby
8
+ gem 'roadrunnr'
9
+ ```
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install roadrunnr
18
+
19
+ ## Usage
20
+ Obtain access_toek from http://128.199.241.199/oauth/token?grant_type=client_credentials&client_id=123&client_secret=secret for staging/testing environment and change host to http://roadrunnr.in/ for production ENV
21
+
22
+ **Creating roadrunnr request object**
23
+
24
+
25
+
26
+ request = Roadrunnr::Request.new(:client_id => '123',
27
+ :client_secret => 'secret',
28
+ :timeout => 60,
29
+ :access_token => 'token',
30
+ :url => 'http://128.199.241.199/')
31
+
32
+ Set the values according to ENV
33
+
34
+
35
+
36
+ **Build an order**
37
+
38
+ order = Roadrunnr::Order.new
39
+ order.add_pickup_details(:name => "Samsung store", :phone_no => "1234567890", :email => "samsung@gmail.com", :type => "merchant", :external_id => "BLR-NAT-123")
40
+
41
+ order.add_pickup_full_address(:address => "Shop no 51, 5th block", :locality => "Koramangala", :sub_locality => "5th :city => "Bangalore", :lat => "12.935322", :lng => "77.618754")
42
+
43
+ order.add_drop_details(:name => "Samsung store", :phone_no => "08056190907", :email => "samsung@gmail.com", :type => "merchant", :external_id => "BLR-NAT-123")
44
+
45
+ order.add_drop_full_address(:address => "Shop no 51, 5th block", :locality => "Koramangala", :sub_locality => "5th block", :city => "Bangalore", :lat => "12.935322", :lng => "77.618754")
46
+
47
+ order.add_order_details(:order_id => "last2091020", :order_value => "255.0", :amount_to_be_collected => "234.45", :order_type => "Cash On Delivery", :expected_delivery_time => Time.now)
48
+
49
+
50
+ **Get serviceability before creating order**
51
+
52
+ request.serviceability(order)
53
+
54
+
55
+ **Create an order**
56
+
57
+ request.create_order(order)
58
+
59
+
60
+ **Track order**
61
+
62
+ request.track_order(order_id)
63
+
64
+ **Cancel order**
65
+
66
+ request.cancel_order(order_id)
67
+
68
+
69
+ ## Contributing
70
+
71
+ Bug reports and pull requests are welcome on GitHub at https://github.com/doormint/roadrunnr.
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "roadrunnr"
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,7 @@
1
+ ---
2
+ base_url: http://128.199.241.199/
3
+ client_id:
4
+ client_secret:
5
+ headers:
6
+ Content-Type: application/json
7
+ Authorization: Token CpDMGf0ls4Ri0GGjh44QwkndMjicI9YjzEpd9XbO
@@ -0,0 +1,16 @@
1
+ require 'httparty'
2
+ require 'json'
3
+ require 'yaml'
4
+ require 'active_support/core_ext/object/blank'
5
+ require 'roadrunnr/order'
6
+ require 'roadrunnr/request'
7
+ require 'roadrunnr/pickup'
8
+ require 'roadrunnr/drop'
9
+ require 'roadrunnr/order_details'
10
+ require 'roadrunnr/user'
11
+ require 'roadrunnr/full_address'
12
+ require 'roadrunnr/order_item'
13
+ require "roadrunnr/version"
14
+
15
+ module Roadrunnr
16
+ end
@@ -0,0 +1,37 @@
1
+ module Roadrunnr
2
+ class Drop
3
+ attr_accessor :user
4
+
5
+ def initialize
6
+ @user = User.new
7
+ end
8
+
9
+ def valid?
10
+ user.valid?
11
+ end
12
+
13
+ def add_user_details(options = {})
14
+ name = options[:name]
15
+ phone_no = options[:phone_no]
16
+ email = options[:email]
17
+ type = options[:type]
18
+ external_id = options[:external_id]
19
+ @user.add_user_details(:name => name, :phone_no => phone_no, :email => email, :type => type, :external_id => external_id)
20
+ end
21
+
22
+ def add_user_full_address(options = {})
23
+ address = options[:address]
24
+ locality = options[:locality]
25
+ sub_locality = options[:sub_locality]
26
+ city = options[:city]
27
+ lat = options[:lat]
28
+ lng = options[:lng]
29
+ @user.add_user_full_address(:address => address, :locality => locality, :sub_locality => sub_locality, :city => city, :lat => lat, :lng => lng)
30
+ end
31
+
32
+ def save
33
+ { 'user'=> @user.save }
34
+ end
35
+ end
36
+
37
+ end
@@ -0,0 +1,80 @@
1
+ module Roadrunnr
2
+ class FullAddress
3
+ attr_accessor :address, :locality, :sub_locality, :city, :geo
4
+
5
+ def initialize
6
+ @locality = Locality.new
7
+ @sub_locality = SubLocality.new
8
+ @city = City.new
9
+ @geo = Geo.new
10
+ end
11
+
12
+
13
+ def valid?
14
+ address.present? && locality.valid? && sub_locality.valid? && city.valid? && geo.valid?
15
+ end
16
+
17
+ def add_full_address(options = {})
18
+ @address = options[:address]
19
+ locality = options[:locality]
20
+ sub_locality = options[:sub_locality]
21
+ city = options[:city]
22
+ lat = options[:lat]
23
+ lng = options[:lng]
24
+ @locality.add_name(locality)
25
+ @sub_locality.add_name(sub_locality)
26
+ @city.add_name(city)
27
+ @geo.add_geo(lat, lng)
28
+ end
29
+
30
+ def save
31
+ {
32
+ 'address'=> @address,
33
+ 'locality'=> @locality.save,
34
+ 'sub_locality'=> @sub_locality.save,
35
+ 'city'=> @city.save,
36
+ 'geo'=> @geo.save
37
+ }
38
+ end
39
+ end
40
+
41
+ class Name
42
+ attr_accessor :name
43
+
44
+ def add_name(name)
45
+ @name = name
46
+ end
47
+
48
+ def valid?
49
+ name.present?
50
+ end
51
+
52
+ def save
53
+ { 'name'=> @name }
54
+ end
55
+ end
56
+
57
+ class Locality < Name;end
58
+
59
+ class SubLocality < Name;end
60
+
61
+ class City < Name;end
62
+
63
+ class Geo
64
+ attr_accessor :latitude, :longitude
65
+
66
+ def add_geo(latitude, longitude)
67
+ @latitude = latitude
68
+ @longitude = longitude
69
+ end
70
+
71
+ def valid?
72
+ latitude.present? && longitude.present?
73
+ end
74
+
75
+ def save
76
+ { 'latitude'=> @latitude, 'longitude'=> @longitude }
77
+ end
78
+ end
79
+
80
+ end
@@ -0,0 +1,103 @@
1
+ module Roadrunnr
2
+
3
+ class Order
4
+ attr_accessor :pickup, :drop, :order_details, :created_at, :callback_url
5
+
6
+ def initialize(options = {})
7
+ @pickup = options[:pickup] || Pickup.new
8
+ @drop = options[:drop] || Drop.new
9
+ @order_details = options[:order_details] || OrderDetails.new
10
+ @created_at = options[:created_at] || Time.now
11
+ @callback_url = options[:callback_url]
12
+ end
13
+
14
+ def valid?
15
+ pickup.valid? && drop.valid? && order_details.valid?
16
+ end
17
+
18
+ def add_pickup_details(options = {})
19
+ name = options[:name]
20
+ phone_no = options[:phone_no]
21
+ email = options[:email]
22
+ type = options[:type]
23
+ external_id = options[:external_id]
24
+ add_details(@pickup, name, phone_no, email, type, external_id)
25
+ end
26
+
27
+ def add_pickup_full_address(options = {})
28
+ address = options[:address]
29
+ locality = options[:locality]
30
+ sub_locality = options[:sub_locality]
31
+ city = options[:city]
32
+ lat = options[:lat]
33
+ lng = options[:lng]
34
+ add_full_address(@pickup, address, locality, sub_locality, city, lat, lng)
35
+ end
36
+
37
+ def add_drop_details(options = {})
38
+ name = options[:name]
39
+ phone_no = options[:phone_no]
40
+ email = options[:email]
41
+ type = options[:type]
42
+ external_id = options[:external_id]
43
+ add_details(@drop, name, phone_no, email, type, external_id)
44
+ end
45
+
46
+ def add_drop_full_address(options = {})
47
+ address = options[:address]
48
+ locality = options[:locality]
49
+ sub_locality = options[:sub_locality]
50
+ city = options[:city]
51
+ lat = options[:lat]
52
+ lng = options[:lng]
53
+ add_full_address(@drop, address, locality, sub_locality, city, lat, lng)
54
+ end
55
+
56
+ def add_order_details(options = {})
57
+ order_id = options[:order_id]
58
+ order_value = options[:order_value]
59
+ amount_to_be_collected = options[:amount_to_be_collected]
60
+ order_type = options[:order_type]
61
+ expected_delivery_time = options[:expected_delivery_time]
62
+ @order_details.add_order(:order_id => order_id, :order_value => order_value, :amount_to_be_collected => amount_to_be_collected,
63
+ :order_type => order_type, :expected_delivery_time => expected_delivery_time)
64
+ end
65
+
66
+ def add_order_item(options = {})
67
+ quantity = options[:quantity]
68
+ price = options[:price]
69
+ item_name = options[:item_name]
70
+ @order_details.add_order_item(quantity, price, item_name)
71
+ end
72
+
73
+ def add_created_at(created_at)
74
+ @created_at = created_at
75
+ end
76
+
77
+ def add_callback_url(callback_url)
78
+ @callback_url = callback_url
79
+ end
80
+
81
+ def save
82
+ {
83
+ 'pickup'=> @pickup.save,
84
+ 'drop'=> @drop.save,
85
+ 'order_details'=> @order_details.save,
86
+ 'created_at' => @created_at,
87
+ 'callback_url' => @callback_url
88
+ }
89
+ end
90
+
91
+ private
92
+
93
+ def add_details(obj, name, phone_no, email, type, external_id)
94
+ obj.add_user_details(:name => name, :phone_no => phone_no, :email => email, :type => type, :external_id => external_id)
95
+ end
96
+
97
+ def add_full_address(obj, address, locality_name, sub_locality_name, city_name, geo_latitude=nil, geo_longitude=nil)
98
+ obj.add_user_full_address(:address => address, :locality => locality_name, :sub_locality => sub_locality_name, :city => city_name, :lat => geo_latitude, :lng => geo_longitude)
99
+ end
100
+
101
+ end
102
+
103
+ end
@@ -0,0 +1,52 @@
1
+ module Roadrunnr
2
+ class OrderDetails
3
+ attr_accessor :order_id, :order_value, :amount_to_be_collected, :order_type, :order_items, :expected_delivery_time
4
+
5
+ def initialize
6
+ @order_type = OrderType.new
7
+ @order_items = []
8
+ end
9
+
10
+ def add_order(options = {})
11
+ @order_id = options[:order_id]
12
+ @order_value = options[:order_value]
13
+ @expected_delivery_time = options[:expected_delivery_time]
14
+ @amount_to_be_collected = options[:amount_to_be_collected]
15
+
16
+ @order_type.name = options[:order_type]
17
+ end
18
+
19
+ def add_order_item(quantity, price, item_name)
20
+
21
+ @order_items << OrderItem.new(:quantity => quantity, :price => price, :item_name => item_name).save
22
+ end
23
+
24
+ def valid?
25
+ order_id.present? && order_value.present? && amount_to_be_collected.present? && order_type.valid?
26
+ end
27
+
28
+ def save
29
+ {
30
+ 'order_id'=> @order_id,
31
+ 'order_value'=> @order_value,
32
+ 'expected_delivery_time' => @expected_delivery_time,
33
+ 'amount_to_be_collected'=> @amount_to_be_collected,
34
+ 'order_type'=> @order_type.save,
35
+ 'order_items'=> @order_items
36
+ }
37
+ end
38
+ end
39
+
40
+ class OrderType
41
+ attr_accessor :name
42
+
43
+ def valid?
44
+ name.present?
45
+ end
46
+
47
+ def save
48
+ return { 'name'=> @name }
49
+ end
50
+ end
51
+
52
+ end
@@ -0,0 +1,38 @@
1
+ module Roadrunnr
2
+
3
+ class OrderItem
4
+ attr_accessor :quantity, :price, :item
5
+
6
+ def initialize(options = {})
7
+ @quantity = options[:quantity]
8
+ @price = options[:price]
9
+ item_name = options[:item_name]
10
+ @item = create_item(item_name)
11
+ end
12
+
13
+ def create_item(item_name)
14
+ Item.new(item_name)
15
+ end
16
+
17
+ def save
18
+ {
19
+ 'quantity' => @quantity,
20
+ 'price' => @price,
21
+ 'item' => @item.save
22
+ }
23
+ end
24
+ end
25
+
26
+ class Item
27
+ attr_accessor :name
28
+
29
+ def initialize(name)
30
+ @name = name
31
+ end
32
+
33
+ def save
34
+ { 'name' => @name }
35
+ end
36
+ end
37
+
38
+ end
@@ -0,0 +1,37 @@
1
+ module Roadrunnr
2
+ class Pickup
3
+ attr_accessor :user
4
+
5
+ def initialize
6
+ @user = User.new
7
+ end
8
+
9
+ def add_user_details(options = {})
10
+ name = options[:name]
11
+ phone_no = options[:phone_no]
12
+ email = options[:email]
13
+ type = options[:type]
14
+ external_id = options[:external_id]
15
+ @user.add_user_details(:name => name, :phone_no => phone_no, :email => email, :type => type, :external_id => external_id)
16
+ end
17
+
18
+ def add_user_full_address(options = {})
19
+ address = options[:address]
20
+ locality = options[:locality]
21
+ sub_locality = options[:sub_locality]
22
+ city = options[:city]
23
+ lat = options[:lat]
24
+ lng = options[:lng]
25
+ @user.add_user_full_address(:address => address, :locality => locality, :sub_locality => sub_locality, :city => city, :lat => lat, :lng => lng)
26
+ end
27
+
28
+ def valid?
29
+ user.valid?
30
+ end
31
+
32
+ def save
33
+ { 'user'=> @user.save }
34
+ end
35
+ end
36
+
37
+ end
@@ -0,0 +1,43 @@
1
+ module Roadrunnr
2
+ class Request
3
+ attr_accessor :client_id, :client_secret, :timeout, :access_token, :url
4
+
5
+ DEFAULT_TIMEOUT = 30
6
+
7
+ def initialize(client_id: nil, client_secret: nil, timeout: nil, access_token: nil, url: nil)
8
+ @client_id = client_id || self.class.client_id
9
+ @client_secret = client_secret || self.class.client_secret
10
+ @timeout = timeout || self.class.timeout || DEFAULT_TIMEOUT
11
+ @access_token = access_token || self.class.access_token
12
+ @url = url || self.class.url
13
+ end
14
+
15
+ def create_order(order_object)
16
+ HTTParty.post(url + "v1/orders", :body => order_object.save.to_json, :headers => {'Content-Type' => 'application/json', "Authorization" => "Token #{self.access_token}"})
17
+ end
18
+
19
+ def cancel_order(order_id)
20
+ HTTParty.get(url + "v1/orders/#{order_id}/cancel", :headers => {'Content-Type' => 'application/json', "Authorization" => "Token #{self.access_token}"})
21
+ end
22
+
23
+ def track_order(order_id)
24
+ HTTParty.get(url + "v1/orders/#{order_id}/track", :headers => {'Content-Type' => 'application/json', "Authorization" => "Token #{self.access_token}"})
25
+ end
26
+
27
+ def serviceability(order_object)
28
+ HTTParty.post(url + 'v1/orders/serviceability', body: order_object.save.to_json, :headers => {'Content-Type' => 'application/json', "Authorization" => "Token #{self.access_token}"})
29
+ end
30
+
31
+ def valid_checksum?(options = {})
32
+ checksum = options[:checksum]
33
+ order_id = options[:order_id]
34
+ checksum == Digest::MD5.hexdigest(order_id + self.access_token)
35
+ end
36
+
37
+ protected
38
+
39
+ class << self
40
+ attr_accessor :client_id, :client_secret, :timeout, :access_token, :url
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,44 @@
1
+ module Roadrunnr
2
+ class User
3
+ attr_accessor :name, :phone_no, :type, :external_id, :email, :full_address
4
+
5
+ def initialize
6
+ @full_address = FullAddress.new
7
+ end
8
+
9
+
10
+ def add_user_details(options = {})
11
+ @name = options[:name]
12
+ @phone_no = options[:phone_no]
13
+ @email = options[:email]
14
+ @type = options[:type]
15
+ @external_id = options[:external_id]
16
+ end
17
+
18
+ def add_user_full_address(options = {})
19
+ address = options[:address]
20
+ locality = options[:locality]
21
+ sub_locality = options[:sub_locality]
22
+ city = options[:city]
23
+ lat = options[:lat]
24
+ lng = options[:lng]
25
+ @full_address.add_full_address(:address => address, :locality => locality, :sub_locality => sub_locality, :city => city, :lat => lat, :lng => lng)
26
+ end
27
+
28
+ def valid?
29
+ name.present? && phone_no.present? && type.present? && external_id.present? && email.present? && full_address.valid?
30
+ end
31
+
32
+ def save
33
+ {
34
+ 'name'=> @name,
35
+ 'phone_no'=> @phone_no,
36
+ 'type'=> @type,
37
+ 'external_id'=> @external_id,
38
+ 'email' => @email,
39
+ 'full_address'=> @full_address.save
40
+ }
41
+ end
42
+ end
43
+
44
+ end
@@ -0,0 +1,3 @@
1
+ module Roadrunnr
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'roadrunnr/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "roadrunnr"
8
+ spec.version = Roadrunnr::VERSION
9
+ spec.authors = ["kapy2010", "mntdamania"]
10
+ spec.email = ["kpsingh201091@gmail.com", "mntdamania@gmail.com"]
11
+
12
+ spec.summary = "Wrapper for RoadRunnr API"
13
+ spec.description = "RoadRunnr API Wrapper"
14
+ spec.homepage = %q{https://github.com/doormint/roadrunnr}
15
+
16
+ # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
17
+ # delete this section to allow pushing this gem to any host.
18
+
19
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ["lib"]
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.10"
25
+ spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec"
27
+ spec.add_development_dependency "pry"
28
+
29
+ spec.add_dependency 'httparty', '>= 0.9.0'
30
+ spec.add_dependency 'json'
31
+ spec.add_dependency 'activesupport'
32
+ end
metadata ADDED
@@ -0,0 +1,163 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: roadrunnr
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - kapy2010
8
+ - mntdamania
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2015-10-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.10'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.10'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '10.0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '10.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: pry
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: httparty
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.0
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 0.9.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: json
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: activesupport
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ description: RoadRunnr API Wrapper
113
+ email:
114
+ - kpsingh201091@gmail.com
115
+ - mntdamania@gmail.com
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - ".gitignore"
121
+ - ".rspec"
122
+ - ".travis.yml"
123
+ - Gemfile
124
+ - README.md
125
+ - Rakefile
126
+ - bin/console
127
+ - bin/setup
128
+ - config.yml
129
+ - lib/roadrunnr.rb
130
+ - lib/roadrunnr/drop.rb
131
+ - lib/roadrunnr/full_address.rb
132
+ - lib/roadrunnr/order.rb
133
+ - lib/roadrunnr/order_details.rb
134
+ - lib/roadrunnr/order_item.rb
135
+ - lib/roadrunnr/pickup.rb
136
+ - lib/roadrunnr/request.rb
137
+ - lib/roadrunnr/user.rb
138
+ - lib/roadrunnr/version.rb
139
+ - roadrunnr.gemspec
140
+ homepage: https://github.com/doormint/roadrunnr
141
+ licenses: []
142
+ metadata: {}
143
+ post_install_message:
144
+ rdoc_options: []
145
+ require_paths:
146
+ - lib
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ requirements: []
158
+ rubyforge_project:
159
+ rubygems_version: 2.4.5.1
160
+ signing_key:
161
+ specification_version: 4
162
+ summary: Wrapper for RoadRunnr API
163
+ test_files: []