bookingsync_portal 0.1.2 → 0.2.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +123 -2
  3. data/app/assets/javascripts/bookingsync_portal/admin/handle_remote_errors.js.coffee +1 -1
  4. data/app/models/bookingsync_portal/account.rb +5 -0
  5. data/app/models/bookingsync_portal/photo.rb +8 -0
  6. data/app/models/bookingsync_portal/rate.rb +6 -0
  7. data/app/models/bookingsync_portal/rental.rb +8 -2
  8. data/app/resources/bookingsync_portal/admin_api/connection_resource.rb +1 -1
  9. data/app/resources/bookingsync_portal/admin_api/remote_account_resource.rb +1 -1
  10. data/app/resources/bookingsync_portal/admin_api/remote_rental_resource.rb +0 -2
  11. data/app/resources/bookingsync_portal/admin_api/rental_resource.rb +0 -2
  12. data/app/views/bookingsync_portal/admin/rentals/_remote_rental.html.erb +1 -1
  13. data/app/views/bookingsync_portal/admin/rentals/index.html.erb +1 -1
  14. data/config/locales/en.yml +1 -0
  15. data/db/migrate/20150222172825_create_accounts.rb +6 -2
  16. data/db/migrate/20150222173413_create_rentals.rb +1 -1
  17. data/db/migrate/20150222173711_create_remote_accounts.rb +1 -1
  18. data/db/migrate/20150222174023_create_remote_rentals.rb +1 -1
  19. data/db/migrate/20150222174234_create_connections.rb +2 -1
  20. data/db/migrate/20150520134912_create_photos.rb +13 -0
  21. data/db/migrate/20150521091056_create_rates.rb +12 -0
  22. data/lib/bookingsync_portal.rb +9 -1
  23. data/lib/bookingsync_portal/version.rb +1 -1
  24. data/lib/generators/bookingsync_portal/install_generator.rb +10 -3
  25. data/lib/generators/templates/{bookingsync_portal.rb → initializers/bookingsync_portal.rb} +11 -6
  26. data/lib/generators/templates/models/account.rb +14 -0
  27. data/lib/generators/templates/models/connection.rb +2 -0
  28. data/lib/generators/templates/models/photo.rb +4 -0
  29. data/lib/generators/templates/models/rate.rb +3 -0
  30. data/lib/generators/templates/models/remote_account.rb +6 -0
  31. data/lib/generators/templates/models/remote_rental.rb +6 -0
  32. data/lib/generators/templates/models/rental.rb +6 -0
  33. metadata +23 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a480ce2459ec1089601197319ee60201436263d
4
- data.tar.gz: e282f8169d93c61ae942716c5fb2bb31a9790bc7
3
+ metadata.gz: 7bce44a09e365af14bee6025bdbaf505b5cbaa3e
4
+ data.tar.gz: 672dc73f92f93d0d3e0d9aa18199b73b201d7ded
5
5
  SHA512:
6
- metadata.gz: 695f61dd565e424616ba9f16792146fea0212de4185b512f9916a52a6c0bc7afd8b3bb16834b2d2efcfd0de81d19d0ab5e8fefe09beb367b63d3953be5dfe1a9
7
- data.tar.gz: 529f1ee3232b275d0585bab5ed511a1d26093d358f43fa22ef7bcd4e7e6fe785c5946cb0fbea2435b266ddeb7e32f1b4361e38390f12b990415d4acc63610f04
6
+ metadata.gz: cb08b602aef04800fd3608c2db757bb2b8d5b8aa0ae62611d4bfe66c4926638511476a4401ebe22684ed15b5c0b434ccab5d8f45f94990038b4d0acfbf44b749
7
+ data.tar.gz: d0026be5f43c6fe11bd6b240f36f719ef0eecc243468a116433e3b23e179dbe16401dc70cb33d61edb3678913b3bb957be8b1c0049f3b73767d847fccb8d54b9
data/README.md CHANGED
@@ -1,8 +1,85 @@
1
+ [![Code Climate](https://codeclimate.com/github/BookingSync/bookingsync_portal/badges/gpa.svg)](https://codeclimate.com/github/BookingSync/bookingsync_portal)
2
+ [![Build Status](https://travis-ci.org/BookingSync/bookingsync_portal.svg?branch=master)](https://travis-ci.org/BookingSync/bookingsync_portal)
3
+
1
4
  # BookingsyncPortal
2
5
 
3
- * A common base for creating BookingSync portal applications.
6
+ A Rails engine to simplify building BookingSync Portal Applications.
7
+
8
+ ## Requirements
9
+
10
+ This engine requires Rails `>= 4.0.0` and Ruby `>= 2.0.0`.
11
+
12
+ ## Documentation
13
+
14
+ [API documentation is available at rdoc.info](http://rdoc.info/github/BookingSync/bookingsync_portal/master/frames).
15
+
16
+ ## Installation
17
+
18
+ BookingSync Portal works with Rails 4.0 onwards and Ruby 2.0 onwards. To get started, add it to your Gemfile with:
19
+
20
+ ```ruby
21
+ gem 'bookingsync_portal'
22
+ ```
23
+
24
+ Then bundle install:
25
+
26
+ ```ruby
27
+ bundle install
28
+ ```
29
+
30
+ ### Add routes
31
+
32
+ BookingSync Authorization routes need to be mounted inside you apps `routes.rb`:
33
+
34
+ ```ruby
35
+ mount BookingSync::Engine => '/'
36
+ ```
37
+
38
+ This will add the following routes:
39
+
40
+ * `/auth/bookingsync/callback`
41
+ * `/auth/failure`
42
+ * `/signout`
43
+
44
+ as well as BookingSync Portal controllers routes:
45
+
46
+ ```ruby
47
+ mount BookingsyncPortal::Engine => '/'
48
+ ```
49
+
50
+ ### Migrations
51
+
52
+ BookingSync Portal provide migrations for the most common models:
53
+ * `Account`: BookingSync accounts,
54
+ * `Connection`: connection between `rentals` and `remote_rentals`,
55
+ * `Photo`: BookingSync rentals' photos,
56
+ * `Rate`: BookingSync rentals' rates,
57
+ * `RemoteAccount`: Portal accounts,
58
+ * `RemoteRental`: Portal rentals,
59
+ * `Rental`: BookingSync rentals,
60
+
61
+ You can copy the migrations file to your application by running:
62
+
63
+ ```console
64
+ rake bookingsync_portal:install:migrations
65
+ ```
66
+
67
+ then run the migration:
68
+
69
+ ```console
70
+ rake db:migrate
71
+ ```
4
72
 
5
- # Setup
73
+ ### Add initializer and default models
74
+
75
+ This will install a configuration file in `config/initializers/bookingsync_portal.rb` as well as creating default models:
76
+
77
+ ```console
78
+ rails g bookingsync_portal:install
79
+ ```
80
+
81
+
82
+ ### Assets
6
83
 
7
84
  You will need to install the assets for each namespace:
8
85
 
@@ -45,3 +122,47 @@ in `/app/assets/javascripts/admin/application.css.scss`:
45
122
  */
46
123
 
47
124
  ```
125
+
126
+
127
+ _Note: When saving new token, this gem uses a separate thread with new db connection to ensure token save (in case of a rollback in the main transaction). To make room for the new connections, it is recommended to increase db `pool` size by 2-3._
128
+
129
+ ## Configuration
130
+
131
+ The engine is configured by the following ENV variables:
132
+
133
+ * `BOOKINGSYNC_URL` - the url of the website, should be `https://www.bookingsync.com`
134
+ * `BOOKINGSYNC_APP_ID` - BookingSync Application's Client ID
135
+ * `BOOKINGSYNC_APP_SECRET` - BookingSync Application's Client Secret
136
+ * `BOOKINGSYNC_VERIFY_SSL` - Verify SSL (available only in development or test). Default to false
137
+ * `BOOKINGSYNC_SCOPE` - Space separated list of required scopes. Defaults to nil, which means the public scope.
138
+
139
+ You might want to use [dotenv-rails](https://github.com/bkeepers/dotenv)
140
+ to make ENV variables management easy.
141
+
142
+ ## Testing
143
+
144
+ ### RSpec
145
+
146
+ We do provide some helper for RSpec users, you can include them in your `spec/rails_helper.rb` (before `spec/support` inclusion):
147
+ ```
148
+ require 'bookingsync_application/spec_helper'
149
+ ```
150
+
151
+ ### VCR
152
+
153
+ We recommend a VCR setup inspired from the following configuration. It will mask authorization tokens from your fixtures:
154
+
155
+ ```ruby
156
+ require 'vcr'
157
+
158
+ VCR.configure do |config|
159
+ config.cassette_library_dir = 'spec/fixtures/cassettes'
160
+ config.hook_into :webmock
161
+ config.configure_rspec_metadata!
162
+ config.filter_sensitive_data('BOOKINGSYNC_OAUTH_ACCESS_TOKEN') do
163
+ ENV['BOOKINGSYNC_OAUTH_ACCESS_TOKEN']
164
+ end
165
+ # Uncomment if using codeclimate
166
+ # config.ignore_hosts 'codeclimate.com'
167
+ end
168
+ ```
@@ -1,3 +1,3 @@
1
1
  $ ->
2
- $(document).on "ajax:error", "[data-remote]", (e, xhr) ->
2
+ $(document).ajaxError (e, xhr) ->
3
3
  location.reload() if xhr.status == 401
@@ -7,4 +7,9 @@ class BookingsyncPortal::Account < ActiveRecord::Base
7
7
  has_many :remote_rentals, class_name: BookingsyncPortal.remote_rental_model, through: :remote_accounts
8
8
  has_many :rentals, class_name: BookingsyncPortal.rental_model, dependent: :destroy
9
9
  has_many :connections, class_name: BookingsyncPortal.connection_model, through: :rentals
10
+
11
+ # Used to synchronize accounts using `Account.synchronize(remove: true)`
12
+ def self.api
13
+ BookingSync::API::Client.new(BookingSync::Engine.application_token.token)
14
+ end
10
15
  end
@@ -0,0 +1,8 @@
1
+ class BookingsyncPortal::Photo < ActiveRecord::Base
2
+ self.table_name = 'photos'
3
+
4
+ belongs_to :rental
5
+ has_one :account, through: :rental
6
+
7
+ scope :ordered, -> { order position: :asc }
8
+ end
@@ -0,0 +1,6 @@
1
+ class BookingsyncPortal::Rate < ActiveRecord::Base
2
+ self.table_name = 'rates'
3
+
4
+ belongs_to :rental
5
+ has_one :account, through: :rental
6
+ end
@@ -2,8 +2,10 @@ class BookingsyncPortal::Rental < ActiveRecord::Base
2
2
  self.table_name = 'rentals'
3
3
 
4
4
  belongs_to :account, class_name: BookingsyncPortal.account_model
5
- has_one :connection, class_name: BookingsyncPortal.connection_model, dependent: :destroy
6
- has_one :remote_rental, class_name: BookingsyncPortal.remote_rental_model, through: :connection
5
+ has_one :connection, class_name: BookingsyncPortal.connection_model, dependent: :destroy
6
+ has_one :remote_rental, class_name: BookingsyncPortal.remote_rental_model, through: :connection
7
+ has_many :photos, class_name: BookingsyncPortal.photo_model, dependent: :destroy
8
+ has_many :rates, class_name: BookingsyncPortal.rate_model, dependent: :destroy
7
9
 
8
10
  validates :synced_id, uniqueness: true, presence: true
9
11
 
@@ -15,4 +17,8 @@ class BookingsyncPortal::Rental < ActiveRecord::Base
15
17
  def connected?
16
18
  remote_rental.present?
17
19
  end
20
+
21
+ def ordered_photos
22
+ photos.ordered
23
+ end
18
24
  end
@@ -3,7 +3,7 @@ module BookingsyncPortal
3
3
  class ConnectionResource < JSONAPI::Resource
4
4
  model_name BookingsyncPortal.connection_model
5
5
 
6
- attributes :id, :rental_id, :remote_rental_id
6
+ attributes :rental_id, :remote_rental_id
7
7
 
8
8
  def self.records(options = {})
9
9
  context = options[:context]
@@ -3,7 +3,7 @@ module BookingsyncPortal
3
3
  class RemoteAccountResource < JSONAPI::Resource
4
4
  model_name BookingsyncPortal.remote_account_model
5
5
 
6
- attributes :id, :uid
6
+ attributes :uid
7
7
 
8
8
  def self.records(options = {})
9
9
  context = options[:context]
@@ -3,8 +3,6 @@ module BookingsyncPortal
3
3
  class RemoteRentalResource < JSONAPI::Resource
4
4
  model_name BookingsyncPortal.remote_rental_model
5
5
 
6
- attributes :id
7
-
8
6
  def self.records(options = {})
9
7
  context = options[:context]
10
8
  context[:current_account].remote_rentals
@@ -3,8 +3,6 @@ module BookingsyncPortal
3
3
  class RentalResource < JSONAPI::Resource
4
4
  model_name BookingsyncPortal.rental_model
5
5
 
6
- attributes :id
7
-
8
6
  def self.records(options = {})
9
7
  context = options[:context]
10
8
  context[:current_account].rentals
@@ -2,7 +2,7 @@
2
2
  data-uid="<%= remote_rental.uid %>">
3
3
  <div class="panel-heading" title="<%= RemoteRental.human_attribute_name(:uid) %>
4
4
  <%= remote_rental.uid %>">
5
- <%= remote_rental.remote_account.uid%>:
5
+ <%= remote_rental.remote_account.uid %>:
6
6
  <%= remote_rental.name %>
7
7
  </div>
8
8
  <div class="panel-body">
@@ -6,7 +6,7 @@
6
6
  <div class="rentals-list-scroll">
7
7
  <%- if @visible_rentals_count == 0 -%>
8
8
  <div class="lead text-center well">
9
- <p><%= t('.no_published_rentals_html', id: current_account.uid) %></p>
9
+ <p><%= t('.no_published_rentals_html', id: current_account.synced_id) %></p>
10
10
  </div>
11
11
  <%- elsif @not_connected_rentals.count > 0 -%>
12
12
  <% @not_connected_rentals.each do |rental| %>
@@ -42,6 +42,7 @@ en:
42
42
  other: '<strong>%{count}</strong> People'
43
43
  surface_html:
44
44
  zero: ''
45
+ one: '<span>Surface</span> <strong>%{count}m²</strong>'
45
46
  other: '<span>Surface</span> <strong>%{count}m²</strong>'
46
47
  no_name: Unnamed rental
47
48
  remote_rental:
@@ -2,12 +2,16 @@ class CreateAccounts < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :accounts do |t|
4
4
  t.string :provider
5
- t.integer :uid, index: true
5
+ t.integer :synced_id, index: true
6
6
  t.string :name
7
7
  t.string :oauth_access_token
8
8
  t.string :oauth_refresh_token
9
9
  t.datetime :oauth_expires_at
10
- t.timestamps
10
+ t.text :synced_data
11
+ t.datetime :synced_all_at
12
+ t.string :email
13
+
14
+ t.timestamps null: false
11
15
  end
12
16
  end
13
17
  end
@@ -8,7 +8,7 @@ class CreateRentals < ActiveRecord::Migration
8
8
  t.integer :position
9
9
  t.datetime :published_at
10
10
 
11
- t.timestamps
11
+ t.timestamps null: false
12
12
  end
13
13
  end
14
14
  end
@@ -4,7 +4,7 @@ class CreateRemoteAccounts < ActiveRecord::Migration
4
4
  t.belongs_to :account, index: true
5
5
  t.integer :uid
6
6
 
7
- t.timestamps
7
+ t.timestamps null: false
8
8
  end
9
9
  end
10
10
  end
@@ -6,7 +6,7 @@ class CreateRemoteRentals < ActiveRecord::Migration
6
6
  t.text :remote_data
7
7
  t.datetime :synchronized_at
8
8
 
9
- t.timestamps
9
+ t.timestamps null: false
10
10
  end
11
11
  end
12
12
  end
@@ -3,7 +3,8 @@ class CreateConnections < ActiveRecord::Migration
3
3
  create_table :connections do |t|
4
4
  t.belongs_to :remote_rental, index: true
5
5
  t.belongs_to :rental, index: true
6
- t.timestamps
6
+
7
+ t.timestamps null: false
7
8
  end
8
9
  end
9
10
  end
@@ -0,0 +1,13 @@
1
+ class CreatePhotos < ActiveRecord::Migration
2
+ def change
3
+ create_table :photos do |t|
4
+ t.belongs_to :rental, index: true
5
+ t.integer :synced_id, index: true
6
+ t.text :synced_data
7
+ t.datetime :synced_all_at
8
+ t.integer :position
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ class CreateRates < ActiveRecord::Migration
2
+ def change
3
+ create_table :rates do |t|
4
+ t.belongs_to :rental, index: true
5
+ t.integer :synced_id, index: true
6
+ t.text :synced_data
7
+ t.datetime :synced_all_at
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
@@ -34,10 +34,18 @@ module BookingsyncPortal
34
34
  mattr_accessor :remote_rental_model
35
35
  @@remote_rental_model = 'BookingsyncPortal::RemoteRental'
36
36
 
37
- # remote rental model class
37
+ # connection model class
38
38
  mattr_accessor :connection_model
39
39
  @@connection_model = 'BookingsyncPortal::Connection'
40
40
 
41
+ # photo model class
42
+ mattr_accessor :photo_model
43
+ @@photo_model = 'BookingsyncPortal::Photo'
44
+
45
+ # rate model class
46
+ mattr_accessor :rate_model
47
+ @@rate_model = 'BookingsyncPortal::Rate'
48
+
41
49
  # account resource class
42
50
  mattr_accessor :account_resource
43
51
  @@account_resource = 'BookingsyncPortal::AdminApi::AccountResource'
@@ -1,3 +1,3 @@
1
1
  module BookingsyncPortal
2
- VERSION = '0.1.2'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -5,11 +5,18 @@ module BookingsyncPortal
5
5
  class InstallGenerator < ::Rails::Generators::Base
6
6
  source_root File.expand_path("../../templates", __FILE__)
7
7
 
8
- desc "Creates a BookingsyncPortal initializer."
8
+ desc "Creates a BookingsyncPortal initializer and default models."
9
9
 
10
10
  def copy_initializer
11
- template "bookingsync_portal.rb", "config/initializers/bookingsync_portal.rb"
11
+ template "initializers/bookingsync_portal.rb", "config/initializers/bookingsync_portal.rb"
12
+ template "models/account.rb", "app/models/account.rb"
13
+ template "models/connection.rb", "app/models/connection.rb"
14
+ template "models/photo.rb", "app/models/photo.rb"
15
+ template "models/rate.rb", "app/models/rate.rb"
16
+ template "models/remote_account.rb", "app/models/remote_account.rb"
17
+ template "models/remote_rental.rb", "app/models/remote_rental.rb"
18
+ template "models/rental.rb", "app/models/rental.rb"
12
19
  end
13
20
  end
14
21
  end
15
- end
22
+ end
@@ -1,19 +1,25 @@
1
1
  # Use this to customize the behaviour of BookingsyncPortal engine and hook up custom synchronization
2
2
  BookingsyncPortal.setup do |config|
3
3
  # customize account model class, can extend BookingsyncPortal::Account
4
- # config.account_model = '::Account'
4
+ config.account_model = '::Account'
5
5
 
6
6
  # customize remote account model class, can extend BookingsyncPortal::RemoteAccount
7
- # config.remote_account_model = '::RemoteAccount'
7
+ config.remote_account_model = '::RemoteAccount'
8
8
 
9
9
  # customize rental model class, can extend BookingsyncPortal::Rental
10
- # config.rental_model = '::Rental'
10
+ config.rental_model = '::Rental'
11
11
 
12
12
  # customize remote_rental model class, can extend BookingsyncPortal::RemoteRental
13
- # config.remote_rental_model = '::RemoteRental'
13
+ config.remote_rental_model = '::RemoteRental'
14
14
 
15
15
  # customize connection model class, can extend BookingsyncPortal::Connection
16
- # config.connection_model = '::Connection'
16
+ config.connection_model = '::Connection'
17
+
18
+ # customize photo model class, can extend BookingsyncPortal::Photo
19
+ config.photo_model = '::Photo'
20
+
21
+ # customize rate model class, can extend BookingsyncPortal::Rate
22
+ config.rate_model = '::Rate'
17
23
 
18
24
  # customize account resource class, can extend BookingsyncPortal::AdminApi::AccountResource
19
25
  # config.account_resource = '::AdminApi::AccountResource'
@@ -43,4 +49,3 @@ BookingsyncPortal.setup do |config|
43
49
  # return false if remote account is not present or not valid
44
50
  end
45
51
  end
46
-
@@ -0,0 +1,14 @@
1
+ class Account < BookingsyncPortal::Account
2
+ synced local_attributes: [:email]
3
+
4
+ # Uncomment to add Rails logger
5
+ # def api
6
+ # @api ||= BookingSync::Engine::APIClient.new(token.token, logger: Rails.logger, account: self)
7
+ # end
8
+
9
+ # Uncomment to add Rails logger
10
+ # # Used to synchronize accounts using `Account.synchronize(remove: true)`
11
+ # def self.api
12
+ # BookingSync::API::Client.new(BookingSync::Engine.application_token.token, logger: Rails.logger)
13
+ # end
14
+ end
@@ -0,0 +1,2 @@
1
+ class Connection < BookingsyncPortal::Connection
2
+ end
@@ -0,0 +1,4 @@
1
+ class Photo < BookingsyncPortal::Photo
2
+ synced local_attributes: [:position], delegate_attributes: [:large_url, :thumb_url],
3
+ remove: true
4
+ end
@@ -0,0 +1,3 @@
1
+ class Rate < BookingsyncPortal::Rate
2
+ synced remove: true
3
+ end
@@ -0,0 +1,6 @@
1
+ class RemoteAccount < BookingsyncPortal::RemoteAccount
2
+ # Returns the name of this portal account. Should be easy to identify.
3
+ def name
4
+ uid
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class RemoteRental < BookingsyncPortal::RemoteRental
2
+ # Returns the name of this portal rental. Should be easy to identify.
3
+ def name
4
+ uid
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class Rental < BookingsyncPortal::Rental
2
+ synced associations: [:photos, :rates],
3
+ local_attributes: [:position, :published_at],
4
+ include: [:availability],
5
+ delegate_attributes: [:name, :sleeps, :sleeps_max, :bedrooms_count, :bathrooms_count, :surface]
6
+ end
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookingsync_portal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Marciniak
8
+ - Sebastien Grosjean
9
+ - Artur Krzeminski Freda
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2015-05-28 00:00:00.000000000 Z
13
+ date: 2015-07-31 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: rails
@@ -44,14 +46,14 @@ dependencies:
44
46
  requirements:
45
47
  - - "~>"
46
48
  - !ruby/object:Gem::Version
47
- version: 0.2.0
49
+ version: 0.3.1
48
50
  type: :runtime
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
54
  - - "~>"
53
55
  - !ruby/object:Gem::Version
54
- version: 0.2.0
56
+ version: 0.3.1
55
57
  - !ruby/object:Gem::Dependency
56
58
  name: jquery-rails
57
59
  requirement: !ruby/object:Gem::Requirement
@@ -304,9 +306,11 @@ dependencies:
304
306
  - - ">="
305
307
  - !ruby/object:Gem::Version
306
308
  version: '0'
307
- description: ''
309
+ description: A common base for creating BookingSync portal applications.
308
310
  email:
309
311
  - mandaryyyn@gmail.com
312
+ - dev@bookingsync.com
313
+ - artur@bookingsync.com
310
314
  executables: []
311
315
  extensions: []
312
316
  extra_rdoc_files: []
@@ -333,6 +337,8 @@ files:
333
337
  - app/helpers/bookingsync_portal/admin/rentals_helper.rb
334
338
  - app/models/bookingsync_portal/account.rb
335
339
  - app/models/bookingsync_portal/connection.rb
340
+ - app/models/bookingsync_portal/photo.rb
341
+ - app/models/bookingsync_portal/rate.rb
336
342
  - app/models/bookingsync_portal/remote_account.rb
337
343
  - app/models/bookingsync_portal/remote_rental.rb
338
344
  - app/models/bookingsync_portal/rental.rb
@@ -358,12 +364,21 @@ files:
358
364
  - db/migrate/20150222173711_create_remote_accounts.rb
359
365
  - db/migrate/20150222174023_create_remote_rentals.rb
360
366
  - db/migrate/20150222174234_create_connections.rb
367
+ - db/migrate/20150520134912_create_photos.rb
368
+ - db/migrate/20150521091056_create_rates.rb
361
369
  - lib/bookingsync_portal.rb
362
370
  - lib/bookingsync_portal/engine.rb
363
371
  - lib/bookingsync_portal/mash_serializer.rb
364
372
  - lib/bookingsync_portal/version.rb
365
373
  - lib/generators/bookingsync_portal/install_generator.rb
366
- - lib/generators/templates/bookingsync_portal.rb
374
+ - lib/generators/templates/initializers/bookingsync_portal.rb
375
+ - lib/generators/templates/models/account.rb
376
+ - lib/generators/templates/models/connection.rb
377
+ - lib/generators/templates/models/photo.rb
378
+ - lib/generators/templates/models/rate.rb
379
+ - lib/generators/templates/models/remote_account.rb
380
+ - lib/generators/templates/models/remote_rental.rb
381
+ - lib/generators/templates/models/rental.rb
367
382
  - lib/tasks/bookingsync_portal_tasks.rake
368
383
  homepage: https://github.com/BookingSync/bookingsync_portal
369
384
  licenses:
@@ -385,8 +400,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
385
400
  version: '0'
386
401
  requirements: []
387
402
  rubyforge_project:
388
- rubygems_version: 2.4.3
403
+ rubygems_version: 2.4.8
389
404
  signing_key:
390
405
  specification_version: 4
391
406
  summary: A common base for creating BookingSync portal applications.
392
407
  test_files: []
408
+ has_rdoc: